[GTK][WK2] Avoid Vector copies in WebViewBaseInputMethodFilter::setPreedit()
authorzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 29 Apr 2014 08:44:14 +0000 (08:44 +0000)
committerzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 29 Apr 2014 08:44:14 +0000 (08:44 +0000)
https://bugs.webkit.org/show_bug.cgi?id=132323

Reviewed by Carlos Garcia Campos.

* UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp:
(WebKit::WebViewBaseInputMethodFilter::setPreedit): Inline the Vector object construction into
the WebPageProxy::setComposition() call to avoid extra Vector copies and moves.

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

Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp

index 75dbca2..78310fd 100644 (file)
@@ -1,3 +1,14 @@
+2014-04-29  Zan Dobersek  <zdobersek@igalia.com>
+
+        [GTK][WK2] Avoid Vector copies in WebViewBaseInputMethodFilter::setPreedit()
+        https://bugs.webkit.org/show_bug.cgi?id=132323
+
+        Reviewed by Carlos Garcia Campos.
+
+        * UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp:
+        (WebKit::WebViewBaseInputMethodFilter::setPreedit): Inline the Vector object construction into
+        the WebPageProxy::setComposition() call to avoid extra Vector copies and moves.
+
 2014-04-28  Dan Bernstein  <mitz@apple.com>
 
         <rdar://problem/16750708> REGRESSION (r159358): Crash in InjectedBundleHitTestResult::frame
index 695ae56..e09982e 100644 (file)
@@ -87,14 +87,9 @@ void WebViewBaseInputMethodFilter::cancelCurrentComposition()
 void WebViewBaseInputMethodFilter::setPreedit(String newPreedit, int /* cursorOffset */)
 {
     // TODO: We should parse the PangoAttrList that we get from the IM context here.
-    Vector<CompositionUnderline> underlines;
-    underlines.append(CompositionUnderline(0, newPreedit.length(), Color(1, 1, 1), false));
-
     ASSERT(m_webPageProxy);
-    m_webPageProxy->setComposition(newPreedit, underlines,
-                                   m_cursorOffset, m_cursorOffset,
-                                   0 /* replacement start */,
-                                   0 /* replacement end */);
+    m_webPageProxy->setComposition(newPreedit, Vector<CompositionUnderline>{ CompositionUnderline(0, newPreedit.length(), Color(1, 1, 1), false) },
+        m_cursorOffset, m_cursorOffset, 0 /* replacement start */, 0 /* replacement end */);
 }
 
 } // namespace WebKit