summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJamie Gennis <jgennis@google.com>2012-10-19 18:19:11 -0700
committerJamie Gennis <jgennis@google.com>2012-10-22 13:41:21 -0700
commitdd3cb84cfbe8068790c6233b5829fae9c4a0ee93 (patch)
tree366d14c7147f365dd47f85f418e262dec0427141 /include
parent60393d45207b6548e1f61ca104fa59aecee87d30 (diff)
downloadframeworks_native-dd3cb84cfbe8068790c6233b5829fae9c4a0ee93.zip
frameworks_native-dd3cb84cfbe8068790c6233b5829fae9c4a0ee93.tar.gz
frameworks_native-dd3cb84cfbe8068790c6233b5829fae9c4a0ee93.tar.bz2
SurfaceFlinger: add support for secure displays
This change adds support for displays that are not allowed to display surfaces with the eSecure flag set. All non-virtual displays are considered secure, while virtual displays have their secure-ness specified at creation time. Bug: 7368436 Change-Id: I81ad535d2d1e5a7ff78269017e85b111f0098500
Diffstat (limited to 'include')
-rw-r--r--include/gui/ISurfaceComposer.h6
-rw-r--r--include/gui/SurfaceComposerClient.h2
-rw-r--r--include/ui/DisplayInfo.h3
3 files changed, 5 insertions, 6 deletions
diff --git a/include/gui/ISurfaceComposer.h b/include/gui/ISurfaceComposer.h
index 002aafc..6500ad5 100644
--- a/include/gui/ISurfaceComposer.h
+++ b/include/gui/ISurfaceComposer.h
@@ -69,7 +69,8 @@ public:
/* create a display
* requires ACCESS_SURFACE_FLINGER permission.
*/
- virtual sp<IBinder> createDisplay(const String8& displayName) = 0;
+ virtual sp<IBinder> createDisplay(const String8& displayName,
+ bool secure) = 0;
/* get the token for the existing default displays. possible values
* for id are eDisplayIdMain and eDisplayIdHdmi.
@@ -108,9 +109,6 @@ public:
/* returns information about a display
* intended to be used to get information about built-in displays */
virtual status_t getDisplayInfo(const sp<IBinder>& display, DisplayInfo* info) = 0;
-
- /* connects to an external display */
- virtual void connectDisplay(const sp<ISurfaceTexture>& display) = 0;
};
// ----------------------------------------------------------------------------
diff --git a/include/gui/SurfaceComposerClient.h b/include/gui/SurfaceComposerClient.h
index 21d16a9..ae5d69a 100644
--- a/include/gui/SurfaceComposerClient.h
+++ b/include/gui/SurfaceComposerClient.h
@@ -86,7 +86,7 @@ public:
);
//! Create a display
- static sp<IBinder> createDisplay(const String8& displayName);
+ static sp<IBinder> createDisplay(const String8& displayName, bool secure);
//! Get the token for the existing default displays.
//! Possible values for id are eDisplayIdMain and eDisplayIdHdmi.
diff --git a/include/ui/DisplayInfo.h b/include/ui/DisplayInfo.h
index c7dc354..c3a4d6b 100644
--- a/include/ui/DisplayInfo.h
+++ b/include/ui/DisplayInfo.h
@@ -32,7 +32,8 @@ struct DisplayInfo {
float fps;
float density;
uint8_t orientation;
- uint8_t reserved[3];
+ bool secure;
+ uint8_t reserved[2];
// TODO: this needs to go away (currently needed only by webkit)
PixelFormatInfo pixelFormatInfo;
};