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

Side by Side Diff: xfa/fxfa/parser/cscript_layoutpseudomodel.cpp

Issue 2323523002: Remove unused code in CPDFXFA_Document (Closed)
Patch Set: Review feedback Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "xfa/fxfa/parser/cscript_layoutpseudomodel.h" 7 #include "xfa/fxfa/parser/cscript_layoutpseudomodel.h"
8 8
9 #include <set> 9 #include <set>
10 10
(...skipping 27 matching lines...) Expand all
38 if (!pNotify) { 38 if (!pNotify) {
39 return; 39 return;
40 } 40 }
41 if (bSetting) { 41 if (bSetting) {
42 ThrowException(XFA_IDS_UNABLE_SET_READY); 42 ThrowException(XFA_IDS_UNABLE_SET_READY);
43 return; 43 return;
44 } 44 }
45 int32_t iStatus = pNotify->GetLayoutStatus(); 45 int32_t iStatus = pNotify->GetLayoutStatus();
46 pValue->SetBoolean(iStatus >= 2); 46 pValue->SetBoolean(iStatus >= 2);
47 } 47 }
48
48 void CScript_LayoutPseudoModel::HWXY(CFXJSE_Arguments* pArguments, 49 void CScript_LayoutPseudoModel::HWXY(CFXJSE_Arguments* pArguments,
49 XFA_LAYOUTMODEL_HWXY layoutModel) { 50 XFA_LAYOUTMODEL_HWXY layoutModel) {
50 int32_t iLength = pArguments->GetLength(); 51 int32_t iLength = pArguments->GetLength();
51 if (iLength < 1 || iLength > 3) { 52 if (iLength < 1 || iLength > 3) {
52 const FX_WCHAR* methodName = nullptr; 53 const FX_WCHAR* methodName = nullptr;
53 switch (layoutModel) { 54 switch (layoutModel) {
54 case XFA_LAYOUTMODEL_H: 55 case XFA_LAYOUTMODEL_H:
55 methodName = L"h"; 56 methodName = L"h";
56 break; 57 break;
57 case XFA_LAYOUTMODEL_W: 58 case XFA_LAYOUTMODEL_W:
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 case XFA_LAYOUTMODEL_Y: 119 case XFA_LAYOUTMODEL_Y:
119 measure.Set(rtRect.top, XFA_UNIT_Pt); 120 measure.Set(rtRect.top, XFA_UNIT_Pt);
120 break; 121 break;
121 } 122 }
122 XFA_UNIT unit = measure.GetUnit(wsUnit.AsStringC()); 123 XFA_UNIT unit = measure.GetUnit(wsUnit.AsStringC());
123 FX_FLOAT fValue = measure.ToUnit(unit); 124 FX_FLOAT fValue = measure.ToUnit(unit);
124 fValue = FXSYS_round(fValue * 1000) / 1000.0f; 125 fValue = FXSYS_round(fValue * 1000) / 1000.0f;
125 if (pValue) 126 if (pValue)
126 pValue->SetFloat(fValue); 127 pValue->SetFloat(fValue);
127 } 128 }
129
128 void CScript_LayoutPseudoModel::H(CFXJSE_Arguments* pArguments) { 130 void CScript_LayoutPseudoModel::H(CFXJSE_Arguments* pArguments) {
129 HWXY(pArguments, XFA_LAYOUTMODEL_H); 131 HWXY(pArguments, XFA_LAYOUTMODEL_H);
130 } 132 }
133
131 void CScript_LayoutPseudoModel::W(CFXJSE_Arguments* pArguments) { 134 void CScript_LayoutPseudoModel::W(CFXJSE_Arguments* pArguments) {
132 HWXY(pArguments, XFA_LAYOUTMODEL_W); 135 HWXY(pArguments, XFA_LAYOUTMODEL_W);
133 } 136 }
137
134 void CScript_LayoutPseudoModel::X(CFXJSE_Arguments* pArguments) { 138 void CScript_LayoutPseudoModel::X(CFXJSE_Arguments* pArguments) {
135 HWXY(pArguments, XFA_LAYOUTMODEL_X); 139 HWXY(pArguments, XFA_LAYOUTMODEL_X);
136 } 140 }
141
137 void CScript_LayoutPseudoModel::Y(CFXJSE_Arguments* pArguments) { 142 void CScript_LayoutPseudoModel::Y(CFXJSE_Arguments* pArguments) {
138 HWXY(pArguments, XFA_LAYOUTMODEL_Y); 143 HWXY(pArguments, XFA_LAYOUTMODEL_Y);
139 } 144 }
145
140 void CScript_LayoutPseudoModel::NumberedPageCount(CFXJSE_Arguments* pArguments, 146 void CScript_LayoutPseudoModel::NumberedPageCount(CFXJSE_Arguments* pArguments,
141 FX_BOOL bNumbered) { 147 FX_BOOL bNumbered) {
142 CXFA_LayoutProcessor* pDocLayout = m_pDocument->GetDocLayout(); 148 CXFA_LayoutProcessor* pDocLayout = m_pDocument->GetDocLayout();
143 if (!pDocLayout) { 149 if (!pDocLayout) {
144 return; 150 return;
145 } 151 }
146 int32_t iPageCount = 0; 152 int32_t iPageCount = 0;
147 int32_t iPageNum = pDocLayout->CountPages(); 153 int32_t iPageNum = pDocLayout->CountPages();
148 if (bNumbered) { 154 if (bNumbered) {
149 for (int32_t i = 0; i < iPageNum; i++) { 155 for (int32_t i = 0; i < iPageNum; i++) {
150 CXFA_ContainerLayoutItem* pLayoutPage = pDocLayout->GetPage(i); 156 CXFA_ContainerLayoutItem* pLayoutPage = pDocLayout->GetPage(i);
151 if (!pLayoutPage) { 157 if (!pLayoutPage) {
152 continue; 158 continue;
153 } 159 }
154 CXFA_Node* pMasterPage = pLayoutPage->GetMasterPage(); 160 CXFA_Node* pMasterPage = pLayoutPage->GetMasterPage();
155 if (pMasterPage->GetInteger(XFA_ATTRIBUTE_Numbered)) { 161 if (pMasterPage->GetInteger(XFA_ATTRIBUTE_Numbered)) {
156 iPageCount++; 162 iPageCount++;
157 } 163 }
158 } 164 }
159 } else { 165 } else {
160 iPageCount = iPageNum; 166 iPageCount = iPageNum;
161 } 167 }
162 CFXJSE_Value* pValue = pArguments->GetReturnValue(); 168 CFXJSE_Value* pValue = pArguments->GetReturnValue();
163 if (pValue) 169 if (pValue)
164 pValue->SetInteger(iPageCount); 170 pValue->SetInteger(iPageCount);
165 } 171 }
172
166 void CScript_LayoutPseudoModel::PageCount(CFXJSE_Arguments* pArguments) { 173 void CScript_LayoutPseudoModel::PageCount(CFXJSE_Arguments* pArguments) {
167 NumberedPageCount(pArguments, TRUE); 174 NumberedPageCount(pArguments, TRUE);
168 } 175 }
176
169 void CScript_LayoutPseudoModel::PageSpan(CFXJSE_Arguments* pArguments) { 177 void CScript_LayoutPseudoModel::PageSpan(CFXJSE_Arguments* pArguments) {
170 int32_t iLength = pArguments->GetLength(); 178 int32_t iLength = pArguments->GetLength();
171 if (iLength != 1) { 179 if (iLength != 1) {
172 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"pageSpan"); 180 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"pageSpan");
173 return; 181 return;
174 } 182 }
175 CXFA_Node* pNode = nullptr; 183 CXFA_Node* pNode = nullptr;
176 if (iLength >= 1) { 184 if (iLength >= 1) {
177 pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); 185 pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0));
178 } 186 }
179 if (!pNode) { 187 if (!pNode) {
180 return; 188 return;
181 } 189 }
182 CXFA_LayoutProcessor* pDocLayout = m_pDocument->GetDocLayout(); 190 CXFA_LayoutProcessor* pDocLayout = m_pDocument->GetDocLayout();
183 if (!pDocLayout) { 191 if (!pDocLayout) {
184 return; 192 return;
185 } 193 }
186 CFXJSE_Value* pValue = pArguments->GetReturnValue(); 194 CFXJSE_Value* pValue = pArguments->GetReturnValue();
187 CXFA_LayoutItem* pLayoutItem = pDocLayout->GetLayoutItem(pNode); 195 CXFA_LayoutItem* pLayoutItem = pDocLayout->GetLayoutItem(pNode);
188 if (!pLayoutItem) { 196 if (!pLayoutItem) {
189 pValue->SetInteger(-1); 197 pValue->SetInteger(-1);
190 return; 198 return;
191 } 199 }
192 int32_t iLast = pLayoutItem->GetLast()->GetPage()->GetPageIndex(); 200 int32_t iLast = pLayoutItem->GetLast()->GetPage()->GetPageIndex();
193 int32_t iFirst = pLayoutItem->GetFirst()->GetPage()->GetPageIndex(); 201 int32_t iFirst = pLayoutItem->GetFirst()->GetPage()->GetPageIndex();
194 int32_t iPageSpan = iLast - iFirst + 1; 202 int32_t iPageSpan = iLast - iFirst + 1;
195 if (pValue) 203 if (pValue)
196 pValue->SetInteger(iPageSpan); 204 pValue->SetInteger(iPageSpan);
197 } 205 }
206
198 void CScript_LayoutPseudoModel::Page(CFXJSE_Arguments* pArguments) { 207 void CScript_LayoutPseudoModel::Page(CFXJSE_Arguments* pArguments) {
199 PageImp(pArguments, FALSE); 208 PageImp(pArguments, FALSE);
200 } 209 }
210
201 void CScript_LayoutPseudoModel::GetObjArray(CXFA_LayoutProcessor* pDocLayout, 211 void CScript_LayoutPseudoModel::GetObjArray(CXFA_LayoutProcessor* pDocLayout,
202 int32_t iPageNo, 212 int32_t iPageNo,
203 const CFX_WideString& wsType, 213 const CFX_WideString& wsType,
204 FX_BOOL bOnPageArea, 214 FX_BOOL bOnPageArea,
205 CXFA_NodeArray& retArray) { 215 CXFA_NodeArray& retArray) {
206 CXFA_ContainerLayoutItem* pLayoutPage = pDocLayout->GetPage(iPageNo); 216 CXFA_ContainerLayoutItem* pLayoutPage = pDocLayout->GetPage(iPageNo);
207 if (!pLayoutPage) { 217 if (!pLayoutPage) {
208 return; 218 return;
209 } 219 }
210 if (wsType == FX_WSTRC(L"pageArea")) { 220 if (wsType == FX_WSTRC(L"pageArea")) {
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 continue; 332 continue;
323 formItems.insert(pItemChild->m_pFormNode); 333 formItems.insert(pItemChild->m_pFormNode);
324 retArray.Add(pItemChild->m_pFormNode); 334 retArray.Add(pItemChild->m_pFormNode);
325 } 335 }
326 } 336 }
327 } 337 }
328 } 338 }
329 return; 339 return;
330 } 340 }
331 } 341 }
342
332 void CScript_LayoutPseudoModel::PageContent(CFXJSE_Arguments* pArguments) { 343 void CScript_LayoutPseudoModel::PageContent(CFXJSE_Arguments* pArguments) {
333 int32_t iLength = pArguments->GetLength(); 344 int32_t iLength = pArguments->GetLength();
334 if (iLength < 1 || iLength > 3) { 345 if (iLength < 1 || iLength > 3) {
335 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"pageContent"); 346 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"pageContent");
336 return; 347 return;
337 } 348 }
338 int32_t iIndex = 0; 349 int32_t iIndex = 0;
339 CFX_WideString wsType; 350 CFX_WideString wsType;
340 FX_BOOL bOnPageArea = FALSE; 351 FX_BOOL bOnPageArea = FALSE;
341 if (iLength >= 1) { 352 if (iLength >= 1) {
(...skipping 14 matching lines...) Expand all
356 if (!pDocLayout) { 367 if (!pDocLayout) {
357 return; 368 return;
358 } 369 }
359 CXFA_NodeArray retArray; 370 CXFA_NodeArray retArray;
360 GetObjArray(pDocLayout, iIndex, wsType, bOnPageArea, retArray); 371 GetObjArray(pDocLayout, iIndex, wsType, bOnPageArea, retArray);
361 CXFA_ArrayNodeList* pArrayNodeList = new CXFA_ArrayNodeList(m_pDocument); 372 CXFA_ArrayNodeList* pArrayNodeList = new CXFA_ArrayNodeList(m_pDocument);
362 pArrayNodeList->SetArrayNodeList(retArray); 373 pArrayNodeList->SetArrayNodeList(retArray);
363 pArguments->GetReturnValue()->SetObject( 374 pArguments->GetReturnValue()->SetObject(
364 pArrayNodeList, m_pDocument->GetScriptContext()->GetJseNormalClass()); 375 pArrayNodeList, m_pDocument->GetScriptContext()->GetJseNormalClass());
365 } 376 }
377
366 void CScript_LayoutPseudoModel::AbsPageCount(CFXJSE_Arguments* pArguments) { 378 void CScript_LayoutPseudoModel::AbsPageCount(CFXJSE_Arguments* pArguments) {
367 NumberedPageCount(pArguments, FALSE); 379 NumberedPageCount(pArguments, FALSE);
368 } 380 }
381
369 void CScript_LayoutPseudoModel::AbsPageCountInBatch( 382 void CScript_LayoutPseudoModel::AbsPageCountInBatch(
370 CFXJSE_Arguments* pArguments) { 383 CFXJSE_Arguments* pArguments) {
371 CXFA_FFNotify* pNotify = m_pDocument->GetNotify();
372 if (!pNotify) {
373 return;
374 }
375 CXFA_FFDoc* hDoc = pNotify->GetHDOC();
376 int32_t iPageCount = pNotify->GetDocProvider()->AbsPageCountInBatch(hDoc);
377 CFXJSE_Value* pValue = pArguments->GetReturnValue(); 384 CFXJSE_Value* pValue = pArguments->GetReturnValue();
378 if (pValue) 385 if (pValue)
379 pValue->SetInteger(iPageCount); 386 pValue->SetInteger(0);
380 } 387 }
388
381 void CScript_LayoutPseudoModel::SheetCountInBatch( 389 void CScript_LayoutPseudoModel::SheetCountInBatch(
382 CFXJSE_Arguments* pArguments) { 390 CFXJSE_Arguments* pArguments) {
383 CXFA_FFNotify* pNotify = m_pDocument->GetNotify();
384 if (!pNotify) {
385 return;
386 }
387 CXFA_FFDoc* hDoc = pNotify->GetHDOC();
388 int32_t iPageCount = pNotify->GetDocProvider()->SheetCountInBatch(hDoc);
389 CFXJSE_Value* pValue = pArguments->GetReturnValue(); 391 CFXJSE_Value* pValue = pArguments->GetReturnValue();
390 if (pValue) 392 if (pValue)
391 pValue->SetInteger(iPageCount); 393 pValue->SetInteger(0);
392 } 394 }
395
393 void CScript_LayoutPseudoModel::Relayout(CFXJSE_Arguments* pArguments) { 396 void CScript_LayoutPseudoModel::Relayout(CFXJSE_Arguments* pArguments) {
394 CXFA_Node* pRootNode = m_pDocument->GetRoot(); 397 CXFA_Node* pRootNode = m_pDocument->GetRoot();
395 CXFA_Node* pFormRoot = pRootNode->GetFirstChildByClass(XFA_Element::Form); 398 CXFA_Node* pFormRoot = pRootNode->GetFirstChildByClass(XFA_Element::Form);
396 ASSERT(pFormRoot); 399 ASSERT(pFormRoot);
397 CXFA_Node* pContentRootNode = pFormRoot->GetNodeItem(XFA_NODEITEM_FirstChild); 400 CXFA_Node* pContentRootNode = pFormRoot->GetNodeItem(XFA_NODEITEM_FirstChild);
398 CXFA_LayoutProcessor* pLayoutProcessor = m_pDocument->GetLayoutProcessor(); 401 CXFA_LayoutProcessor* pLayoutProcessor = m_pDocument->GetLayoutProcessor();
399 if (pContentRootNode) { 402 if (pContentRootNode) {
400 pLayoutProcessor->AddChangedContainer(pContentRootNode); 403 pLayoutProcessor->AddChangedContainer(pContentRootNode);
401 } 404 }
402 pLayoutProcessor->SetForceReLayout(TRUE); 405 pLayoutProcessor->SetForceReLayout(TRUE);
403 } 406 }
407
404 void CScript_LayoutPseudoModel::AbsPageSpan(CFXJSE_Arguments* pArguments) { 408 void CScript_LayoutPseudoModel::AbsPageSpan(CFXJSE_Arguments* pArguments) {
405 PageSpan(pArguments); 409 PageSpan(pArguments);
406 } 410 }
411
407 void CScript_LayoutPseudoModel::AbsPageInBatch(CFXJSE_Arguments* pArguments) { 412 void CScript_LayoutPseudoModel::AbsPageInBatch(CFXJSE_Arguments* pArguments) {
408 int32_t iLength = pArguments->GetLength(); 413 if (pArguments->GetLength() != 1) {
409 if (iLength != 1) {
410 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"absPageInBatch"); 414 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"absPageInBatch");
411 return; 415 return;
412 } 416 }
413 CXFA_Node* pNode = nullptr; 417
414 if (iLength >= 1) {
415 pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0));
416 }
417 if (!pNode) {
418 return;
419 }
420 CXFA_FFNotify* pNotify = m_pDocument->GetNotify();
421 if (!pNotify) {
422 return;
423 }
424 CXFA_LayoutProcessor* pDocLayout = m_pDocument->GetDocLayout();
425 if (!pDocLayout) {
426 return;
427 }
428 CXFA_FFWidget* hWidget =
429 pNotify->GetHWidget(pDocLayout->GetLayoutItem(pNode));
430 if (!hWidget) {
431 return;
432 }
433 CXFA_FFDoc* hDoc = pNotify->GetHDOC();
434 int32_t iPageCount = pNotify->GetDocProvider()->AbsPageInBatch(hDoc, hWidget);
435 CFXJSE_Value* pValue = pArguments->GetReturnValue(); 418 CFXJSE_Value* pValue = pArguments->GetReturnValue();
436 if (pValue) 419 if (pValue)
437 pValue->SetInteger(iPageCount); 420 pValue->SetInteger(0);
438 } 421 }
422
439 void CScript_LayoutPseudoModel::SheetInBatch(CFXJSE_Arguments* pArguments) { 423 void CScript_LayoutPseudoModel::SheetInBatch(CFXJSE_Arguments* pArguments) {
440 int32_t iLength = pArguments->GetLength(); 424 if (pArguments->GetLength() != 1) {
441 if (iLength != 1) {
442 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"sheetInBatch"); 425 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"sheetInBatch");
443 return; 426 return;
444 } 427 }
445 CXFA_Node* pNode = nullptr; 428
446 if (iLength >= 1) {
447 pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0));
448 }
449 if (!pNode) {
450 return;
451 }
452 CXFA_FFNotify* pNotify = m_pDocument->GetNotify();
453 if (!pNotify) {
454 return;
455 }
456 CXFA_LayoutProcessor* pDocLayout = m_pDocument->GetDocLayout();
457 if (!pDocLayout) {
458 return;
459 }
460 CXFA_FFWidget* hWidget =
461 pNotify->GetHWidget(pDocLayout->GetLayoutItem(pNode));
462 if (!hWidget) {
463 return;
464 }
465 CXFA_FFDoc* hDoc = pNotify->GetHDOC();
466 int32_t iPageCount = pNotify->GetDocProvider()->SheetInBatch(hDoc, hWidget);
467 CFXJSE_Value* pValue = pArguments->GetReturnValue(); 429 CFXJSE_Value* pValue = pArguments->GetReturnValue();
468 if (pValue) 430 if (pValue)
469 pValue->SetInteger(iPageCount); 431 pValue->SetInteger(0);
470 } 432 }
433
471 void CScript_LayoutPseudoModel::Sheet(CFXJSE_Arguments* pArguments) { 434 void CScript_LayoutPseudoModel::Sheet(CFXJSE_Arguments* pArguments) {
472 PageImp(pArguments, TRUE); 435 PageImp(pArguments, TRUE);
473 } 436 }
437
474 void CScript_LayoutPseudoModel::RelayoutPageArea(CFXJSE_Arguments* pArguments) { 438 void CScript_LayoutPseudoModel::RelayoutPageArea(CFXJSE_Arguments* pArguments) {
475 } 439 }
440
476 void CScript_LayoutPseudoModel::SheetCount(CFXJSE_Arguments* pArguments) { 441 void CScript_LayoutPseudoModel::SheetCount(CFXJSE_Arguments* pArguments) {
477 NumberedPageCount(pArguments, FALSE); 442 NumberedPageCount(pArguments, FALSE);
478 } 443 }
444
479 void CScript_LayoutPseudoModel::AbsPage(CFXJSE_Arguments* pArguments) { 445 void CScript_LayoutPseudoModel::AbsPage(CFXJSE_Arguments* pArguments) {
480 PageImp(pArguments, TRUE); 446 PageImp(pArguments, TRUE);
481 } 447 }
448
482 void CScript_LayoutPseudoModel::PageImp(CFXJSE_Arguments* pArguments, 449 void CScript_LayoutPseudoModel::PageImp(CFXJSE_Arguments* pArguments,
483 FX_BOOL bAbsPage) { 450 FX_BOOL bAbsPage) {
484 int32_t iLength = pArguments->GetLength(); 451 int32_t iLength = pArguments->GetLength();
485 if (iLength != 1) { 452 if (iLength != 1) {
486 const FX_WCHAR* methodName; 453 const FX_WCHAR* methodName;
487 if (bAbsPage) { 454 if (bAbsPage) {
488 methodName = L"absPage"; 455 methodName = L"absPage";
489 } else { 456 } else {
490 methodName = L"page"; 457 methodName = L"page";
491 } 458 }
(...skipping 15 matching lines...) Expand all
507 } 474 }
508 CXFA_LayoutItem* pLayoutItem = pDocLayout->GetLayoutItem(pNode); 475 CXFA_LayoutItem* pLayoutItem = pDocLayout->GetLayoutItem(pNode);
509 if (!pLayoutItem) { 476 if (!pLayoutItem) {
510 pValue->SetInteger(-1); 477 pValue->SetInteger(-1);
511 return; 478 return;
512 } 479 }
513 iPage = pLayoutItem->GetFirst()->GetPage()->GetPageIndex(); 480 iPage = pLayoutItem->GetFirst()->GetPage()->GetPageIndex();
514 if (pValue) 481 if (pValue)
515 pValue->SetInteger(bAbsPage ? iPage : iPage + 1); 482 pValue->SetInteger(bAbsPage ? iPage : iPage + 1);
516 } 483 }
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/cscript_hostpseudomodel.cpp ('k') | xfa/fxfa/parser/cscript_signaturepseudomodel.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698