WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
Bug 109071
Rename isMainThread to isInWebCoreExecutionContext
https://bugs.webkit.org/show_bug.cgi?id=109071
Summary
Rename isMainThread to isInWebCoreExecutionContext
Pratik Solanki
Reported
2013-02-06 10:55:43 PST
When USE(WEB_THREAD) is defined, we can have WebCore running on main thread or web thread. We should rename isMainThread to be clearer.
Attachments
WIP patch for the EWS bots to chew on
(172.35 KB, patch)
2013-02-06 10:58 PST
,
Pratik Solanki
webkit.review.bot
: commit-queue-
Details
Formatted Diff
Diff
Take 2 for EWS
(172.83 KB, patch)
2013-02-06 12:21 PST
,
Pratik Solanki
abarth
: review-
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Pratik Solanki
Comment 1
2013-02-06 10:58:45 PST
Created
attachment 186877
[details]
WIP patch for the EWS bots to chew on First shot at the rename. Lets see what the EWS bots say.
WebKit Review Bot
Comment 2
2013-02-06 11:01:23 PST
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See
http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
WebKit Review Bot
Comment 3
2013-02-06 11:01:53 PST
Attachment 186877
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def', u'Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in', u'Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCoreExports.def', u'Source/JavaScriptCore/bytecode/SamplingTool.h', u'Source/JavaScriptCore/heap/HeapTimer.cpp', u'Source/WTF/wtf/MainThread.cpp', u'Source/WTF/wtf/MainThread.h', u'Source/WTF/wtf/mac/MainThreadMac.mm', u'Source/WTF/wtf/text/StringStatics.cpp', u'Source/WebCore/Modules/filesystem/LocalFileSystem.cpp', u'Source/WebCore/Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp', u'Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp', u'Source/WebCore/Modules/mediastream/MediaStreamRegistry.cpp', u'Source/WebCore/Modules/webaudio/AsyncAudioDecoder.cpp', u'Source/WebCore/Modules/webaudio/AudioBasicInspectorNode.cpp', u'Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp', u'Source/WebCore/Modules/webaudio/AudioContext.cpp', u'Source/WebCore/Modules/webaudio/AudioContext.h', u'Source/WebCore/Modules/webaudio/AudioNode.cpp', u'Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp', u'Source/WebCore/Modules/webaudio/ConvolverNode.cpp', u'Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp', u'Source/WebCore/Modules/webaudio/OfflineAudioDestinationNode.cpp', u'Source/WebCore/Modules/webaudio/OscillatorNode.cpp', u'Source/WebCore/Modules/webaudio/RealtimeAnalyser.cpp', u'Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp', u'Source/WebCore/Modules/webaudio/WaveShaperNode.cpp', u'Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp', u'Source/WebCore/bindings/js/DOMWrapperWorld.cpp', u'Source/WebCore/bindings/js/JSDOMWindowBase.cpp', u'Source/WebCore/bindings/js/JSInjectedScriptManager.cpp', u'Source/WebCore/bindings/js/JSMainThreadExecState.h', u'Source/WebCore/bindings/js/ScriptFunctionCall.cpp', u'Source/WebCore/bindings/objc/WebScriptObject.mm', u'Source/WebCore/bindings/v8/DOMDataStore.cpp', u'Source/WebCore/bindings/v8/DOMWrapperWorld.cpp', u'Source/WebCore/bindings/v8/V8GCController.cpp', u'Source/WebCore/bindings/v8/V8Initializer.cpp', u'Source/WebCore/bindings/v8/V8StringResource.cpp', u'Source/WebCore/dom/ContainerNode.h', u'Source/WebCore/dom/Document.cpp', u'Source/WebCore/dom/MutationObserver.cpp', u'Source/WebCore/dom/Node.h', u'Source/WebCore/dom/ScriptExecutionContext.cpp', u'Source/WebCore/fileapi/ThreadableBlobRegistry.cpp', u'Source/WebCore/html/DOMURL.cpp', u'Source/WebCore/html/parser/HTMLTreeBuilder.cpp', u'Source/WebCore/html/parser/XSSAuditor.cpp', u'Source/WebCore/html/parser/XSSAuditorDelegate.cpp', u'Source/WebCore/inspector/InspectorCounters.h', u'Source/WebCore/inspector/InstrumentingAgents.cpp', u'Source/WebCore/loader/CrossOriginPreflightResultCache.cpp', u'Source/WebCore/loader/ResourceLoadScheduler.cpp', u'Source/WebCore/loader/WorkerThreadableLoader.cpp', u'Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp', u'Source/WebCore/loader/cache/MemoryCache.cpp', u'Source/WebCore/loader/icon/IconDatabase.cpp', u'Source/WebCore/page/DOMWindow.cpp', u'Source/WebCore/page/History.cpp', u'Source/WebCore/page/MemoryInfo.cpp', u'Source/WebCore/page/SecurityPolicy.cpp', u'Source/WebCore/page/mac/EventHandlerMac.mm', u'Source/WebCore/page/scrolling/ScrollingCoordinator.cpp', u'Source/WebCore/page/scrolling/ScrollingTree.cpp', u'Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm', u'Source/WebCore/platform/MIMETypeRegistry.cpp', u'Source/WebCore/platform/ThreadGlobalData.cpp', u'Source/WebCore/platform/ThreadTimers.cpp', u'Source/WebCore/platform/TreeShared.h', u'Source/WebCore/platform/audio/HRTFDatabaseLoader.cpp', u'Source/WebCore/platform/chromium/support/WebMediaStreamSource.cpp', u'Source/WebCore/platform/efl/MIMETypeRegistryEfl.cpp', u'Source/WebCore/platform/graphics/Font.cpp', u'Source/WebCore/platform/graphics/FontFallbackList.h', u'Source/WebCore/platform/graphics/FontFastPath.cpp', u'Source/WebCore/platform/graphics/Image.cpp', u'Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp', u'Source/WebCore/platform/graphics/ca/mac/TileCache.mm', u'Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.mm', u'Source/WebCore/platform/graphics/ca/win/PlatformCALayerWinInternal.cpp', u'Source/WebCore/platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp', u'Source/WebCore/platform/graphics/cairo/GLContext.cpp', u'Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp', u'Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp', u'Source/WebCore/platform/graphics/mac/FontCacheMac.mm', u'Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm', u'Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp', u'Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp', u'Source/WebCore/platform/gtk/MIMETypeRegistryGtk.cpp', u'Source/WebCore/platform/mac/Language.mm', u'Source/WebCore/platform/mac/LocalizedStringsMac.cpp', u'Source/WebCore/platform/mac/MIMETypeRegistryMac.mm', u'Source/WebCore/platform/mac/WebCoreObjCExtras.mm', u'Source/WebCore/platform/mac/WebVideoFullscreenController.mm', u'Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp', u'Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.cpp', u'Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp', u'Source/WebCore/platform/network/BlobRegistryImpl.cpp', u'Source/WebCore/platform/network/ResourceHandle.cpp', u'Source/WebCore/platform/network/cf/CookieStorageCFNet.cpp', u'Source/WebCore/platform/network/cf/DNSCFNet.cpp', u'Source/WebCore/platform/network/cf/LoaderRunLoopCF.cpp', u'Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp', u'Source/WebCore/platform/network/cf/SocketStreamHandleCFNet.cpp', u'Source/WebCore/platform/network/chromium/BlobRegistryProxy.cpp', u'Source/WebCore/platform/network/soup/DNSSoup.cpp', u'Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp', u'Source/WebCore/platform/text/TextEncodingRegistry.cpp', u'Source/WebCore/platform/text/cf/StringImplCF.cpp', u'Source/WebCore/platform/win/LocalizedStringsWin.cpp', u'Source/WebCore/platform/win/MIMETypeRegistryWin.cpp', u'Source/WebCore/platform/wx/MimeTypeRegistryWx.cpp', u'Source/WebCore/storage/StorageAreaImpl.cpp', u'Source/WebCore/storage/StorageAreaSync.cpp', u'Source/WebCore/storage/StorageNamespaceImpl.cpp', u'Source/WebCore/storage/StorageSyncManager.cpp', u'Source/WebCore/storage/StorageThread.cpp', u'Source/WebCore/storage/StorageTracker.cpp', u'Source/WebCore/workers/SharedWorker.cpp', u'Source/WebCore/workers/Worker.cpp', u'Source/WebCore/workers/WorkerMessagingProxy.cpp', u'Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in', u'Source/WebKit/chromium/src/WebKit.cpp', u'Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.cpp', u'Source/WebKit/chromium/src/WorkerFileWriterCallbacksBridge.cpp', u'Source/WebKit/gtk/webkit/webkitfavicondatabase.cpp', u'Source/WebKit/mac/Misc/WebLocalizableStrings.mm', u'Source/WebKit/mac/Storage/WebDatabaseManagerClient.mm', u'Source/WebKit/mac/Storage/WebStorageTrackerClient.mm', u'Source/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm', u'Source/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp', u'Source/WebKit/win/WebDatabaseManager.cpp', u'Source/WebKit/win/WebKit.vcproj/WebKitExports.def.in', u'Source/WebKit/win/WebKit.vcproj/WebKit_Cairo.def', u'Source/WebKit/win/WebKit.vcproj/WebKit_Cairo_debug.def', u'Source/WebKit2/NetworkProcess/HostRecord.cpp', u'Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.cpp', u'Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp', u'Source/WebKit2/NetworkProcess/SchedulableLoader.h', u'Source/WebKit2/NetworkProcess/SyncNetworkResourceLoader.cpp', u'Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.mm', u'Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm', u'Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabase.cpp', u'Source/WebKit2/UIProcess/API/mac/WKPrintingView.mm', u'Source/WebKit2/UIProcess/WebProcessProxy.cpp', u'Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp', u'Source/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm', u'Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp', u'Tools/Scripts/do-webcore-rename']" exit_code: 1 Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:279: One or more unexpected \r (^M) found; better to use only a \n [whitespace/carriage_return] [1] Suppressing further [whitespace/carriage_return] reports for this file. Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp:343: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Total errors found: 2 in 149 files If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Review Bot
Comment 4
2013-02-06 11:29:49 PST
Comment on
attachment 186877
[details]
WIP patch for the EWS bots to chew on
Attachment 186877
[details]
did not pass cr-linux-debug-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/16395313
WebKit Review Bot
Comment 5
2013-02-06 11:36:42 PST
Comment on
attachment 186877
[details]
WIP patch for the EWS bots to chew on
Attachment 186877
[details]
did not pass chromium-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/16395316
Build Bot
Comment 6
2013-02-06 11:38:00 PST
Comment on
attachment 186877
[details]
WIP patch for the EWS bots to chew on
Attachment 186877
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://queues.webkit.org/results/16396301
Peter Beverloo (cr-android ews)
Comment 7
2013-02-06 12:02:19 PST
Comment on
attachment 186877
[details]
WIP patch for the EWS bots to chew on
Attachment 186877
[details]
did not pass cr-android-ews (chromium-android): Output:
http://queues.webkit.org/results/16401222
Pratik Solanki
Comment 8
2013-02-06 12:21:20 PST
Created
attachment 186893
[details]
Take 2 for EWS This fixes some compile issues and renames isMainThreadOrGCThread to isInWebCoreExecutionContextOrGCThread.
WebKit Review Bot
Comment 9
2013-02-06 12:28:30 PST
Attachment 186893
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def', u'Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in', u'Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCoreExports.def', u'Source/JavaScriptCore/bytecode/SamplingTool.h', u'Source/JavaScriptCore/heap/HeapTimer.cpp', u'Source/WTF/wtf/MainThread.cpp', u'Source/WTF/wtf/MainThread.h', u'Source/WTF/wtf/chromium/MainThreadChromium.cpp', u'Source/WTF/wtf/mac/MainThreadMac.mm', u'Source/WTF/wtf/text/StringStatics.cpp', u'Source/WebCore/Modules/filesystem/LocalFileSystem.cpp', u'Source/WebCore/Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp', u'Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp', u'Source/WebCore/Modules/mediastream/MediaStreamRegistry.cpp', u'Source/WebCore/Modules/webaudio/AsyncAudioDecoder.cpp', u'Source/WebCore/Modules/webaudio/AudioBasicInspectorNode.cpp', u'Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp', u'Source/WebCore/Modules/webaudio/AudioContext.cpp', u'Source/WebCore/Modules/webaudio/AudioContext.h', u'Source/WebCore/Modules/webaudio/AudioNode.cpp', u'Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp', u'Source/WebCore/Modules/webaudio/ConvolverNode.cpp', u'Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp', u'Source/WebCore/Modules/webaudio/OfflineAudioDestinationNode.cpp', u'Source/WebCore/Modules/webaudio/OscillatorNode.cpp', u'Source/WebCore/Modules/webaudio/RealtimeAnalyser.cpp', u'Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp', u'Source/WebCore/Modules/webaudio/WaveShaperNode.cpp', u'Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp', u'Source/WebCore/bindings/js/DOMWrapperWorld.cpp', u'Source/WebCore/bindings/js/JSDOMWindowBase.cpp', u'Source/WebCore/bindings/js/JSInjectedScriptManager.cpp', u'Source/WebCore/bindings/js/JSMainThreadExecState.h', u'Source/WebCore/bindings/js/ScriptFunctionCall.cpp', u'Source/WebCore/bindings/objc/WebScriptObject.mm', u'Source/WebCore/bindings/v8/DOMDataStore.cpp', u'Source/WebCore/bindings/v8/DOMWrapperWorld.cpp', u'Source/WebCore/bindings/v8/V8GCController.cpp', u'Source/WebCore/bindings/v8/V8Initializer.cpp', u'Source/WebCore/bindings/v8/V8StringResource.cpp', u'Source/WebCore/dom/ContainerNode.h', u'Source/WebCore/dom/Document.cpp', u'Source/WebCore/dom/MutationObserver.cpp', u'Source/WebCore/dom/Node.h', u'Source/WebCore/dom/ScriptExecutionContext.cpp', u'Source/WebCore/fileapi/ThreadableBlobRegistry.cpp', u'Source/WebCore/html/DOMURL.cpp', u'Source/WebCore/html/parser/HTMLTreeBuilder.cpp', u'Source/WebCore/html/parser/XSSAuditor.cpp', u'Source/WebCore/html/parser/XSSAuditorDelegate.cpp', u'Source/WebCore/inspector/InspectorCounters.h', u'Source/WebCore/inspector/InstrumentingAgents.cpp', u'Source/WebCore/loader/CrossOriginPreflightResultCache.cpp', u'Source/WebCore/loader/ResourceLoadScheduler.cpp', u'Source/WebCore/loader/WorkerThreadableLoader.cpp', u'Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp', u'Source/WebCore/loader/cache/MemoryCache.cpp', u'Source/WebCore/loader/icon/IconDatabase.cpp', u'Source/WebCore/page/DOMWindow.cpp', u'Source/WebCore/page/History.cpp', u'Source/WebCore/page/MemoryInfo.cpp', u'Source/WebCore/page/SecurityPolicy.cpp', u'Source/WebCore/page/mac/EventHandlerMac.mm', u'Source/WebCore/page/scrolling/ScrollingCoordinator.cpp', u'Source/WebCore/page/scrolling/ScrollingTree.cpp', u'Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm', u'Source/WebCore/platform/MIMETypeRegistry.cpp', u'Source/WebCore/platform/ThreadGlobalData.cpp', u'Source/WebCore/platform/ThreadTimers.cpp', u'Source/WebCore/platform/TreeShared.h', u'Source/WebCore/platform/audio/HRTFDatabaseLoader.cpp', u'Source/WebCore/platform/chromium/support/WebMediaStreamSource.cpp', u'Source/WebCore/platform/efl/MIMETypeRegistryEfl.cpp', u'Source/WebCore/platform/graphics/Font.cpp', u'Source/WebCore/platform/graphics/FontFallbackList.h', u'Source/WebCore/platform/graphics/FontFastPath.cpp', u'Source/WebCore/platform/graphics/Image.cpp', u'Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp', u'Source/WebCore/platform/graphics/ca/mac/TileCache.mm', u'Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.mm', u'Source/WebCore/platform/graphics/ca/win/PlatformCALayerWinInternal.cpp', u'Source/WebCore/platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp', u'Source/WebCore/platform/graphics/cairo/GLContext.cpp', u'Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp', u'Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp', u'Source/WebCore/platform/graphics/mac/FontCacheMac.mm', u'Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm', u'Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp', u'Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp', u'Source/WebCore/platform/gtk/MIMETypeRegistryGtk.cpp', u'Source/WebCore/platform/mac/Language.mm', u'Source/WebCore/platform/mac/LocalizedStringsMac.cpp', u'Source/WebCore/platform/mac/MIMETypeRegistryMac.mm', u'Source/WebCore/platform/mac/WebCoreObjCExtras.mm', u'Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp', u'Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.cpp', u'Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp', u'Source/WebCore/platform/network/BlobRegistryImpl.cpp', u'Source/WebCore/platform/network/ResourceHandle.cpp', u'Source/WebCore/platform/network/cf/CookieStorageCFNet.cpp', u'Source/WebCore/platform/network/cf/DNSCFNet.cpp', u'Source/WebCore/platform/network/cf/LoaderRunLoopCF.cpp', u'Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp', u'Source/WebCore/platform/network/cf/SocketStreamHandleCFNet.cpp', u'Source/WebCore/platform/network/chromium/BlobRegistryProxy.cpp', u'Source/WebCore/platform/network/soup/DNSSoup.cpp', u'Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp', u'Source/WebCore/platform/text/TextEncodingRegistry.cpp', u'Source/WebCore/platform/text/cf/StringImplCF.cpp', u'Source/WebCore/platform/win/LocalizedStringsWin.cpp', u'Source/WebCore/platform/win/MIMETypeRegistryWin.cpp', u'Source/WebCore/platform/wx/MimeTypeRegistryWx.cpp', u'Source/WebCore/storage/StorageAreaImpl.cpp', u'Source/WebCore/storage/StorageAreaSync.cpp', u'Source/WebCore/storage/StorageNamespaceImpl.cpp', u'Source/WebCore/storage/StorageSyncManager.cpp', u'Source/WebCore/storage/StorageThread.cpp', u'Source/WebCore/storage/StorageTracker.cpp', u'Source/WebCore/workers/SharedWorker.cpp', u'Source/WebCore/workers/Worker.cpp', u'Source/WebCore/workers/WorkerMessagingProxy.cpp', u'Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in', u'Source/WebKit/chromium/src/WebKit.cpp', u'Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.cpp', u'Source/WebKit/chromium/src/WorkerFileWriterCallbacksBridge.cpp', u'Source/WebKit/gtk/webkit/webkitfavicondatabase.cpp', u'Source/WebKit/mac/Misc/WebLocalizableStrings.mm', u'Source/WebKit/mac/Storage/WebDatabaseManagerClient.mm', u'Source/WebKit/mac/Storage/WebStorageTrackerClient.mm', u'Source/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm', u'Source/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp', u'Source/WebKit/win/WebDatabaseManager.cpp', u'Source/WebKit/win/WebKit.vcproj/WebKitExports.def.in', u'Source/WebKit/win/WebKit.vcproj/WebKit_Cairo.def', u'Source/WebKit/win/WebKit.vcproj/WebKit_Cairo_debug.def', u'Source/WebKit2/NetworkProcess/HostRecord.cpp', u'Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.cpp', u'Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp', u'Source/WebKit2/NetworkProcess/SchedulableLoader.h', u'Source/WebKit2/NetworkProcess/SyncNetworkResourceLoader.cpp', u'Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.mm', u'Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm', u'Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabase.cpp', u'Source/WebKit2/UIProcess/API/mac/WKPrintingView.mm', u'Source/WebKit2/UIProcess/WebProcessProxy.cpp', u'Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp', u'Source/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm', u'Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp', u'Tools/Scripts/do-webcore-rename']" exit_code: 1 Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:279: One or more unexpected \r (^M) found; better to use only a \n [whitespace/carriage_return] [1] Suppressing further [whitespace/carriage_return] reports for this file. Total errors found: 1 in 149 files If any of these errors are false positives, please file a bug against check-webkit-style.
Adam Barth
Comment 10
2013-02-06 12:29:13 PST
I'm not sure I understand this new threading model. Would you be willing to explain it on webkit-dev?
Eric Seidel (no email)
Comment 11
2013-02-06 12:52:02 PST
o_O
Adam Barth
Comment 12
2013-02-06 12:53:27 PST
Comment on
attachment 186893
[details]
Take 2 for EWS Pending resolution of
Comment #10
.
Alexey Proskuryakov
Comment 13
2013-02-06 14:38:22 PST
Can this be named isInWebCoreExecutionThread?
Benjamin Poulain
Comment 14
2013-02-06 14:41:36 PST
(In reply to
comment #10
)
> I'm not sure I understand this new threading model. Would you be willing to explain it on webkit-dev?
I know this looks a little scary, but there is really not much threading involved other than some message passing in the WebKit layer. :) There are two threads, one for WebKit (the Web Thread) and the main thread where the UI lives. The two threads can enter WebKit, but not simultaneously (locking at the event loop, not in WebCore). The biggest changes are really in assertions. Many of them assume WebCore runs in the main thread, while on iOS you can be either one of two threads. The change is mostly transparent for WebKit. Except assertions and a few details, the code runs just like on Mac. We want this to be mostly an implementation detail, not something people have to consider extensively when making changes. How do you suggest we can make this change as painless a possible?
Adam Barth
Comment 15
2013-02-06 15:46:45 PST
Maybe we should change what isMainThread means on iOS rather than renaming it everywhere? From WebCore's point of view, it sounds like there's still a main thread...
Pratik Solanki
Comment 16
2013-02-06 17:01:07 PST
(In reply to
comment #15
)
> Maybe we should change what isMainThread means on iOS rather than renaming it everywhere?
Sure. But that would have been confusing on iOS. Which is why we wanted to come up with a function name that works for both.
Pratik Solanki
Comment 17
2013-02-06 17:34:44 PST
Ok. So for the moment we will just change isMainThread to have an PLATFORM(IOS) part. It would be good to have a name for isMainThread that can work for both though. But that can be done later.
Adam Barth
Comment 18
2013-02-06 18:21:03 PST
Thanks. I think it's better to hide this information from WebCore as much as possible, including avoiding mysterious names like "WebCore execution context".
Darin Adler
Comment 19
2013-02-08 09:49:04 PST
(In reply to
comment #18
)
> I think it's better to hide this information from WebCore as much as possible, including avoiding mysterious names like "WebCore execution context".
Adam, I wish we could talk about this in person. I’m not sure I can do this justice in a bug comment. I do want to shield WebCore from confusing concepts, but I think we can make things better by making some change here. The issue is that there are two different concepts. A) One is checking that it’s safe to use single-threaded WebCore data structures. Today, we write this: ASSERT(isMainThread()); But iOS WebKit, one of the older WebKit ports, but one that’s not integrated in the repository yet, has a different policy. It would be good if there was a clearer way to indicate that we want to check whether we are on a thread where it’s safe to run WebKit. ASSERT(isSafeToAccessWebCoreDataStructures()); Or something brief and clear. B) The second concept is that there is a “main thread” and you can do things like run code on that main thread. This is a basic WTF concept, and not one defined at the higher WebCore level. Mechanically checking if this is the that special thread is different than asking if it’s safe to use WebCore data structures. I think it’s this concept (B) that deserves the name isMainThread(), not the first. The current way of doing our WebCore data structure assertions makes the intent unclear at many call sites because it’s too specific and mechanical. I think this new threading assertion might belong in some higher level than WTF, although I suppose that may be impractical because the “single thread WebCore” concept may indeed already be present at the WTF level.
Adam Barth
Comment 20
2013-02-08 09:54:51 PST
It's not clear to me that running WebCore on multiple interlocked threads is a good idea. That seems like a pretty major change to WebCore's architecture. Is that something that's up for discussion?
> ASSERT(isSafeToAccessWebCoreDataStructures());
The problem with names like these is that they're confusing. WebCore itself uses multiple threads (e.g., for databases, workers, and likely more things in the future). Those threads are also part of WebCore and have data structures. Presumably it's safe to access those WebCore data structures on background threads.
Darin Adler
Comment 21
2013-02-08 09:58:10 PST
(In reply to
comment #20
)
> It's not clear to me that running WebCore on multiple interlocked threads is a good idea. That seems like a pretty major change to WebCore's architecture. Is that something that's up for discussion?
I agree that it’s not something I’d do if I was starting a project now. In the iOS context, it’s fantastic for discussion as a possibly multi-year major architecture change, but if we take a hard line on this, then we won’t have the iOS port in the tree for years, and I think it would be good if we do. iOS WebKit has worked this way for the entire history of iPhone, so it’s not a change that can be made easily.
Darin Adler
Comment 22
2013-02-08 10:00:58 PST
(In reply to
comment #20
)
> > ASSERT(isSafeToAccessWebCoreDataStructures()); > > The problem with names like these is that they're confusing. WebCore itself uses multiple threads (e.g., for databases, workers, and likely more things in the future). Those threads are also part of WebCore and have data structures. Presumably it's safe to access those WebCore data structures on background threads.
I understand that it’s hard to find a good name for the concept. I understand that you are moving the WebCore threading model forward, too, and this might be an unwanted distraction during that process. That makes clear that this is a difficult problem to be solved. I think where you and I may differ is on whether a good solution to the problem would be valuable to the WebKit project. Is there some way I convince you of the value of fitting an important existing port of WebKit into our tree in as clean as possible a way?
Adam Barth
Comment 23
2013-02-08 13:44:40 PST
I replied on webkit-dev.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug