summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WebCore/platform/android/FileChooserAndroid.cpp5
-rw-r--r--WebKit/android/nav/CacheBuilder.cpp8
2 files changed, 8 insertions, 5 deletions
diff --git a/WebCore/platform/android/FileChooserAndroid.cpp b/WebCore/platform/android/FileChooserAndroid.cpp
index d54c809..c293e66 100644
--- a/WebCore/platform/android/FileChooserAndroid.cpp
+++ b/WebCore/platform/android/FileChooserAndroid.cpp
@@ -36,7 +36,9 @@ String FileChooser::basenameForWidth(const Font& font, int width) const
return String();
// FIXME: This could be a lot faster, but assuming the data will not
// often be much longer than the provided width, this may be fast enough.
- String output = m_filenames[0].copy();
+ // If this does not need to be threadsafe, we can use crossThreadString().
+ // See http://trac.webkit.org/changeset/49160.
+ String output = m_filenames[0].threadsafeCopy();
while (font.width(TextRun(output.impl())) > width && output.length() > 4) {
output = output.replace(0, 4, String("..."));
}
@@ -58,4 +60,3 @@ String fileButtonNoFileSelectedLabel()
}
} // namesapce WebCore
-
diff --git a/WebKit/android/nav/CacheBuilder.cpp b/WebKit/android/nav/CacheBuilder.cpp
index 80965d2..72dad07 100644
--- a/WebKit/android/nav/CacheBuilder.cpp
+++ b/WebKit/android/nav/CacheBuilder.cpp
@@ -1106,7 +1106,9 @@ void CacheBuilder::BuildFrame(Frame* root, Frame* frame,
}
isPassword = input->inputType() == HTMLInputElement::PASSWORD;
maxLength = input->maxLength();
- name = input->name().string().copy();
+ // If this does not need to be threadsafe, we can use crossThreadString().
+ // See http://trac.webkit.org/changeset/49160.
+ name = input->name().string().threadsafeCopy();
isUnclipped = isTransparent; // can't detect if this is drawn on top (example: deviant.com login parts)
} else if (node->hasTagName(HTMLNames::textareaTag)) {
isTextArea = wantsKeyEvents = true;
@@ -1123,14 +1125,14 @@ void CacheBuilder::BuildFrame(Frame* root, Frame* frame,
KURL href = anchorNode->href();
if (!href.isEmpty() && !WebCore::protocolIsJavaScript(href.string()))
// Set the exported string for all non-javascript anchors.
- exported = href.string().copy();
+ exported = href.string().threadsafeCopy();
}
if (isTextField || isTextArea) {
RenderTextControl* renderText =
static_cast<RenderTextControl*>(nodeRenderer);
if (isFocus)
cachedRoot->setSelection(renderText->selectionStart(), renderText->selectionEnd());
- exported = renderText->text().copy();
+ exported = renderText->text().threadsafeCopy();
// FIXME: Would it be better to use (float) size()?
// FIXME: Are we sure there will always be a style and font, and it's correct?
RenderStyle* style = nodeRenderer->style();