The FacesBridge must follow the requirements in the JSF 2.2 JavaDoc. However, rather than call ServletRequest.getContentLength() the FacesBridge must call ClientDataRequest.getContentLength(). It is only valid to call this method during the ACTION_PHASE and RESOURCE_PHASE of the portlet lifecycle. FacesBridge implementations may optionally save the value of ClientDataRequest.getContentLength() during the ACTION_PHASE so that it is available within the EVENT_PHASE, HEADER_PHASE, or RENDER_PHASE of the portlet lifecycle.
TCK: During the ACTION_PHASE and also during an f:ajax submission (RESOURCE_PHASE), call ClientDataRequest.getContentLength() and ExternalContext.getRequestContentLength() and expect the result of both to be equal to each other.