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

Unified Diff: third_party/WebKit/Source/devtools/front_end/screencast/ScreencastApp.js

Issue 2672983002: [DevTools] Separate ScreenCaptureModel out of ResourceTreeModel. (Closed)
Patch Set: rebased Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/screencast/ScreencastApp.js
diff --git a/third_party/WebKit/Source/devtools/front_end/screencast/ScreencastApp.js b/third_party/WebKit/Source/devtools/front_end/screencast/ScreencastApp.js
index 61c91c9c091379fbb08045f6fa1f5f9ca77ab33d..7e844f7555ab4a38eb686a8e51a45c006a032946 100644
--- a/third_party/WebKit/Source/devtools/front_end/screencast/ScreencastApp.js
+++ b/third_party/WebKit/Source/devtools/front_end/screencast/ScreencastApp.js
@@ -3,7 +3,7 @@
// found in the LICENSE file.
/**
* @implements {Common.App}
- * @implements {SDK.TargetManager.Observer}
+ * @implements {SDK.SDKModelObserver<!SDK.ScreenCaptureModel>}
* @unrestricted
*/
Screencast.ScreencastApp = class {
@@ -11,8 +11,9 @@ Screencast.ScreencastApp = class {
this._enabledSetting = Common.settings.createSetting('screencastEnabled', true);
this._toggleButton = new UI.ToolbarToggle(Common.UIString('Toggle screencast'), 'largeicon-phone');
this._toggleButton.setToggled(this._enabledSetting.get());
+ this._toggleButton.setEnabled(false);
this._toggleButton.addEventListener(UI.ToolbarButton.Events.Click, this._toggleButtonClicked, this);
- SDK.targetManager.observeTargets(this);
+ SDK.targetManager.observeModels(SDK.ScreenCaptureModel, this);
}
/**
@@ -44,38 +45,31 @@ Screencast.ScreencastApp = class {
/**
* @override
- * @param {!SDK.Target} target
+ * @param {!SDK.ScreenCaptureModel} screenCaptureModel
*/
- targetAdded(target) {
- if (this._target)
+ modelAdded(screenCaptureModel) {
+ if (this._screenCaptureModel)
return;
- this._target = target;
-
- var resourceTreeModel = SDK.ResourceTreeModel.fromTarget(target);
- if (resourceTreeModel) {
- this._screencastView = new Screencast.ScreencastView(target, resourceTreeModel);
- this._rootSplitWidget.setMainWidget(this._screencastView);
- this._screencastView.initialize();
- } else {
- this._toggleButton.setEnabled(false);
- }
+ this._screenCaptureModel = screenCaptureModel;
+ this._toggleButton.setEnabled(true);
+ this._screencastView = new Screencast.ScreencastView(screenCaptureModel);
+ this._rootSplitWidget.setMainWidget(this._screencastView);
+ this._screencastView.initialize();
this._onScreencastEnabledChanged();
}
/**
* @override
- * @param {!SDK.Target} target
+ * @param {!SDK.ScreenCaptureModel} screenCaptureModel
*/
- targetRemoved(target) {
- if (this._target === target) {
- delete this._target;
- if (!this._screencastView)
- return;
- this._toggleButton.setEnabled(false);
- this._screencastView.detach();
- delete this._screencastView;
- this._onScreencastEnabledChanged();
- }
+ modelRemoved(screenCaptureModel) {
+ if (this._screenCaptureModel !== screenCaptureModel)
+ return;
+ delete this._screenCaptureModel;
+ this._toggleButton.setEnabled(false);
+ this._screencastView.detach();
+ delete this._screencastView;
+ this._onScreencastEnabledChanged();
}
_toggleButtonClicked() {

Powered by Google App Engine
This is Rietveld 408576698