function inlineTimingFunctionEditorProvider(hostEditor, pos) {
        var context = prepareEditorForProvider(hostEditor, pos),
            inlineTimingFunctionEditor,
            result;

        if (!context.timingFunction) {
            return context.reason || null;
        } else {
            inlineTimingFunctionEditor = new InlineTimingFunctionEditor(context.timingFunction, context.start, context.end);
            inlineTimingFunctionEditor.load(hostEditor);

            result = new $.Deferred();
            result.resolve(inlineTimingFunctionEditor);
            return result.promise();
        }
    }
Registered as an inline editor provider: creates an InlineTimingFunctionEditor
when the cursor is on a timing function value.

@param {!Editor} hostEditor
@param {!{line:Number, ch:Number}} pos
@return {?$.Promise} synchronously resolved with an InlineWidget, or
        {string} if timing function with invalid syntax is detected at pos, or
        null if there's no timing function at pos.