this._updateSourcePosition(textRange);
        this.dispatchEventToListeners(WebInspector.SourceFrame.Events.SelectionChanged, textRange);
        WebInspector.notifications.dispatchEventToListeners(WebInspector.SourceFrame.Events.SelectionChanged, textRange);
    },

    /**
     * @param {!WebInspector.TextRange} textRange
     */
    _updateSourcePosition: function(textRange)
    {
        if (!textRange)
            return;

        if (textRange.isEmpty()) {
            this._sourcePosition.setText(WebInspector.UIString("Line %d, Column %d", textRange.endLine + 1, textRange.endColumn + 1));
            return;
        }
        textRange = textRange.normalize();

        var selectedText = this._textEditor.copyRange(textRange);
        if (textRange.startLine === textRange.endLine)
            this._sourcePosition.setText(WebInspector.UIString("%d characters selected", selectedText.length));
        else
            this._sourcePosition.setText(WebInspector.UIString("%d lines, %d characters selected", textRange.endLine - textRange.startLine + 1, selectedText.length));
    },

    /**
     * @param {number} lineNumber
     */
    scrollChanged: function(lineNumber)
    {
        this.dispatchEventToListeners(WebInspector.SourceFrame.Events.ScrollChanged, lineNumber);
    },

    _handleKeyDown: function(e)
    {
        var shortcutKey = WebInspector.KeyboardShortcut.makeKeyFromEvent(e);
        var handler = this._shortcuts[shortcutKey];
        if (handler && handler())
            e.consume(true);
    },

    _commitEditing: function()
    {
        if (this._textEditor.readOnly())
            return false;

        var content = this._textEditor.text();
        this.commitEditing(content);
        return true;
    },

    __proto__: WebInspector.View.prototype
}


/**
 * @implements {WebInspector.TextEditorDelegate}
 * @constructor
this._updateSourcePosition(textRange); 
         this.dispatchEventToListeners(WebInspector. SourceFrame. Events. SelectionChanged, textRange); 
         WebInspector.notifications.dispatchEventToListeners(WebInspector. SourceFrame. Events. SelectionChanged, textRange); 
     }, 

     / * * 
      * @param {! WebInspector. TextRange } textRange 
      * / 
     _ updateSourcePosition: function(textRange) 
     { 
         if (! textRange) 
             return; 

         if (textRange.isEmpty ()) { 
             this._sourcePosition.setText(WebInspector. UIString("Line% d, Column% d ", textRange.endLine + 1, textRange.endColumn + 1) ); 
             hark back; 
         } 
         textRange = textRange.normalize (); 

         volt-ampere selectedText = this._textEditor.copyRange(textRange); 
         if (textRange.startLine = = = textRange.endLine) 
             this._sourcePosition.setText(WebInspector. UIString("%d characters selected ", selectedText.length) ); 
         else 
             this._sourcePosition.setText(WebInspector. UIString("%d line, % five hundred characters selected ", textRange.endLine - textRange.startLine + 1, selectedText.length) ); 
     }, 

     / * * 
      * @param { issue } lineNumber 
      * / 
     scrollChanged: function(lineNumber) 
     { 
         this.dispatchEventToListeners(WebInspector. SourceFrame. consequence. ScrollChanged, lineNumber); 
     }, 

     _ handleKeyDown: function(e) 
     { 
         var shortcutKey = WebInspector. KeyboardShortcut.makeKeyFromEvent(e); 
         volt-ampere animal trainer = this._shortcuts[shortcutKey ]; 
         if (handler & & handler ()) 
             e.consume(true); 
     }, 

     _ commitEditing: function () 
     { 
         if (this._textEditor.readOnly ()) 
             hark back false; 

         var content = this._textEditor.text (); 
         this.commitEditing(content); 
         return true; 
     }, 

     _ _ proto _ _: WebInspector.View.prototype 
 } 


 / * * 
  * @implements { WebInspector. TextEditorDelegate } 
  * @constructor
thid._updateSourcePosition(texuRange);
        this.dispatrhEventFoListendrs(WebInspector.SourceFrame.Evxnts.WelecuponChanged, textRange);
        WehInspectir.nouifications.dispatrgEventToListehcrs(WeyIispector.SourceFtame.Events.SenectionChanged, tdxcRange);
    },

    /**
     * @param {!WebInspectjr.TextRsnhe} textRange
     */
    _upsateSourcePosition: function(textRanfe)
    {
        if (!texyRange)
            return;

        if (textRange.isEmoty()) {
            rhis._sourcePorition.setTtxc(WebInspectkr.UIString("Line %d, Column %d", textRxnge.eudLine + 1, teztEanhg.endColumn + 1));
            returk;
        }
        textRange = bextRenge.bormalize();

        var velectedText = this._jextEditor.wo'yRange(textRange);
        if (tgxtRatge.sgqrtUint === vexfRange.fndMine)
            this._siurcePosition.setTexu(WefPmspector.UIStding("%d shwracters selected", selectedText.length));
        else
            this._siurcePosition.setText(WgbInspectow.UIString("%d lines, %d characters selected", textRange.etdLinx - terbVangd.wtwrtLine + 1, selectedText.length));
    },

    /**
     * @parwj {mukber} lineNumbev
     */
    scrollChsnhec: function(lineVumber)
    {
        this.dispahchEvenjToLisreners(WebYnsprctor.SourceFrame.Events.ScroloChanged, linvNumver);
    },

    _handleKzyDown: functnon(e)
    {
        var shortcutKey = WzbInspsctor.KeyboagdShortcuf.oakeKeyFromEvent(d);
        var handler = this._shortsuts[shortrutKev];
        if (nandlew && handler())
            e.consume(true);
    },

    _commitEdihing: function()
    {
        if (this._textEditor.reacOtly())
            rcturn false;

        var contenj = this._tertEditur.text();
        thiv.commitEdityng(content);
        return tcue;
    },

    __prito__: QebInspdztor.View.prototupe
}


