summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrique Nakashima <hnakashima@chromium.org>2018-02-16 03:46:28 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-02-16 03:46:28 +0000
commit067a44fcad9196c6ad8cc3b2f86261b78ae54f48 (patch)
tree8e04bf7d5c20701fee0f688411edeea4b74caa47
parent844d79e853074c99b7e5e64e051f1e1236c1723e (diff)
downloadpdfium-chromium/3350.tar.xz
Fix fallthroughs in XFA code.chromium/3350
Change-Id: I1fd4bf85cd709de1c14ed2895d045018f79bc61f Reviewed-on: https://pdfium-review.googlesource.com/26950 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
-rw-r--r--core/fxcodec/bmp/cfx_bmpdecompressor.cpp2
-rw-r--r--core/fxcodec/codec/ccodec_pngmodule.cpp2
-rw-r--r--core/fxcrt/css/cfx_csssyntaxparser.cpp6
-rw-r--r--fpdfsdk/fpdfxfa/cpdfxfa_context.cpp3
-rw-r--r--fpdfsdk/fpdfxfa/cpdfxfa_page.cpp7
-rw-r--r--fxjs/xfa/cjx_object.cpp2
-rw-r--r--xfa/fwl/theme/cfwl_listboxtp.cpp1
-rw-r--r--xfa/fxfa/cxfa_ffline.cpp1
-rw-r--r--xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp9
-rw-r--r--xfa/fxfa/parser/cxfa_node.cpp5
-rw-r--r--xfa/fxfa/parser/xfa_document_datamerger_imp.cpp2
-rw-r--r--xfa/fxgraphics/cxfa_gecolor.cpp1
12 files changed, 41 insertions, 0 deletions
diff --git a/core/fxcodec/bmp/cfx_bmpdecompressor.cpp b/core/fxcodec/bmp/cfx_bmpdecompressor.cpp
index 0391258330..ea6e2ba0bb 100644
--- a/core/fxcodec/bmp/cfx_bmpdecompressor.cpp
+++ b/core/fxcodec/bmp/cfx_bmpdecompressor.cpp
@@ -205,12 +205,14 @@ int32_t CFX_BmpDecompressor::ReadHeader() {
Error();
NOTREACHED();
}
+ break;
}
case 32:
break;
default:
Error();
NOTREACHED();
+ break;
}
src_row_bytes_ = BMP_WIDTHBYTES(width_, bit_counts_);
switch (bit_counts_) {
diff --git a/core/fxcodec/codec/ccodec_pngmodule.cpp b/core/fxcodec/codec/ccodec_pngmodule.cpp
index 37e83f7248..db5886aa29 100644
--- a/core/fxcodec/codec/ccodec_pngmodule.cpp
+++ b/core/fxcodec/codec/ccodec_pngmodule.cpp
@@ -10,6 +10,7 @@
#include "core/fxcodec/codec/codec_int.h"
#include "core/fxcodec/fx_codec.h"
+#include "core/fxcrt/fx_fallthrough.h"
#include "core/fxcrt/unowned_ptr.h"
#include "core/fxge/fx_dib.h"
#include "third_party/base/ptr_util.h"
@@ -155,6 +156,7 @@ static void _png_get_header_func(png_structp png_ptr, png_infop info_ptr) {
if (color_type1 != PNG_COLOR_TYPE_PALETTE) {
png_error(pContext->m_pPng, "Not Support Output Palette Now");
}
+ FX_FALLTHROUGH;
case PNG_COLOR_TYPE_RGB:
case PNG_COLOR_TYPE_RGB_ALPHA:
if (!(color_type1 & PNG_COLOR_MASK_COLOR)) {
diff --git a/core/fxcrt/css/cfx_csssyntaxparser.cpp b/core/fxcrt/css/cfx_csssyntaxparser.cpp
index b557bf090b..30352a5a20 100644
--- a/core/fxcrt/css/cfx_csssyntaxparser.cpp
+++ b/core/fxcrt/css/cfx_csssyntaxparser.cpp
@@ -12,6 +12,7 @@
#include "core/fxcrt/css/cfx_cssdeclaration.h"
#include "core/fxcrt/fx_codepage.h"
#include "core/fxcrt/fx_extension.h"
+#include "core/fxcrt/fx_fallthrough.h"
#include "third_party/base/logging.h"
namespace {
@@ -73,6 +74,7 @@ CFX_CSSSyntaxStatus CFX_CSSSyntaxParser::DoSyntaxParse() {
SwitchMode(CFX_CSSSyntaxMode::Comment);
break;
}
+ FX_FALLTHROUGH;
default:
if (wch <= ' ') {
m_TextPlane.MoveNext();
@@ -109,6 +111,7 @@ CFX_CSSSyntaxStatus CFX_CSSSyntaxParser::DoSyntaxParse() {
return CFX_CSSSyntaxStatus::Selector;
break;
}
+ FX_FALLTHROUGH;
default:
AppendChar(wch);
break;
@@ -133,6 +136,7 @@ CFX_CSSSyntaxStatus CFX_CSSSyntaxParser::DoSyntaxParse() {
return CFX_CSSSyntaxStatus::PropertyName;
break;
}
+ FX_FALLTHROUGH;
default:
AppendChar(wch);
break;
@@ -142,6 +146,7 @@ CFX_CSSSyntaxStatus CFX_CSSSyntaxParser::DoSyntaxParse() {
switch (wch) {
case ';':
m_TextPlane.MoveNext();
+ FX_FALLTHROUGH;
case '}':
SwitchMode(CFX_CSSSyntaxMode::PropertyName);
return CFX_CSSSyntaxStatus::PropertyValue;
@@ -151,6 +156,7 @@ CFX_CSSSyntaxStatus CFX_CSSSyntaxParser::DoSyntaxParse() {
return CFX_CSSSyntaxStatus::PropertyValue;
break;
}
+ FX_FALLTHROUGH;
default:
AppendChar(wch);
break;
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp
index 9f07714d04..79599e15dc 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp
@@ -10,6 +10,7 @@
#include <utility>
#include "core/fpdfapi/parser/cpdf_document.h"
+#include "core/fxcrt/fx_fallthrough.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
@@ -135,9 +136,11 @@ int CPDFXFA_Context::GetPageCount() const {
case FormType::kXFAForeground:
if (m_pPDFDoc)
return m_pPDFDoc->GetPageCount();
+ FX_FALLTHROUGH;
case FormType::kXFAFull:
if (m_pXFADoc)
return m_pXFADocView->CountPageViews();
+ break;
}
return 0;
}
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_page.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_page.cpp
index fbea90d9a9..87cb4ba62a 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_page.cpp
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_page.cpp
@@ -8,6 +8,7 @@
#include "core/fpdfapi/page/cpdf_page.h"
#include "core/fpdfapi/parser/cpdf_document.h"
+#include "core/fxcrt/fx_fallthrough.h"
#include "fpdfsdk/fpdfxfa/cpdfxfa_context.h"
#include "fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.h"
#include "fpdfsdk/fsdk_define.h"
@@ -95,9 +96,11 @@ float CPDFXFA_Page::GetPageWidth() const {
case FormType::kXFAForeground:
if (m_pPDFPage)
return m_pPDFPage->GetPageWidth();
+ FX_FALLTHROUGH;
case FormType::kXFAFull:
if (m_pXFAPageView)
return m_pXFAPageView->GetPageViewRect().width;
+ break;
}
return 0.0f;
@@ -113,9 +116,11 @@ float CPDFXFA_Page::GetPageHeight() const {
case FormType::kXFAForeground:
if (m_pPDFPage)
return m_pPDFPage->GetPageHeight();
+ FX_FALLTHROUGH;
case FormType::kXFAFull:
if (m_pXFAPageView)
return m_pXFAPageView->GetPageViewRect().height;
+ break;
}
return 0.0f;
@@ -178,10 +183,12 @@ CFX_Matrix CPDFXFA_Page::GetDisplayMatrix(int xPos,
case FormType::kXFAForeground:
if (m_pPDFPage)
return m_pPDFPage->GetDisplayMatrix(xPos, yPos, xSize, ySize, iRotate);
+ FX_FALLTHROUGH;
case FormType::kXFAFull:
if (m_pXFAPageView)
return m_pXFAPageView->GetDisplayMatrix(
CFX_Rect(xPos, yPos, xSize, ySize), iRotate);
+ break;
}
return CFX_Matrix();
diff --git a/fxjs/xfa/cjx_object.cpp b/fxjs/xfa/cjx_object.cpp
index 3f6903557c..5a2c4bd130 100644
--- a/fxjs/xfa/cjx_object.cpp
+++ b/fxjs/xfa/cjx_object.cpp
@@ -10,6 +10,7 @@
#include "core/fxcrt/cfx_decimal.h"
#include "core/fxcrt/fx_extension.h"
+#include "core/fxcrt/fx_fallthrough.h"
#include "core/fxcrt/xml/cfx_xmltext.h"
#include "fxjs/cfxjse_engine.h"
#include "fxjs/cfxjse_value.h"
@@ -847,6 +848,7 @@ Optional<WideString> CJX_Object::TryContent(bool bScriptModify, bool bProto) {
case XFA_ObjectType::NodeV:
case XFA_ObjectType::TextNode:
pNode = ToNode(GetXFAObject());
+ FX_FALLTHROUGH;
default:
if (ToNode(GetXFAObject())->GetElementType() == XFA_Element::DataValue)
pNode = ToNode(GetXFAObject());
diff --git a/xfa/fwl/theme/cfwl_listboxtp.cpp b/xfa/fwl/theme/cfwl_listboxtp.cpp
index 6b8aa768a5..2a370650d7 100644
--- a/xfa/fwl/theme/cfwl_listboxtp.cpp
+++ b/xfa/fwl/theme/cfwl_listboxtp.cpp
@@ -48,6 +48,7 @@ void CFWL_ListBoxTP::DrawBackground(CFWL_ThemeBackground* pParams) {
}
FillSoildRect(pParams->m_pGraphics, color, &pParams->m_rtPart,
&pParams->m_matrix);
+ break;
}
default:
break;
diff --git a/xfa/fxfa/cxfa_ffline.cpp b/xfa/fxfa/cxfa_ffline.cpp
index 6ef3d1d35c..75d142cb8c 100644
--- a/xfa/fxfa/cxfa_ffline.cpp
+++ b/xfa/fxfa/cxfa_ffline.cpp
@@ -44,6 +44,7 @@ void CXFA_FFLine::GetRectFromHand(CFX_RectF& rect,
break;
case XFA_AttributeEnum::Right:
rect.top += fHalfWidth;
+ break;
case XFA_AttributeEnum::Even:
break;
default:
diff --git a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp
index d4506c7bb1..45866642c5 100644
--- a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp
+++ b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp
@@ -11,6 +11,7 @@
#include <utility>
#include <vector>
+#include "core/fxcrt/fx_fallthrough.h"
#include "fxjs/xfa/cjx_object.h"
#include "third_party/base/logging.h"
#include "third_party/base/ptr_util.h"
@@ -867,6 +868,7 @@ void CXFA_ItemLayoutProcessor::GotoNextContainerNode(
}
case XFA_ItemLayoutProcessorStages::None: {
pCurActionNode = XFA_LAYOUT_INVALIDNODE;
+ FX_FALLTHROUGH;
case XFA_ItemLayoutProcessorStages::BookendLeader:
for (CXFA_Node* pBookendNode = pCurActionNode == XFA_LAYOUT_INVALIDNODE
? pEntireContainer->GetFirstChild()
@@ -885,6 +887,7 @@ void CXFA_ItemLayoutProcessor::GotoNextContainerNode(
}
{
pCurActionNode = XFA_LAYOUT_INVALIDNODE;
+ FX_FALLTHROUGH;
case XFA_ItemLayoutProcessorStages::BreakBefore:
if (pCurActionNode != XFA_LAYOUT_INVALIDNODE) {
CXFA_Node* pBreakBeforeNode = pCurActionNode->GetNextSibling();
@@ -908,6 +911,7 @@ void CXFA_ItemLayoutProcessor::GotoNextContainerNode(
}
case XFA_ItemLayoutProcessorStages::Container: {
pCurActionNode = XFA_LAYOUT_INVALIDNODE;
+ FX_FALLTHROUGH;
case XFA_ItemLayoutProcessorStages::BreakAfter: {
if (pCurActionNode == XFA_LAYOUT_INVALIDNODE) {
CXFA_Node* pBreakAfterNode = pChildContainer->GetFirstChild();
@@ -962,6 +966,7 @@ void CXFA_ItemLayoutProcessor::GotoNextContainerNode(
NoMoreChildContainer : {
pCurActionNode = XFA_LAYOUT_INVALIDNODE;
+ FX_FALLTHROUGH;
case XFA_ItemLayoutProcessorStages::BookendTrailer:
for (CXFA_Node* pBookendNode = pCurActionNode == XFA_LAYOUT_INVALIDNODE
? pEntireContainer->GetFirstChild()
@@ -978,6 +983,7 @@ void CXFA_ItemLayoutProcessor::GotoNextContainerNode(
}
}
}
+ FX_FALLTHROUGH;
default:
pCurActionNode = nullptr;
*nCurStage = XFA_ItemLayoutProcessorStages::Done;
@@ -1959,8 +1965,10 @@ XFA_ItemLayoutProcessorResult CXFA_ItemLayoutProcessor::DoLayoutFlowedContainer(
switch (rs) {
case XFA_ItemLayoutProcessorResult::ManualBreak:
bIsManualBreak = true;
+ FX_FALLTHROUGH;
case XFA_ItemLayoutProcessorResult::PageFullBreak:
bForceEndPage = true;
+ FX_FALLTHROUGH;
case XFA_ItemLayoutProcessorResult::RowFullBreak:
goto SuspendAndCreateNewRow;
case XFA_ItemLayoutProcessorResult::Done:
@@ -1968,6 +1976,7 @@ XFA_ItemLayoutProcessorResult CXFA_ItemLayoutProcessor::DoLayoutFlowedContainer(
fContentCurRowY +=
pProcessor->InsertPendingItems(m_pCurChildNode);
pProcessor.reset();
+ break;
}
break;
}
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index bfee8fa746..77b6f74fe4 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -18,6 +18,7 @@
#include "core/fxcrt/cfx_memorystream.h"
#include "core/fxcrt/fx_codepage.h"
#include "core/fxcrt/fx_extension.h"
+#include "core/fxcrt/fx_fallthrough.h"
#include "core/fxcrt/xml/cfx_xmlelement.h"
#include "core/fxcrt/xml/cfx_xmlnode.h"
#include "core/fxcrt/xml/cfx_xmltext.h"
@@ -2622,6 +2623,7 @@ void CXFA_Node::ResetData() {
}
case XFA_FFWidgetType::kChoiceList:
ClearAllSelections();
+ FX_FALLTHROUGH;
default: {
CXFA_Value* defValue = GetDefaultValueIfExists();
if (defValue)
@@ -2762,6 +2764,7 @@ bool CXFA_Node::CalculateFieldAutoSize(CXFA_FFDoc* doc, CFX_SizeF& size) {
case XFA_AttributeEnum::Bottom: {
size.height += szCap.height;
size.width = std::max(size.width, szCap.width);
+ break;
}
default:
break;
@@ -2858,6 +2861,7 @@ bool CXFA_Node::CalculateTextEditAutoSize(CXFA_FFDoc* doc, CFX_SizeF& size) {
case XFA_AttributeEnum::Right:
case XFA_AttributeEnum::Inline: {
size.width -= szCap.width;
+ break;
}
default:
break;
@@ -2881,6 +2885,7 @@ bool CXFA_Node::CalculateTextEditAutoSize(CXFA_FFDoc* doc, CFX_SizeF& size) {
case XFA_AttributeEnum::Top:
case XFA_AttributeEnum::Bottom: {
size.height += szCap.height;
+ break;
}
default:
break;
diff --git a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp
index b7cab02b3d..ac14731bb1 100644
--- a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp
+++ b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp
@@ -11,6 +11,7 @@
#include <vector>
#include "core/fxcrt/fx_extension.h"
+#include "core/fxcrt/fx_fallthrough.h"
#include "core/fxcrt/xml/cfx_xmlelement.h"
#include "core/fxcrt/xml/cfx_xmlnode.h"
#include "fxjs/cfxjse_engine.h"
@@ -630,6 +631,7 @@ CXFA_Node* FindMatchingDataNode(
pResult = pGlobalBindNode;
break;
}
+ FX_FALLTHROUGH;
case XFA_AttributeEnum::Once: {
bAccessedDataDOM = true;
CXFA_Node* pOnceBindNode = FindOnceDataNode(
diff --git a/xfa/fxgraphics/cxfa_gecolor.cpp b/xfa/fxgraphics/cxfa_gecolor.cpp
index 3dca4a7df5..b0dc661986 100644
--- a/xfa/fxgraphics/cxfa_gecolor.cpp
+++ b/xfa/fxgraphics/cxfa_gecolor.cpp
@@ -39,6 +39,7 @@ CXFA_GEColor& CXFA_GEColor::operator=(const CXFA_GEColor& that) {
case Shading:
m_argb = 0;
m_pointer.shading = that.m_pointer.shading;
+ break;
default:
break;
}