diff options
| -rw-r--r-- | WebCore/platform/android/FileChooserAndroid.cpp | 5 | ||||
| -rw-r--r-- | WebKit/android/nav/CacheBuilder.cpp | 8 |
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(); |
