Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Side by Side Diff: third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp

Issue 2011673002: [DevTools] Add notifyPopupOpeningObservers call before running debug loop (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010-2011 Google Inc. All rights reserved. 2 * Copyright (C) 2010-2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 HeapVector<Member<WebFrameWidgetImpl>> widgets; 189 HeapVector<Member<WebFrameWidgetImpl>> widgets;
190 190
191 // 1. Disable input events. 191 // 1. Disable input events.
192 const HashSet<WebViewImpl*>& viewImpls = WebViewImpl::allInstances(); 192 const HashSet<WebViewImpl*>& viewImpls = WebViewImpl::allInstances();
193 HashSet<WebViewImpl*>::const_iterator viewImplsEnd = viewImpls.end(); 193 HashSet<WebViewImpl*>::const_iterator viewImplsEnd = viewImpls.end();
194 for (HashSet<WebViewImpl*>::const_iterator it = viewImpls.begin(); it ! = viewImplsEnd; ++it) { 194 for (HashSet<WebViewImpl*>::const_iterator it = viewImpls.begin(); it ! = viewImplsEnd; ++it) {
195 WebViewImpl* view = *it; 195 WebViewImpl* view = *it;
196 m_frozenViews.add(view); 196 m_frozenViews.add(view);
197 views.append(view); 197 views.append(view);
198 view->setIgnoreInputEvents(true); 198 view->setIgnoreInputEvents(true);
199 if (Page* page = view->page())
200 page->chromeClient().willEnterDebugLoop();
199 } 201 }
200 202
201 const WebFrameWidgetsSet& widgetImpls = WebFrameWidgetImpl::allInstances (); 203 const WebFrameWidgetsSet& widgetImpls = WebFrameWidgetImpl::allInstances ();
202 WebFrameWidgetsSet::const_iterator widgetImplsEnd = widgetImpls.end(); 204 WebFrameWidgetsSet::const_iterator widgetImplsEnd = widgetImpls.end();
203 for (WebFrameWidgetsSet::const_iterator it = widgetImpls.begin(); it != widgetImplsEnd; ++it) { 205 for (WebFrameWidgetsSet::const_iterator it = widgetImpls.begin(); it != widgetImplsEnd; ++it) {
204 WebFrameWidgetImpl* widget = *it; 206 WebFrameWidgetImpl* widget = *it;
205 m_frozenWidgets.add(widget); 207 m_frozenWidgets.add(widget);
206 widgets.append(widget); 208 widgets.append(widget);
207 widget->setIgnoreInputEvents(true); 209 widget->setIgnoreInputEvents(true);
210 if (Page* page = widget->page())
211 page->chromeClient().willEnterDebugLoop();
208 } 212 }
209 213
210 // 2. Notify embedder about pausing. 214 // 2. Notify embedder about pausing.
211 agent->client()->willEnterDebugLoop(); 215 agent->client()->willEnterDebugLoop();
212 216
213 // 3. Disable active objects 217 // 3. Disable active objects
214 WebView::willEnterModalLoop(); 218 WebView::willEnterModalLoop();
215 219
216 // 4. Process messages until quitNow is called. 220 // 4. Process messages until quitNow is called.
217 m_messageLoop->run(); 221 m_messageLoop->run();
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after
672 bool WebDevToolsAgent::shouldInterruptForMethod(const WebString& method) 676 bool WebDevToolsAgent::shouldInterruptForMethod(const WebString& method)
673 { 677 {
674 return method == "Debugger.pause" 678 return method == "Debugger.pause"
675 || method == "Debugger.setBreakpoint" 679 || method == "Debugger.setBreakpoint"
676 || method == "Debugger.setBreakpointByUrl" 680 || method == "Debugger.setBreakpointByUrl"
677 || method == "Debugger.removeBreakpoint" 681 || method == "Debugger.removeBreakpoint"
678 || method == "Debugger.setBreakpointsActive"; 682 || method == "Debugger.setBreakpointsActive";
679 } 683 }
680 684
681 } // namespace blink 685 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698