Age | Commit message (Collapse) | Author |
|
Code is mostly stolen from Chromium's scoped_ptr.
- Add unit tests.
- Use this to fix a leak.
BUG=chromium:531408
R=jyasskin@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1351383004 .
|
|
Reason for revert: embeddertests failed.
This reverts commit 70bc04b16646c92f221c5aa56831b01d6ec7c1ca.
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1358263004 .
|
|
Work on this was first performed on the XFA branch, since
it has additional requirements (FXJSE layer) that needed
to be accomodated by the solution.
(cherry picked from commit ed7b2b50aa1744e0bc5a60bef12c61fa91d863b7)
Original Review URL: https://codereview.chromium.org/1351173002 .
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1354593004 .
|
|
This avoids some custom linked-list code. Also note that
we use a local copy to be sure we removed the same thing
that was added no matter how our callees may muck with the
handler.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1352393003 .
|
|
std::unique_ptr supports move assignment as in:
ptr2 = std::move(ptr1);
R=jyasskin@chromium.org
Review URL: https://codereview.chromium.org/1358163002 .
|
|
Discovered with experimental Clang plugin that flags temporary objects
that are immediately destroyed.
patch from issue 1359063003 at patchset 1 (http://crrev.com/1359063003#ps1)
A=mdempsky@chromium.org
R=mdempsky@chromium.org
Review URL: https://codereview.chromium.org/1359103002 .
|
|
BUG=none
R=tsepez@chromium.org, jam@chromium.org, thestig@chromium.org
Review URL: https://codereview.chromium.org/1356323002 .
|
|
The Factory Design Pattern isn't buying us anything here over just new'ing
the object we want.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1360523004 .
|
|
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1349423006 .
|
|
Kill some now unused functions as a result.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1350703003 .
|
|
Not sure why building with gyp was working despite the missing '../' but
it wasn't working in stricter build systems.
BUG=
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1321293003.
|
|
Re-arrange things in the header so function overloads are
next to each other, and related things are near each other.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1348693003 .
|
|
Target v8 has:
'direct_dependent_settings': {
'defines': [
'V8_SHARED',
'USING_V8_SHARED',
],
},
For this to work, targets using v8 headers have to depend on v8
directly, else the V8_EXPORT macro won't work. Add a direct
dependency on v8.
BUG=none
TEST=do a debug component build of pdfium_embeddertests on Win,
should work without linker errors
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1349843002 .
|
|
Move header file includes when usage moved.
Windows-only section missing a ")".
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1349783003 .
|
|
Currently, its hard to tell which functions come from the JS_
layer at fpdfsdk/include/javascript vs. which functions come
from the FXJS_V8 layer at fpdfsdk/include/jsapi. Until we
take up the task of using namespaces, at least make the
prefix consistent.
Move objects out of FXJS_V8 that are really part of JS_.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1347833002 .
|
|
This was guarded by an assert, but the path is hit.
BUG=528015
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1345923002 .
|
|
R=thakis@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1330173002 .
|
|
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1345883003 .
|
|
MSVS can't figure out the value of strlen(kConstString) at compile time.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1342263002 .
|
|
The API is the same as the Foxit version, except the encoding is
specified as UTF-8 instead of local encoding.
Also remove CPDF_LWinParam since it's unused.
BUG=chromium:517713
R=jun_fang@foxitsoftware.com
Review URL: https://codereview.chromium.org/1335373002 .
|
|
Wrong parameter set to nullptr during one of the CL revisions.
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1344483005 .
|
|
This forces the layer defined by fxjs_v8.h to be (more)
self-contained, so that it can be tested apart from the
CJS_* objects (in fpdfsdk/{src,include}/javascript. This
implies the array buffer allocator must be part of fxjs_v8.
One wrinkle is that we'd like to be able to test an isolate
upon which no native objects have been added, so some
initialization that would have occurred as part of object
definition must be made explicit.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1338073002 .
|
|
|constexpr| not supported on windows.
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1347723002 .
|
|
R=jyasskin@chromium.org
Review URL: https://codereview.chromium.org/1338383002 .
|
|
- FX_Alloc() can't fail and return.
- Use unique_ptr / remove gotos.
- NULL -> nullptr.
- Combine common code.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1337823003 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1338573002 .
|
|
BUG=
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1329343002.
|
|
First part of getting rid of CJS_RuntimeFactory. The factory design
pattern isn't appropriate here since we only ever make one kind of
object.
CJS_GlobalData is now perfectly capable of managing itself through
internal ref counts. I'm philosophically opposed to keeping ref-counts
outside the object (do you hear me std::shared_ptr, you're bad!)
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1338993005 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1332193002 .
|
|
Also convert some FX_AllocOrDie() calls to FX_Alloc().
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1332173002 .
|
|
Replace multiple #defines of the same strings with externs.
Fix strings mangled by interaction of # and clang-format.
Remove macros as possible.
Make more JS_ functions void and simplify.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1342433002 .
|
|
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1335763002 .
|
|
Credit to karl at skomski.com for the initial version of the CL.
BUG=527174
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1305033006 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1326953006 .
|
|
It's too hard to keep mapping between v8 and fx abstractions; the lack
of transparency prevents those skilled in v8 only from working on this
code.
Apparently, the original intention was to confine v8 types to
fpdfsdk/{include,src}/jsapi, but fpdfsdk/{include,src}/javascript
is already well-polluted with v8 types.
Also remove no-op JS_SetThisObj().
Also remove unused ParserParams() [noticed because it was incorrectly
passing handles as pointers].
Also remove cast operator from CJS_Runtime and call GetIsolate()
explicitly.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1332973002 .
|
|
BUG=chromium:528376
R=ulan@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1337433002 .
|
|
At line 2026 in pdfsdk/src/javascript/PublicMethods.cpp,
the writer wants to perform type cast like line 2027 but
he made a mistake to make type conversion on m_pValue.
Even at line 2027, it's redundant to make type conversion.
The returned type of pContext->GetEventHandler() is
CJS_EventHandler*.
BUG=529310
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1325753007 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1314443007 .
|
|
Use two seperate loops to kill current focus annot and to release annots
in current page. Loop to kill current focus annot is run first, so it
will not access deleted annots.
BUG=507316
R=tsepez@chromium.org
TEST=Reproduction steps mentioned in issue 507316 should not crash
chrome.
Unit test added to pdfium.
Run pdfium_embeddertests.exe.
Review URL: https://codereview.chromium.org/1312313006 .
|
|
Upload pdf test files for codereview 1312313006.
BUG=507316
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1325533004 .
|
|
Some of the values returned are dubious; capture the
current state of affairs.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1317393003 .
|
|
BUG=pdfium:181
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1331633002 .
|
|
CPDF_Object::GetDict() always returns a valid pointer for dictionaries.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1317733007 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1316643004 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1327983003 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1319713003 .
|
|
BUG=522131
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1327913002 .
|
|
Fix for the pixel test failure on Windows from commit 870b5b6793fa.
Seems to work for me on Windows.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1312493006 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1328643002 .
|
|
They were lost in commit d53e6fd.
BUG=pdfium:168
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1196523002 .
|