webengine/osswebengine/WebCore/html/HTMLTextAreaElement.cpp
branchRCL_3
changeset 48 79859ed3eea9
parent 47 e1bea15f9a39
child 49 919f36ff910f
equal deleted inserted replaced
47:e1bea15f9a39 48:79859ed3eea9
    93         return static_cast<RenderTextControl *>(renderer())->selectionEnd();
    93         return static_cast<RenderTextControl *>(renderer())->selectionEnd();
    94     }
    94     }
    95     return 0;
    95     return 0;
    96 }
    96 }
    97 
    97 
    98 static RenderTextControl* rendererAfterUpdateLayout(HTMLTextAreaElement* element) 
       
    99 { 
       
   100     element->document()->updateLayoutIgnorePendingStylesheets(); 
       
   101     return static_cast<RenderTextControl*>(element->renderer());
       
   102 } 
       
   103 
       
   104 void HTMLTextAreaElement::setSelectionStart(int start)
    98 void HTMLTextAreaElement::setSelectionStart(int start)
   105 {
    99 {
   106     if (RenderTextControl* renderer = rendererAfterUpdateLayout(this)) 
   100     if (renderer())
   107  	    renderer->setSelectionStart(start); 
   101         static_cast<RenderTextControl*>(renderer())->setSelectionStart(start);
   108 }
   102 }
   109 
   103 
   110 void HTMLTextAreaElement::setSelectionEnd(int end)
   104 void HTMLTextAreaElement::setSelectionEnd(int end)
   111 {
   105 {
   112     if (RenderTextControl* renderer = rendererAfterUpdateLayout(this)) 
   106     if (renderer())
   113  	    renderer->setSelectionEnd(end);
   107         static_cast<RenderTextControl*>(renderer())->setSelectionEnd(end);
   114 }
   108 }
   115 
   109 
   116 void HTMLTextAreaElement::select()
   110 void HTMLTextAreaElement::select()
   117 {
   111 {
   118     if (RenderTextControl* renderer = rendererAfterUpdateLayout(this)) 
   112     if (renderer())
   119  	    renderer->select(); 
   113         static_cast<RenderTextControl *>(renderer())->select();
   120 }
   114 }
   121 
   115 
   122 void HTMLTextAreaElement::setSelectionRange(int start, int end)
   116 void HTMLTextAreaElement::setSelectionRange(int start, int end)
   123 {
   117 {
   124     if (RenderTextControl* renderer = rendererAfterUpdateLayout(this)) 
   118     if (renderer())
   125  	   renderer->setSelectionRange(start, end); 
   119         static_cast<RenderTextControl*>(renderer())->setSelectionRange(start, end);
   126 }
   120 }
   127 
   121 
   128 void HTMLTextAreaElement::childrenChanged()
   122 void HTMLTextAreaElement::childrenChanged()
   129 {
   123 {
   130     setValue(defaultValue());
   124     setValue(defaultValue());