Changeset 286081 in webkit
- Timestamp:
- Nov 19, 2021, 2:41:30 PM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/Cocoa/ModelElementControllerCocoa.mm (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r286080 r286081 1 2021-11-19 Antoine Quint <graouts@webkit.org> 2 3 [Model] Reduce use of callOnMainRunLoop in ModelElementControllerCocoa 4 https://bugs.webkit.org/show_bug.cgi?id=233376 5 6 Reviewed by Wenson Hsieh. 7 8 We only need to use callOnMainRunLoop inside of blocks. 9 10 * UIProcess/Cocoa/ModelElementControllerCocoa.mm: 11 (WebKit::ModelElementController::getCameraForModelElement): 12 (WebKit::ModelElementController::setCameraForModelElement): 13 (WebKit::ModelElementController::isPlayingAnimationForModelElement): 14 (WebKit::ModelElementController::setAnimationIsPlayingForModelElement): 15 1 16 2021-11-19 Chris Dumez <cdumez@apple.com> 2 17 -
trunk/Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm
r286068 r286081 247 247 auto* preview = previewForModelIdentifier(modelIdentifier); 248 248 if (!previewHasCameraSupport(preview)) { 249 callOnMainRunLoop([weakThis = WeakPtr { *this }, completionHandler = WTFMove(completionHandler), error = WebCore::ResourceError { WebCore::ResourceError::Type::General }] () mutable { 250 if (weakThis) 251 completionHandler(makeUnexpected(error)); 252 }); 249 completionHandler(makeUnexpected(WebCore::ResourceError { WebCore::ResourceError::Type::General })); 253 250 return; 254 251 } … … 257 254 [preview getCameraTransform:makeBlockPtr([weakThis = WeakPtr { *this }, completionHandler = WTFMove(completionHandler)] (simd_float3 cameraTransform, NSError *error) mutable { 258 255 if (error) { 259 callOnMainRunLoop([weakThis = WTFMove(weakThis), completionHandler = WTFMove(completionHandler) , error = WebCore::ResourceError { WebCore::ResourceError::Type::General }] () mutable {256 callOnMainRunLoop([weakThis = WTFMove(weakThis), completionHandler = WTFMove(completionHandler)] () mutable { 260 257 if (weakThis) 261 completionHandler(makeUnexpected( error));258 completionHandler(makeUnexpected(WebCore::ResourceError { WebCore::ResourceError::Type::General })); 262 259 }); 263 260 return; … … 270 267 }).get()]; 271 268 #else 272 callOnMainRunLoop([weakThis = WeakPtr { *this }, completionHandler = WTFMove(completionHandler), error = WebCore::ResourceError { WebCore::ResourceError::Type::General }] () mutable { 273 if (weakThis) 274 completionHandler(makeUnexpected(error)); 275 }); 276 return; 269 ASSERT_NOT_REACHED(); 277 270 #endif 278 271 } … … 282 275 auto* preview = previewForModelIdentifier(modelIdentifier); 283 276 if (!previewHasCameraSupport(preview)) { 284 callOnMainRunLoop([weakThis = WeakPtr { *this }, completionHandler = WTFMove(completionHandler)] () mutable { 285 if (weakThis) 286 completionHandler(false); 287 }); 277 completionHandler(false); 288 278 return; 289 279 } … … 291 281 #if ENABLE(ARKIT_INLINE_PREVIEW_CAMERA_TRANSFORM) 292 282 [preview setCameraTransform:simd_make_float3(camera.pitch, camera.yaw, camera.scale)]; 293 #endif 294 295 callOnMainRunLoop([weakThis = WeakPtr { *this }, completionHandler = WTFMove(completionHandler)] () mutable { 296 if (weakThis) 297 #if ENABLE(ARKIT_INLINE_PREVIEW_CAMERA_TRANSFORM) 298 completionHandler(true); 299 #else 300 completionHandler(false); 301 #endif 302 }); 283 completionHandler(true); 284 #else 285 ASSERT_NOT_REACHED(); 286 #endif 303 287 } 304 288 … … 316 300 auto* preview = previewForModelIdentifier(modelIdentifier); 317 301 if (!previewHasAnimationSupport(preview)) { 318 callOnMainRunLoop([weakThis = WeakPtr { *this }, completionHandler = WTFMove(completionHandler), error = WebCore::ResourceError { WebCore::ResourceError::Type::General }] () mutable { 319 if (weakThis) 320 completionHandler(makeUnexpected(error)); 321 }); 322 return; 323 } 324 325 #if ENABLE(ARKIT_INLINE_PREVIEW_ANIMATIONS_CONTROL) 326 auto isPlaying = [preview isPlaying]; 327 #else 328 auto isPlaying = false; 329 #endif 330 callOnMainRunLoop([isPlaying, weakThis = WeakPtr { *this }, completionHandler = WTFMove(completionHandler)] () mutable { 331 if (weakThis) 332 completionHandler(isPlaying); 333 }); 302 completionHandler(makeUnexpected(WebCore::ResourceError { WebCore::ResourceError::Type::General })); 303 return; 304 } 305 306 #if ENABLE(ARKIT_INLINE_PREVIEW_ANIMATIONS_CONTROL) 307 completionHandler([preview isPlaying]); 308 #else 309 ASSERT_NOT_REACHED(); 310 #endif 334 311 } 335 312 … … 338 315 auto* preview = previewForModelIdentifier(modelIdentifier); 339 316 if (!previewHasAnimationSupport(preview)) { 340 callOnMainRunLoop([weakThis = WeakPtr { *this }, completionHandler = WTFMove(completionHandler)] () mutable { 341 if (weakThis) 342 completionHandler(false); 343 }); 317 completionHandler(false); 344 318 return; 345 319 } … … 353 327 }).get()]; 354 328 #else 355 callOnMainRunLoop([weakThis = WeakPtr { *this }, completionHandler = WTFMove(completionHandler)] () mutable { 356 if (weakThis) 357 completionHandler(false); 358 }); 329 ASSERT_NOT_REACHED(); 359 330 #endif 360 331 }
Note:
See TracChangeset
for help on using the changeset viewer.