Changeset 166027 in webkit
- Timestamp:
- Mar 20, 2014 5:07:34 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r166026 r166027 1 2014-03-20 Enrica Casucci <enrica@apple.com> 2 3 [iOS WebKit2] typing and deleting text lags behind the caret movement on google.com. 4 https://bugs.webkit.org/show_bug.cgi?id=130544 5 <rdar://problem/16380296> 6 7 Reviewed by Tim Horton. 8 9 On iOS the selection is drawn in the UIProcess. If the WebProcess is 10 processing multiple requests within the same runloop, the caret could be 11 updated in the UIProcess before the WebProcess has had a chance to paint. 12 This change synchronizes the selection drawing with the tile update. 13 14 * UIProcess/WebPageProxy.h: 15 * UIProcess/ios/WKContentView.mm: 16 (-[WKContentView _didCommitLayerTree:WebKit::]): 17 * UIProcess/ios/WKContentViewInteraction.h: 18 * UIProcess/ios/WKContentViewInteraction.mm: 19 (-[WKContentView _selectionChanged]): 20 (-[WKContentView _updateChangedSelection]): 21 * WebProcess/WebPage/WebPage.cpp: 22 (WebKit::WebPage::didChangeSelection): 23 1 24 2014-03-20 Alexey Proskuryakov <ap@apple.com> 2 25 -
trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm
r165652 r166027 295 295 296 296 [_webView _didCommitLayerTree:layerTreeTransaction]; 297 [self _updateChangedSelection]; 297 298 } 298 299 -
trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h
r164955 r166027 111 111 BOOL _hasValidPositionInformation; 112 112 BOOL _isTapHighlightIDValid; 113 BOOL _selectionNeedsUpdate; 113 114 } 114 115 … … 130 131 - (void)_stopAssistingNode; 131 132 - (void)_selectionChanged; 133 - (void)_updateChangedSelection; 132 134 - (BOOL)_interpretKeyEvent:(WebIOSEvent *)theEvent isCharEvent:(BOOL)isCharEvent; 133 135 - (void)_positionInformationDidChange:(const WebKit::InteractionInformationAtPosition&)info; -
trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm
r166002 r166027 1919 1919 - (void)_selectionChanged 1920 1920 { 1921 _selectionNeedsUpdate = YES; 1922 } 1923 1924 - (void)_updateChangedSelection 1925 { 1926 if (!_selectionNeedsUpdate) 1927 return; 1928 1921 1929 // FIXME: We need to figure out what to do if the selection is changed by Javascript. 1922 1930 if (_textSelectionAssistant) { … … 1926 1934 } else 1927 1935 [_webSelectionAssistant selectionChanged]; 1936 _selectionNeedsUpdate = NO; 1928 1937 } 1929 1938 -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r166017 r166027 4098 4098 { 4099 4099 send(Messages::WebPageProxy::EditorStateChanged(editorState())); 4100 #if PLATFORM(IOS) 4101 m_drawingArea->scheduleCompositingLayerFlush(); 4102 #endif 4100 4103 } 4101 4104
Note: See TracChangeset
for help on using the changeset viewer.