code: 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();
          }
      }
docs: 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.