Changeset 101418 in webkit
- Timestamp:
- Nov 29, 2011 1:33:55 PM (12 years ago)
- Location:
- trunk/Source/WebKit/chromium
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/chromium/ChangeLog
r101381 r101418 1 2011-11-28 Adam Klein <adamk@chromium.org> 2 3 [chromium] WebKitMutationObserver::deliverAllMutations should be exposed through the Chromium API 4 https://bugs.webkit.org/show_bug.cgi?id=71242 5 6 Reviewed by Darin Fisher. 7 8 Add addTaskObserver and removeTaskObserver to WebThread, 9 along with a new WebThread::TaskObserver interface. 10 11 For mutation observers, add a TaskObserver to the main thread 12 to deliver mutations after each task runs. 13 14 The Chromium side of this patch is http://codereview.chromium.org/8586038/ 15 16 * public/platform/WebThread.h: 17 (WebKit::WebThread::TaskObserver::~TaskObserver): 18 * src/WebKit.cpp: 19 (WebKit::initialize): 20 (WebKit::shutdown): 21 1 22 2011-11-29 Pavel Feldman <pfeldman@google.com> 2 23 -
trunk/Source/WebKit/chromium/public/platform/WebThread.h
r101224 r101418 44 44 }; 45 45 46 class TaskObserver { 47 public: 48 virtual ~TaskObserver() { } 49 virtual void didProcessTask() = 0; 50 }; 51 46 52 virtual void postTask(Task*) = 0; 47 53 virtual void postDelayedTask(Task*, long long delayMs) = 0; 54 virtual void addTaskObserver(TaskObserver*) { } 55 virtual void removeTaskObserver(TaskObserver*) { } 48 56 49 57 virtual ~WebThread() { } -
trunk/Source/WebKit/chromium/src/WebKit.cpp
r100370 r101418 40 40 #include "TextEncoding.h" 41 41 #include "V8Binding.h" 42 #include "WebKitMutationObserver.h" 42 43 #include "WebKitPlatformSupport.h" 43 44 #include "WebMediaPlayerClientImpl.h" 44 45 #include "WebSocket.h" 46 #include "WebThread.h" 45 47 #include "WorkerContextExecutionProxy.h" 46 48 #include "v8.h" … … 52 54 53 55 namespace WebKit { 56 57 #if ENABLE(MUTATION_OBSERVERS) 58 namespace { 59 60 class EndOfTaskRunner : public WebThread::TaskObserver { 61 public: 62 virtual void didProcessTask() 63 { 64 WebCore::WebKitMutationObserver::deliverAllMutations(); 65 } 66 }; 67 68 } // namespace 69 70 static WebThread::TaskObserver* s_endOfTaskRunner = 0; 71 #endif // ENABLE(MUTATION_OBSERVERS) 54 72 55 73 // Make sure we are not re-initialized in the same address space. … … 76 94 v8::V8::Initialize(); 77 95 WebCore::V8BindingPerIsolateData::ensureInitialized(v8::Isolate::GetCurrent()); 96 97 #if ENABLE(MUTATION_OBSERVERS) 98 ASSERT(!s_endOfTaskRunner); 99 s_endOfTaskRunner = new EndOfTaskRunner; 100 webKitPlatformSupport->currentThread()->addTaskObserver(s_endOfTaskRunner); 101 #endif 78 102 } 79 103 … … 108 132 delete WebCore::CCProxy::mainThread(); 109 133 WebCore::CCProxy::setMainThread(0); 134 #if ENABLE(MUTATION_OBSERVERS) 135 if (s_endOfTaskRunner) { 136 s_webKitPlatformSupport->currentThread()->removeTaskObserver(s_endOfTaskRunner); 137 delete s_endOfTaskRunner; 138 s_endOfTaskRunner = 0; 139 } 140 #endif 110 141 s_webKitPlatformSupport = 0; 111 142 }
Note: See TracChangeset
for help on using the changeset viewer.