summaryrefslogtreecommitdiff
path: root/chromium/ui/android/window_android_observer.h
blob: 4e97d2a51272a63686a3ee96ee7876e3b3ceba14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_ANDROID_WINDOW_ANDROID_OBSERVER_H_
#define UI_ANDROID_WINDOW_ANDROID_OBSERVER_H_

#include "ui/android/ui_android_export.h"

namespace ui {

class UI_ANDROID_EXPORT WindowAndroidObserver {
 public:
  virtual void OnCompositingDidCommit() = 0;
  virtual void OnRootWindowVisibilityChanged(bool visible) = 0;
  virtual void OnAttachCompositor() = 0;
  virtual void OnDetachCompositor() = 0;
  virtual void OnVSync(base::TimeTicks frame_time,
                       base::TimeDelta vsync_period) = 0;
  virtual void OnAnimate(base::TimeTicks frame_begin_time) {}

  // Note that activity state callbacks will only be made if the WindowAndroid
  // has been explicitly subscribed to receive them. The observer instance
  // should account for whether or not this is the case.
  virtual void OnActivityPaused() = 0;
  virtual void OnActivityResumed() = 0;

 protected:
  virtual ~WindowAndroidObserver() {}
};

}  // namespace ui

#endif  // UI_ANDROID_WINDOW_ANDROID_OBSERVER_H_