DeleteButtonController::enable/disable should be wrapped in a RAII object. Introducing such a RAII object will also allow us to further reduce the number of if-defs for ENABLE_DELETION_UI.
Created attachment 188097 [details] Cleanup
Created attachment 188098 [details] Cleanup
Comment on attachment 188098 [details] Cleanup Attachment 188098 [details] did not pass cr-linux-debug-ews (chromium-xvfb): Output: http://queues.webkit.org/results/16538176
Comment on attachment 188098 [details] Cleanup Attachment 188098 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/16537200
Comment on attachment 188098 [details] Cleanup Attachment 188098 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/16543211
Comment on attachment 188098 [details] Cleanup Attachment 188098 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/16514224
Comment on attachment 188098 [details] Cleanup Attachment 188098 [details] did not pass cr-android-ews (chromium-android): Output: http://queues.webkit.org/results/16538177
Comment on attachment 188098 [details] Cleanup Attachment 188098 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/16454927
Comment on attachment 188098 [details] Cleanup Attachment 188098 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/16536200
Created attachment 188113 [details] Fixed build
Comment on attachment 188113 [details] Fixed build View in context: https://bugs.webkit.org/attachment.cgi?id=188113&action=review Nicely done. Please address my comment before landing. > Source/WebCore/editing/markup.cpp:650 > + RefPtr<Range> updatedRangeRef = frame->editor()->avoidIntersectionWithDeleteButtonController(range); There is now nothing that checks here if the frame is not NULL. If the check was needed before I think you should add it.
Committed r143030: <http://trac.webkit.org/changeset/143030>
Fixed one obvious error in my patch: http://trac.webkit.org/changeset/143048