Bug 616127 - Prevent nsIFrame.h from being used from non-internal code. r+a=bz
authorBenjamin Smedberg <benjamin@smedbergs.us>
Wed, 01 Dec 2010 14:42:27 -0500
changeset 58487 57a6ec830cd465d84012835d109d5db561a14cd2
parent 58486 c0c537489cbf1de521f7f2b3ead3844c899e9fc1
child 58488 4661521b737c8d2208d8677b2927c48bd387ca2b
child 58490 40b718853f48f2b12802e6266004bc1ea35d28dd
push id17317
push userbsmedberg@mozilla.com
push dateThu, 02 Dec 2010 15:48:16 +0000
treeherdermozilla-central@57a6ec830cd4 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs616127
milestone2.0b8pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 616127 - Prevent nsIFrame.h from being used from non-internal code. r+a=bz
layout/generic/nsIFrame.h
--- a/layout/generic/nsIFrame.h
+++ b/layout/generic/nsIFrame.h
@@ -36,16 +36,20 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 /* interface for all rendering objects */
 
 #ifndef nsIFrame_h___
 #define nsIFrame_h___
 
+#ifndef MOZILLA_INTERNAL_API
+#error This header/class should only be used within Mozilla code. It should not be used by extensions.
+#endif
+
 /* nsIFrame is in the process of being deCOMtaminated, i.e., this file is eventually
    going to be eliminated, and all callers will use nsFrame instead.  At the moment
    we're midway through this process, so you will see inlined functions and member
    variables in this file.  -dwh */
 
 #include <stdio.h>
 #include "nsQueryFrame.h"
 #include "nsEvent.h"