Index: public/platform/WebRTCCertificate.h |
diff --git a/Source/core/timing/PerformanceCompositeTiming.h b/public/platform/WebRTCCertificate.h |
similarity index 52% |
copy from Source/core/timing/PerformanceCompositeTiming.h |
copy to public/platform/WebRTCCertificate.h |
index 976273518c1d4b9758df83c7de0fef1dd159bfc9..6167c38def1e44c7e8cd25d50cde43b6350a41c3 100644 |
--- a/Source/core/timing/PerformanceCompositeTiming.h |
+++ b/public/platform/WebRTCCertificate.h |
@@ -1,6 +1,5 @@ |
/* |
* Copyright (C) 2015 Google Inc. All rights reserved. |
- * Copyright (C) 2015 Intel Inc. All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions are |
@@ -29,40 +28,47 @@ |
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
-#ifndef PerformanceCompositeTiming_h |
-#define PerformanceCompositeTiming_h |
+#ifndef WebRTCCertificate_h |
+#define WebRTCCertificate_h |
-#include "core/timing/PerformanceEntry.h" |
-#include "platform/heap/Handle.h" |
-#include "wtf/Forward.h" |
-#include "wtf/text/WTFString.h" |
+#include "public/platform/WebCallbacks.h" |
+#include "public/platform/WebURL.h" |
+#include "wtf/Noncopyable.h" |
namespace blink { |
-class Document; |
- |
-class PerformanceCompositeTiming final : public PerformanceEntry { |
- DEFINE_WRAPPERTYPEINFO(); |
+// Interface defining what blink needs to know about certificates (abstracting away |
+// Chrome and WebRTC layer implementation details). You can create shallow copies of the |
+// WebRTCCertificate. When all copies are destroyed, the implementation-specific data must |
+// be freed. |
jochen (gone - plz use gerrit)
2015/09/15 08:04:19
why is this restriction required?
hbos_chromium
2015/09/21 16:12:22
See previous message about why the shallow copying
|
+class WebRTCCertificate { |
jochen (gone - plz use gerrit)
2015/09/15 08:04:19
should there be a method for getting the keyType?
hbos_chromium
2015/09/21 16:12:22
Done.
|
+ WTF_MAKE_NONCOPYABLE(WebRTCCertificate); |
public: |
- static PerformanceCompositeTiming* create(Document* requestingDocument, unsigned sourceFrame, double startTime) |
- { |
- return new PerformanceCompositeTiming(requestingDocument, sourceFrame, startTime); |
- } |
- |
- unsigned sourceFrame() const; |
+ WebRTCCertificate() = default; |
+ virtual ~WebRTCCertificate() = default; |
- bool isComposite() override { return true; } |
+ // Copies the WebRTCCertificate object without copying the underlying |
+ // implementation-specific (WebRTC layer) certificate. When all copies are destroyed |
+ // the underlying data is freed. |
+ virtual WebRTCCertificate* shallowCopy() const = 0; |
jochen (gone - plz use gerrit)
2015/09/15 08:04:19
does it matter that it's a shallow copy?
hbos_chromium
2015/09/21 16:12:22
(Originals and shallow copies are "equals". Beside
|
- DECLARE_VIRTUAL_TRACE(); |
+ virtual double expires() const = 0; |
jochen (gone - plz use gerrit)
2015/09/15 08:04:19
it's unclear what this should return. please add a
hbos_chromium
2015/09/21 16:12:22
Keeping the name due to the specs so that everythi
|
+}; |
-private: |
- PerformanceCompositeTiming(Document* requestingDocument, unsigned sourceFrame, double startTime); |
- ~PerformanceCompositeTiming() override; |
+// Interface defining a class that can generate WebRTCCertificates asynchronously. |
+class WebRTCCertificateGenerator { |
jochen (gone - plz use gerrit)
2015/09/15 08:04:19
please move this class to a separate header
hbos_chromium
2015/09/21 16:12:22
Done.
|
+public: |
+ virtual ~WebRTCCertificateGenerator() { } |
- unsigned m_sourceFrame; |
- RefPtrWillBeMember<Document> m_requestingDocument; |
+ // Start generating a certificate. The observer's onGenerateComplete is called when |
+ // the asynchronous operation finished (whether or not successful). |
+ virtual void generateCertificate( |
+ int keyType, |
jochen (gone - plz use gerrit)
2015/09/15 08:04:19
should be an enum? (which in turn should live in i
hbos_chromium
2015/09/21 16:12:22
Moved to new file and changed to parameterizable c
|
+ const WebURL& /*url*/, |
+ const WebURL& /*firstPartyForCookies*/, |
+ WebCallbacks<WebRTCCertificate*, void>* observer) = 0; |
}; |
} // namespace blink |
-#endif // PerformanceCompositeTiming_h |
+#endif // WebRTCCertificate_h |