Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1035)

Unified Diff: fpdfsdk/src/javascript/color.cpp

Issue 1394103002: Wean CJS_Value off of v8::Isolate. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: fpdfsdk/src/javascript/color.cpp
diff --git a/fpdfsdk/src/javascript/color.cpp b/fpdfsdk/src/javascript/color.cpp
index 791785a62635a7492bcac37ee1e71a313836f70f..515548e1ac3b1ec907d103253c9d405106028018 100644
--- a/fpdfsdk/src/javascript/color.cpp
+++ b/fpdfsdk/src/javascript/color.cpp
@@ -14,15 +14,6 @@
#include "JS_Context.h"
#include "JS_Runtime.h"
-static v8::Isolate* GetIsolate(IJS_Context* cc) {
- CJS_Context* pContext = (CJS_Context*)cc;
- ASSERT(pContext != NULL);
-
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
- ASSERT(pRuntime != NULL);
-
- return pRuntime->GetIsolate();
-}
/* -------------------------- color -------------------------- */
BEGIN_JS_STATIC_CONST(CJS_Color)
@@ -71,24 +62,24 @@ color::~color() {
void color::ConvertPWLColorToArray(const CPWL_Color& color, CJS_Array& array) {
switch (color.nColorType) {
case COLORTYPE_TRANSPARENT:
- array.SetElement(0, CJS_Value(array.GetIsolate(), "T"));
+ array.SetElement(0, CJS_Value(array.GetJSRuntime(), "T"));
break;
case COLORTYPE_GRAY:
- array.SetElement(0, CJS_Value(array.GetIsolate(), "G"));
- array.SetElement(1, CJS_Value(array.GetIsolate(), color.fColor1));
+ array.SetElement(0, CJS_Value(array.GetJSRuntime(), "G"));
+ array.SetElement(1, CJS_Value(array.GetJSRuntime(), color.fColor1));
break;
case COLORTYPE_RGB:
- array.SetElement(0, CJS_Value(array.GetIsolate(), "RGB"));
- array.SetElement(1, CJS_Value(array.GetIsolate(), color.fColor1));
- array.SetElement(2, CJS_Value(array.GetIsolate(), color.fColor2));
- array.SetElement(3, CJS_Value(array.GetIsolate(), color.fColor3));
+ array.SetElement(0, CJS_Value(array.GetJSRuntime(), "RGB"));
+ array.SetElement(1, CJS_Value(array.GetJSRuntime(), color.fColor1));
+ array.SetElement(2, CJS_Value(array.GetJSRuntime(), color.fColor2));
+ array.SetElement(3, CJS_Value(array.GetJSRuntime(), color.fColor3));
break;
case COLORTYPE_CMYK:
- array.SetElement(0, CJS_Value(array.GetIsolate(), "CMYK"));
- array.SetElement(1, CJS_Value(array.GetIsolate(), color.fColor1));
- array.SetElement(2, CJS_Value(array.GetIsolate(), color.fColor2));
- array.SetElement(3, CJS_Value(array.GetIsolate(), color.fColor3));
- array.SetElement(4, CJS_Value(array.GetIsolate(), color.fColor4));
+ array.SetElement(0, CJS_Value(array.GetJSRuntime(), "CMYK"));
+ array.SetElement(1, CJS_Value(array.GetJSRuntime(), color.fColor1));
+ array.SetElement(2, CJS_Value(array.GetJSRuntime(), color.fColor2));
+ array.SetElement(3, CJS_Value(array.GetJSRuntime(), color.fColor3));
+ array.SetElement(4, CJS_Value(array.GetJSRuntime(), color.fColor4));
break;
}
}
@@ -98,7 +89,7 @@ void color::ConvertArrayToPWLColor(CJS_Array& array, CPWL_Color& color) {
if (nArrayLen < 1)
return;
- CJS_Value value(array.GetIsolate());
+ CJS_Value value(array.GetJSRuntime());
array.GetElement(0, value);
CFX_ByteString sSpace = value.ToCFXByteString();
@@ -139,22 +130,20 @@ void color::ConvertArrayToPWLColor(CJS_Array& array, CPWL_Color& color) {
}
}
-#define JS_IMPLEMENT_COLORPROP(prop, var) \
- FX_BOOL color::prop(IJS_Context* cc, CJS_PropValue& vp, \
- CFX_WideString& sError) { \
- CJS_Context* pContext = (CJS_Context*)cc; \
- v8::Isolate* isolate = pContext->GetJSRuntime()->GetIsolate(); \
- if (vp.IsGetting()) { \
- CJS_Array array(isolate); \
- ConvertPWLColorToArray(var, array); \
- vp << array; \
- } else { \
- CJS_Array array(isolate); \
- if (!vp.ConvertToArray(array)) \
- return FALSE; \
- ConvertArrayToPWLColor(array, var); \
- } \
- return TRUE; \
+#define JS_IMPLEMENT_COLORPROP(prop, var) \
+ FX_BOOL color::prop(IJS_Context* cc, CJS_PropValue& vp, \
+ CFX_WideString& sError) { \
+ CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); \
+ CJS_Array array(pRuntime); \
+ if (vp.IsGetting()) { \
+ ConvertPWLColorToArray(var, array); \
+ vp << array; \
+ } else { \
+ if (!vp.ConvertToArray(array)) \
+ return FALSE; \
+ ConvertArrayToPWLColor(array, var); \
+ } \
+ return TRUE; \
}
JS_IMPLEMENT_COLORPROP(transparent, m_crTransparent)
@@ -174,11 +163,12 @@ FX_BOOL color::convert(IJS_Context* cc,
const CJS_Parameters& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- v8::Isolate* isolate = GetIsolate(cc);
int iSize = params.size();
if (iSize < 2)
return FALSE;
- CJS_Array aSource(isolate);
+
+ CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Array aSource(pRuntime);
if (!params[0].ConvertToArray(aSource))
return FALSE;
@@ -198,7 +188,7 @@ FX_BOOL color::convert(IJS_Context* cc,
nColorType = COLORTYPE_CMYK;
}
- CJS_Array aDest(isolate);
+ CJS_Array aDest(pRuntime);
CPWL_Color crDest = crSource;
crDest.ConvertColorType(nColorType);
ConvertPWLColorToArray(crDest, aDest);
@@ -211,12 +201,12 @@ FX_BOOL color::equal(IJS_Context* cc,
const CJS_Parameters& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- v8::Isolate* isolate = GetIsolate(cc);
if (params.size() < 2)
return FALSE;
- CJS_Array array1(isolate), array2(isolate);
-
+ CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Array array1(pRuntime);
+ CJS_Array array2(pRuntime);
if (!params[0].ConvertToArray(array1))
return FALSE;
if (!params[1].ConvertToArray(array2))
@@ -224,12 +214,9 @@ FX_BOOL color::equal(IJS_Context* cc,
CPWL_Color color1;
CPWL_Color color2;
-
ConvertArrayToPWLColor(array1, color1);
ConvertArrayToPWLColor(array2, color2);
-
color1.ConvertColorType(color2.nColorType);
-
vRet = color1 == color2;
return TRUE;
}

Powered by Google App Engine
This is Rietveld 408576698