From dd3cb84cfbe8068790c6233b5829fae9c4a0ee93 Mon Sep 17 00:00:00 2001 From: Jamie Gennis Date: Fri, 19 Oct 2012 18:19:11 -0700 Subject: 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 --- include/gui/ISurfaceComposer.h | 6 ++---- include/gui/SurfaceComposerClient.h | 2 +- include/ui/DisplayInfo.h | 3 ++- 3 files changed, 5 insertions(+), 6 deletions(-) (limited to 'include') 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 createDisplay(const String8& displayName) = 0; + virtual sp 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& display, DisplayInfo* info) = 0; - - /* connects to an external display */ - virtual void connectDisplay(const sp& 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 createDisplay(const String8& displayName); + static sp 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; }; -- cgit v1.1