Changeset 177459 in webkit
- Timestamp:
- Dec 17, 2014 1:19:21 PM (9 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r177455 r177459 1 2014-12-17 Joseph Pecoraro <pecoraro@apple.com> 2 3 Web Inspector: [Mac] Occosional Crashes Closing Inspector 4 https://bugs.webkit.org/show_bug.cgi?id=139740 5 6 Reviewed by Timothy Hatcher. 7 8 * UIProcess/WebPageProxy.cpp: 9 (WebKit::WebPageProxy::didReceiveEvent): 10 The WebPageProxy could have gotten destroyed in handling (e.g. keyboard shortcut 11 to close the Inspector Window), so protect the object to avoid destruction 12 during handling. 13 14 * UIProcess/WebInspectorProxy.h: 15 * UIProcess/WebPageProxy.cpp: 16 Add platformInvalidate opportunity for the platform to do invalidation work. 17 18 * UIProcess/efl/WebInspectorProxyEfl.cpp: 19 (WebKit::WebInspectorProxy::platformInvalidate): 20 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 21 (WebKit::WebInspectorProxy::platformInvalidate): 22 Empty implementations, these ports do not need to do anything. 23 24 * UIProcess/WebInspectorProxy.h: 25 * UIProcess/mac/WebInspectorProxyMac.mm: 26 (WebKit::WebInspectorProxy::closeTimerFired): 27 (WebKit::WebInspectorProxy::platformDidClose): 28 (WebKit::WebInspectorProxy::platformInvalidate): 29 When closing / invalidating make sure we close the WKView to clear client 30 for any delayed callbacks. 31 1 32 2014-12-17 Chris Dumez <cdumez@apple.com> 2 33 -
trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp
r174902 r177459 171 171 172 172 didClose(); 173 platformInvalidate(); 173 174 174 175 m_page = nullptr; -
trunk/Source/WebKit2/UIProcess/WebInspectorProxy.h
r174327 r177459 158 158 void platformOpen(); 159 159 void platformDidClose(); 160 void platformInvalidate(); 160 161 void platformBringToFront(); 161 162 void platformHide(); -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r177427 r177459 4220 4220 m_process->send(Messages::WebPage::KeyEvent(m_keyEventQueue.first()), m_pageID); 4221 4221 4222 // The call to doneWithKeyEvent may close this WebPage. 4223 // Protect against this being destroyed. 4224 Ref<WebPageProxy> protect(*this); 4225 4222 4226 m_pageClient.doneWithKeyEvent(event, handled); 4223 4227 if (handled) -
trunk/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp
r174820 r177459 143 143 } 144 144 145 void WebInspectorProxy::platformInvalidate() 146 { 147 } 148 145 149 void WebInspectorProxy::platformHide() 146 150 { -
trunk/Source/WebKit2/UIProcess/gtk/WebInspectorProxyGtk.cpp
r174327 r177459 169 169 } 170 170 171 void WebInspectorProxy::platformInvalidate() 172 { 173 } 174 171 175 void WebInspectorProxy::platformHide() 172 176 { -
trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm
r177309 r177459 292 292 return; 293 293 294 m_inspectorView = nil; 294 if (m_inspectorView) { 295 WebPageProxy* inspectorPage = toImpl(m_inspectorView.get().pageRef); 296 inspectorPage->close(); 297 m_inspectorView = nil; 298 } 295 299 296 300 [m_inspectorProxyObjCAdapter close]; … … 545 549 } 546 550 551 void WebInspectorProxy::platformInvalidate() 552 { 553 m_closeTimer.stop(); 554 555 closeTimerFired(); 556 } 557 547 558 void WebInspectorProxy::platformHide() 548 559 {
Note: See TracChangeset
for help on using the changeset viewer.