Backed out changeset 9d34172f942f
authorTaras Glek <tglek@mozilla.com>
Wed, 18 Mar 2009 10:20:50 -0700
changeset 26313 6e6d0d7d5e55e3e13087558bcdadf5e49af259f9
parent 26312 9d34172f942f8bb2732458e822e622d85cc208b6
child 26314 4bb6d29863d0634c292fc0efee6053c6c33bd6da
push idunknown
push userunknown
push dateunknown
milestone1.9.2a1pre
backs out9d34172f942f8bb2732458e822e622d85cc208b6
Backed out changeset 9d34172f942f
gfx/idl/nsIScriptableRegion.idl
gfx/src/Makefile.in
gfx/src/nsScriptableRegion.cpp
gfx/src/nsScriptableRegion.h
--- a/gfx/idl/nsIScriptableRegion.idl
+++ b/gfx/idl/nsIScriptableRegion.idl
@@ -41,17 +41,17 @@
 
 %{C++
 class nsIRegion;
 %}
 
 [ptr] native nsIRegion(nsIRegion);
 
 
-[scriptable, uuid(4d179656-a5bd-42a6-a937-c81f820dcf2f)]
+[scriptable, uuid(82d8f400-5bde-11d3-b033-b27a62766bbc)]
 interface nsIScriptableRegion : nsISupports
 {
   void init ( ) ;
 
   /**
   * copy operator equivalent that takes another region
   *
   * @param      region to copy
@@ -183,23 +183,16 @@ interface nsIScriptableRegion : nsISuppo
   * @param  xoffset  pixel offset in x
   * @param  yoffset  pixel offset in y
   * @return          void
   *
   **/
   void offset ( in long aXOffset, in long aYOffset ) ;
 
   /**
-   * @return null if there are no rects,
-   * @return flat array of rects,ie [x1,y1,width1,height1,x2...].
-   * The result will contain bogus data if values don't fit in 31 bit
-   **/
-  void getRects();
-
-  /**
   * does the region intersect the rectangle?
   *
   * @param      rect to check for containment
   * @return     true if the region intersects the rect
   *
   **/
 
   boolean containsRect ( in long aX, in long aY, in long aWidth, in long aHeight ) ;
--- a/gfx/src/Makefile.in
+++ b/gfx/src/Makefile.in
@@ -50,18 +50,16 @@ LIBXUL_LIBRARY = 1
 
 REQUIRES	= xpcom \
 		  string \
 		  widget \
 		  locale \
 		  view \
 		  unicharutil \
 		  thebes \
-		  js \
-		  xpconnect \
 		  $(NULL)
 
 DIRS        = shared thebes
 
 ifdef MOZ_ENABLE_POSTSCRIPT
 DIRS        += psshared
 endif
 
--- a/gfx/src/nsScriptableRegion.cpp
+++ b/gfx/src/nsScriptableRegion.cpp
@@ -17,50 +17,44 @@
  *
  * The Initial Developer of the Original Code is
  * Netscape Communications Corp.
  * Portions created by the Initial Developer are Copyright (C) 1999
  * the Initial Developer. All Rights Reserved.
  *
  * Contributor(s):
  *   Patrick Beard
- *   Taras Glek
  *
  * Alternatively, the contents of this file may be used under the terms of
  * either of the GNU General Public License Version 2 or later (the "GPL"),
  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  * in which case the provisions of the GPL or the LGPL are applicable instead
  * of those above. If you wish to allow use of your version of this file only
  * under the terms of either the GPL or the LGPL, and not to allow others to
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsScriptableRegion.h"
+#include "nsIRegion.h"
 #include "nsCOMPtr.h"
-#include "nsIXPConnect.h"
-#include "nsServiceManagerUtils.h"
-#include "jsapi.h"
 
-nsScriptableRegion::nsScriptableRegion(nsIRegion* region) : mRegion(nsnull), mRectSet(nsnull)
+nsScriptableRegion::nsScriptableRegion(nsIRegion* region) : mRegion(nsnull)
 {
 	mRegion = region;
 	NS_IF_ADDREF(mRegion);
 }
 
 nsScriptableRegion::~nsScriptableRegion()
 {
-  if (mRegion) {
-    mRegion->FreeRects(mRectSet);
-    NS_RELEASE(mRegion);
-  }
+	NS_IF_RELEASE(mRegion);
 }
 
 NS_IMPL_ISUPPORTS1(nsScriptableRegion, nsIScriptableRegion)
 
 NS_IMETHODIMP nsScriptableRegion::Init()
 {
 	return mRegion->Init();
 }
@@ -150,55 +144,8 @@ NS_IMETHODIMP nsScriptableRegion::Contai
 
 
 NS_IMETHODIMP nsScriptableRegion::GetRegion(nsIRegion** outRgn)
 {
   *outRgn = mRegion;
   NS_IF_ADDREF(*outRgn);
   return NS_OK;
 }
-
-NS_IMETHODIMP nsScriptableRegion::GetRects() {
-  nsAXPCNativeCallContext *ncc = nsnull;
-  nsIXPConnect *xpConnect;
-  nsresult rv = CallGetService(nsIXPConnect::GetCID(), &xpConnect);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  rv = xpConnect->GetCurrentNativeCallContext(&ncc);
-  NS_ENSURE_SUCCESS(rv, rv);
-  
-  if (!ncc)
-    return NS_ERROR_FAILURE;
-  
-  jsval *retvalPtr;
-  ncc->GetRetValPtr(&retvalPtr);
-  
-  rv = mRegion->GetRects(&mRectSet);
-  NS_ENSURE_SUCCESS(rv, rv);
-  
-  if (!mRectSet->mNumRects) {
-    *retvalPtr = JSVAL_NULL;
-    ncc->SetReturnValueWasSet(PR_TRUE);
-    return NS_OK;
-  }
-
-  JSContext *cx = nsnull;
-  
-  rv = ncc->GetJSContext(&cx);
-  NS_ENSURE_SUCCESS(rv, rv);
-  
-  JSObject *destArray = JS_NewArrayObject(cx, mRectSet->mNumRects*4, NULL);
-  *retvalPtr = OBJECT_TO_JSVAL(destArray);
-  ncc->SetReturnValueWasSet(PR_TRUE);
-  
-  for(PRUint32 i = 0; i < mRectSet->mNumRects; i++) {
-    nsRegionRect &rect = mRectSet->mRects[i];
-    int n = i*4;
-    // This will contain bogus data if values don't fit in 31 bit
-    JS_DefineElement(cx, destArray, n, INT_TO_JSVAL(rect.x), NULL, NULL, JSPROP_ENUMERATE);
-    JS_DefineElement(cx, destArray, n+1, INT_TO_JSVAL(rect.y), NULL, NULL, JSPROP_ENUMERATE);
-    JS_DefineElement(cx, destArray, n+2, INT_TO_JSVAL(rect.width), NULL, NULL, JSPROP_ENUMERATE);
-    JS_DefineElement(cx, destArray, n+3, INT_TO_JSVAL(rect.height), NULL, NULL, JSPROP_ENUMERATE);
-  }
-
-  NS_ENSURE_SUCCESS(rv, rv);
-  return NS_OK;
-}
--- a/gfx/src/nsScriptableRegion.h
+++ b/gfx/src/nsScriptableRegion.h
@@ -34,17 +34,16 @@
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIScriptableRegion.h"
 #include "gfxCore.h"
-#include "nsIRegion.h"
 
 class nsIRegion;
 
 /**
  * An adapter class for the unscriptable nsIRegion interface.
  */
 class NS_GFX nsScriptableRegion : public nsIScriptableRegion {
 public:
@@ -52,10 +51,9 @@ public:
 	virtual ~nsScriptableRegion();
 	
 	NS_DECL_ISUPPORTS
 
 	NS_DECL_NSISCRIPTABLEREGION
 
 private:
 	nsIRegion* mRegion;
-	nsRegionRectSet *mRectSet;
 };