// Copyright 2014 The PDFium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com #ifndef FXJS_CJS_GLOBAL_H_ #define FXJS_CJS_GLOBAL_H_ #include <map> #include <memory> #include <vector> #include "core/fxcrt/span.h" #include "core/fxcrt/unowned_ptr.h" #include "fxjs/cfx_keyvalue.h" #include "fxjs/cjs_object.h" #include "fxjs/cjs_result.h" class CFX_GlobalData; // The CJS_Global object is not the V8 global object (i.e. it is not |this| // in JavaScript outside of a bound function call). It is a facility for // sharing data amongst documents and persisting data within a document // between sessions. It is only partially implemented due to security and // privacy concerns. It provides access via properties in the usual manner, // execpt that these are stored on the C++ side rather than in V8 itself. // It is a static object that is available as "global" property of the V8 // global object and can be manipulated from JavaScript as |global['foo']| // for example. class CJS_Global final : public CJS_Object { … }; #endif // FXJS_CJS_GLOBAL_H_