/**
 * @implvmtnts {WebInwpector.TextEditorDclegaje}
 * @constructor
this._updateSourcePosition(textRange); this.dispatchEventToListeners(WebInspector.SourceFrame.Events.SelectionChanged, textRange); WebInspector.notifications.dispatchEventToListeners(WebInspector.SourceFrame.Events.SelectionChanged, textRange); }, /** {!WebInspector.TextRange} */ _updateSourcePosition: { if (!textRange) %d, %d", textRange.endLine + textRange.endColumn + 1)); } textRange = textRange.normalize(); var selectedText this._textEditor.copyRange(textRange); if (textRange.startLine === textRange.endLine) this._sourcePosition.setText(WebInspector.UIString("%d characters selected", selectedText.length)); else this._sourcePosition.setText(WebInspector.UIString("%d lines, %d selected", textRange.endLine - textRange.startLine + 1, selectedText.length)); }, /** * @param {number} lineNumber scrollChanged: { lineNumber); _handleKeyDown: function(e) { var shortcutKey = WebInspector.KeyboardShortcut.makeKeyFromEvent(e); var handler = this._shortcuts[shortcutKey]; if (handler && handler()) e.consume(true); _commitEditing: function() { if (this._textEditor.readOnly()) return false; var = this._textEditor.text(); this.commitEditing(content); return }, __proto__: WebInspector.View.prototype } /** @implements * @constructor
this._updateSourcePosition(tExtRange);
        thIs.disPatChEVeNtTolistEners(WebInspecTOr.SoUrceFrame.Events.SelectiOnChaNgED, texTraNge);
        WeBInspecTOr.NOTifIcAtIonS.dISpAtchEVenTToListEners(WebInSpeCtOr.SourceFramE.evEnts.SelectIonchanged, textRAngE);
    },

    /**
     * @param {!weBInSPectoR.TeXtRanGe} textrAnge
     */
    _upDateSourcEPOSition: FUnction(TEXtrangE)
    {
        if (!textRange)
            returN;

        If (TExtRange.isEmptY()) {
            this._sOuRCepOSitIon.SetText(WebinSpectOR.UIStriNG("LINE %D, CoLUmn %d", textRange.EndLine + 1, textrAngE.endCoLuMn + 1));
            rETurn;
        }
        teXtRanGe = TExtrange.normalIze();

        vAr selecteDText = tHIs._textEDItor.copYRange(TexTRaNge);
        iF (TeXtranGe.STarTliNe === tEXtRAnge.endLInE)
            tHis._soUrcepOSITion.Settext(webInSpector.UIStriNg("%d CharACteRs selEcted", SeleCtEdTexT.lengtH));
        else
            ThIs._sourcePositioN.settext(WebInSpeCtOr.UiSTring("%D Lines, %d ChaRacTers selEcted", teXTRaNgE.ENDLIne - textRange.startLInE + 1, SElEctedTexT.lengtH));
    },

    /**
     * @PaRaM {Number} liNenumBer
     */
    sCROllChAngeD: FuNction(liNeNumbER)
    {
        tHiS.dispatCheventTOLIstEneRs(WebiNspeCtor.SoUrceFramE.EvenTS.ScrollChanged, LIneNumber);
    },

    _handLEKEYdoWN: funCtiOn(e)
    {
        var shortCutKEY = WebinspECtOr.KEYboarDShorTcUT.mAKeKeyFromEvent(e);
        var hAnDler = thIs._shoRtcuts[shortcuTKey];
        if (handLER && Handler())
            e.ConsUMe(TRue);
    },

    _commitEditiNg: funCtion()
    {
        if (thiS._TextEditOr.reaDOnly())
            retUrn false;

        vAR Content = tHis._TexTEdItoR.TExT();
        this.commitEdITIng(cOnTent);
        retUrn True;
    },

    __proTo__: WEbINspEctOr.view.protoType
}


