Code example for Queue

Methods: add

            } else { 
                // we're not going to be holding this block of events in the queue, but we need 
                // a marker of some sort so that the processEventBlock loop deals with the blocks 
                // in the right order as notifications come in. we use a single null event in 
                // the queue as a placeholder for a block of events that has already been dispatched. 
                mPanZoomController.startingNewEventBlock(event, false);
            // set the timeout so that we dispatch these events and update mProcessingBalance 
            // if we don't get a default-prevented notification 
            mView.postDelayed(mListenerTimeoutProcessor, EVENT_LISTENER_TIMEOUT);
        // if we need to hold the events, add it to the queue. if we need to dispatch 
        // it directly, do that. it is possible that both mHoldInQueue and mDispatchEvents 
        // are false, in which case we are processing a block of events that we know 
        // has been default-prevented. in that case we don't keep the events as we don't 
        // need them (but we still pass them to the gecko listener). 
        if (mHoldInQueue) {
        } else if (mDispatchEvents) {
        } else if (touchFinished(event)) {