Reviewed by Darin
authorsullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Mar 2007 21:20:49 +0000 (21:20 +0000)
committersullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Mar 2007 21:20:49 +0000 (21:20 +0000)
        Followup for recent fix to 5079700, found by assertion added to Safari.

        * page/mac/FrameMac.mm:
        (WebCore::Frame::searchForLabelsBeforeElement):
        Fixed another place in this method where an empty NSString was being returned instead of nil.
        Cleaned up the style a little too.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20404 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/page/mac/FrameMac.mm

index 68834fdba205245c8c283233102e2b6b079b2b51..66028723c471326f311253eb78ba79d85b0fa5a2 100644 (file)
@@ -1,3 +1,14 @@
+2007-03-22  John Sullivan  <sullivan@apple.com>
+
+        Reviewed by Darin
+        
+        Followup for recent fix to 5079700, found by assertion added to Safari.
+
+        * page/mac/FrameMac.mm:
+        (WebCore::Frame::searchForLabelsBeforeElement):
+        Fixed another place in this method where an empty NSString was being returned instead of nil.
+        Cleaned up the style a little too.
+
 2007-03-22  David Hyatt  <hyatt@apple.com>
 
         Remove unnecessary destroyFrameAtIndex call.  Now that we throw away
index ffa60b61f0fb02069b9a781d6f5683256c4c8b8d..ba96c8fd8210a3767667af08f4302004d807c1d7 100644 (file)
@@ -265,9 +265,8 @@ NSString* Frame::searchForLabelsBeforeElement(NSArray* labels, Element* element)
             startingTableCell = static_cast<HTMLTableCellElement*>(n);
         } else if (n->hasTagName(trTag) && startingTableCell) {
             NSString* result = searchForLabelsAboveCell(regExp, startingTableCell);
-            if (result && [result length] > 0) {
+            if (result && [result length] > 0)
                 return result;
-            }
             searchedCellAbove = true;
         } else if (n->isTextNode() && n->renderer() && n->renderer()->style()->visibility() == VISIBLE) {
             // For each text chunk, run the regexp
@@ -278,18 +277,20 @@ NSString* Frame::searchForLabelsBeforeElement(NSArray* labels, Element* element)
             int pos = regExp->searchRev(nodeString);
             if (pos >= 0)
                 return nodeString.mid(pos, regExp->matchedLength()).getNSString();
-            else
-                lengthSearched += nodeString.length();
+
+            lengthSearched += nodeString.length();
         }
     }
 
     // If we started in a cell, but bailed because we found the start of the form or the
     // previous element, we still might need to search the row above us for a label.
     if (startingTableCell && !searchedCellAbove) {
-         return searchForLabelsAboveCell(regExp, startingTableCell);
-    } else {
-        return nil;
+        NSString* result = searchForLabelsAboveCell(regExp, startingTableCell);
+        if (result && [result length] > 0)
+            return result;
     }
+    
+    return nil;
 }
 
 NSString* Frame::matchLabelsAgainstElement(NSArray* labels, Element* element)