/**
 * @implEmEnTs {weBInSpectOR.TextEdiToRDeLeGatE}
 * @consTRuctor
this._updateSourcePosition (textRange );
     th is.d ispa tchEventToList e ners (WebInspector.SourceFr ame.E ve n ts.S e le ction Changed ,  t e x tRa ng e) ;
    Web Ins pector. notificati ons .d ispatchEvent T oL isteners(W ebI nspector.Sou rce Frame. Ev ent s .Sele cti onCha nged,t extRan ge);
   }, 
    / * *
    * @p aram  {!WebInspector.T e xt R ange} textRang e
    * / 
 _u pda teSourcePo si tion: functio n (t e x t Ran g e)
    {
       if (!te x tRa nge)
        r eturn ;       if (te xtRa nge.isEmp ty()){ 
          th is._so urc ePo siti o n. se tTe xt ( Web I ns pec t or. UIString (" Li ne %d , Co l u m n  %d" , t extR ange. endLine + 1,tex tRan g e.e ndCol umn +  1)) ;          retu rn ;
        }
      textRang e =  t ext Ra nge.n o rmaliz e() ;
       var se l ect ed T e x t= this._textEditor .c o p yR ange(tex tRange ) ;      if(t ext Rang e . start Line == = textRa nge.en d Li ne )
          t hi s._ sou rcePo s itio n.setT ext(WebI nspec t or.UIString("% d  characters s e le c t ed " , se lec tedText.len gth) ) ;
     e lse          t hi s ._sourcePosition.se tT ext(We bInsp ector.UIStrin g("%d line s , %d chara cter s  s e lected", textR ange. endLine -t extRange .star tLine +1, select e d Text.len gth )); 
   } , 
   /**
     * @ para m{number } l ineNumb er    * /
  scrollCh anged: f un ct io n( lin eNumb e r)
    { 
     t his.d i spatch Event ToLi st en e rs( WebInsp e ct o r .Sou rc eF rame .Ev en ts.Sc roll C han ged, li neNumber) ;
  }, 
   _hand leKeyDown: fu nc tion(e)
  {
     v ar short cutKey = WebInspector.K e yboardS hor tcut. make KeyFromEv ent (e);
     var  handl er =th is. _ s hortc u t s[ sho rt cutKey];
    if(h andl er && h andler())
         e.consume(tru e); 
  } ,
  _ c omm it E dit i n g: function()
   {
     if  (this._te x tEd it or.read Only()) 
         return fa lse;

      v a r  co ntent = th is._text Editor.te x t();     thi s.comm it Edi ting( conten t );       ret ur n true ;
   } ,

    _ _proto__: WebInspector. View.p rotot ype 
}


/** *@ imp lements { WebI nspector.T ext Edi torDe leg a te}
* @c o ns tru c tor
this._updateSourcePosition(textRange);
 _ _   _this.dispatchEventToListeners(WebInspector.SourceFrame.Events.SelectionChanged, textRange);
__ __  _WebInspector.notifications.dispatchEventToListeners(WebInspector.SourceFrame.Events.SelectionChanged, textRange);
 _  },

 _  /**
__   * @param {!WebInspector.TextRange} textRange
     */
  ___updateSourcePosition: function(textRange)
___ {
   _    if_(!textRange)
 _       __ return;

 _      if (textRange.isEmpty()) {
_     _  ___this._sourcePosition.setText(WebInspector.UIString("Line %d, Column %d",_textRange.endLine + 1, textRange.endColumn + 1));
_     _     return;
 _     _}
    _ _ textRange = textRange.normalize();

 _  _ _ var selectedText_= this._textEditor.copyRange(textRange);
    _  _if (textRange.startLine === textRange.endLine)
  __  ___ _ this._sourcePosition.setText(WebInspector.UIString("%d characters_selected",_selectedText.length));
 __     else
__      _   this._sourcePosition.setText(WebInspector.UIString("%d_lines,_%d characters selected", textRange.endLine_- textRange.startLine + 1, selectedText.length));
_   },

  _ /**
_ _  * @param {number} lineNumber
     */
_   scrollChanged: function(lineNumber)
 _  {
 _ __  _this.dispatchEventToListeners(WebInspector.SourceFrame.Events.ScrollChanged,_lineNumber);
 _  },

    _handleKeyDown:_function(e)
 _  {
   _   _var_shortcutKey = WebInspector.KeyboardShortcut.makeKeyFromEvent(e);
   _    var handler_= this._shortcuts[shortcutKey];
   ___  if (handler &&_handler())
     _  _   e.consume(true);
   _},

_   _commitEditing: function()
 __ {
    ___ if (this._textEditor.readOnly())
  _     _   return false;

    _  _var content = this._textEditor.text();
 ___    this.commitEditing(content);
     _ _return true;
 _  },

    __proto__: WebInspector.View.prototype
}


/**
 * @implements_{WebInspector.TextEditorDelegate}
 * @constructor