Changeset 239589 in webkit
- Timestamp:
- Jan 3, 2019 7:34:34 AM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 11 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r239584 r239589 1 2019-01-03 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 WebUndoStep's monotonically increasing identifier should be a WebUndoStepID instead of uint64_t 4 https://bugs.webkit.org/show_bug.cgi?id=193100 5 6 Reviewed by Simon Fraser. 7 8 Add a type alias, WebUndoStepID, to represent the monotonically increasing undo step ID for each undoable 9 editing command, and use this type alias in lieu of `uint64_t`. No change in behavior. 10 11 * UIProcess/WebEditCommandProxy.cpp: 12 (WebKit::WebEditCommandProxy::WebEditCommandProxy): 13 * UIProcess/WebEditCommandProxy.h: 14 (WebKit::WebEditCommandProxy::create): 15 (WebKit::WebEditCommandProxy::commandID const): 16 * UIProcess/WebPageProxy.cpp: 17 (WebKit::WebPageProxy::registerEditCommandForUndo): 18 * UIProcess/WebPageProxy.h: 19 * WebKit.xcodeproj/project.pbxproj: 20 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 21 (WebKit::WebEditorClient::registerUndoStep): 22 23 Store the step ID in a temporary variable, since `webUndoStep` is now moved when calling `addWebUndoStep`. 24 25 * WebProcess/WebPage/WebPage.cpp: 26 (WebKit::WebPage::webUndoStep): 27 (WebKit::WebPage::addWebUndoStep): 28 29 Make this take a `Ref<WebUndoStep>&&` instead of a `WebUndoStep*`, and use move semantics to transfer the 30 given `Ref` to the table. 31 32 (WebKit::WebPage::removeWebEditCommand): 33 (WebKit::WebPage::unapplyEditCommand): 34 (WebKit::WebPage::reapplyEditCommand): 35 36 Use `auto*` in a couple of places. 37 38 (WebKit::WebPage::didRemoveEditCommand): 39 * WebProcess/WebPage/WebPage.h: 40 * WebProcess/WebPage/WebUndoStep.cpp: 41 (WebKit::generateUndoStep): 42 * WebProcess/WebPage/WebUndoStep.h: 43 (WebKit::WebUndoStep::stepID const): 44 (WebKit::WebUndoStep::WebUndoStep): 45 * WebProcess/WebPage/WebUndoStepID.h: Copied from Source/WebKit/WebProcess/WebPage/WebUndoStep.cpp. 46 1 47 2019-01-02 Wenson Hsieh <wenson_hsieh@apple.com> 2 48 -
trunk/Source/WebKit/UIProcess/WebEditCommandProxy.cpp
r238475 r239589 37 37 using namespace WebCore; 38 38 39 WebEditCommandProxy::WebEditCommandProxy( uint64_tcommandID, WebCore::EditAction editAction, WebPageProxy* page)39 WebEditCommandProxy::WebEditCommandProxy(WebUndoStepID commandID, WebCore::EditAction editAction, WebPageProxy* page) 40 40 : m_commandID(commandID) 41 41 , m_editAction(editAction) -
trunk/Source/WebKit/UIProcess/WebEditCommandProxy.h
r216794 r239589 27 27 28 28 #include "APIObject.h" 29 #include "WebUndoStepID.h" 29 30 #include <WebCore/EditAction.h> 30 31 #include <wtf/Forward.h> … … 38 39 class WebEditCommandProxy : public API::ObjectImpl<API::Object::Type::EditCommandProxy> { 39 40 public: 40 static Ref<WebEditCommandProxy> create( uint64_tcommandID, WebCore::EditAction editAction, WebPageProxy* page)41 static Ref<WebEditCommandProxy> create(WebUndoStepID commandID, WebCore::EditAction editAction, WebPageProxy* page) 41 42 { 42 43 return adoptRef(*new WebEditCommandProxy(commandID, editAction, page)); … … 44 45 ~WebEditCommandProxy(); 45 46 46 uint64_tcommandID() const { return m_commandID; }47 WebUndoStepID commandID() const { return m_commandID; } 47 48 WebCore::EditAction editAction() const { return m_editAction; } 48 49 … … 55 56 56 57 private: 57 WebEditCommandProxy( uint64_tcommandID, WebCore::EditAction, WebPageProxy*);58 WebEditCommandProxy(WebUndoStepID commandID, WebCore::EditAction, WebPageProxy*); 58 59 59 uint64_tm_commandID;60 WebUndoStepID m_commandID; 60 61 WebCore::EditAction m_editAction; 61 62 WebPageProxy* m_page; -
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
r239535 r239589 5341 5341 // Undo management 5342 5342 5343 void WebPageProxy::registerEditCommandForUndo( uint64_tcommandID, uint32_t editAction)5343 void WebPageProxy::registerEditCommandForUndo(WebUndoStepID commandID, uint32_t editAction) 5344 5344 { 5345 5345 registerEditCommand(WebEditCommandProxy::create(commandID, static_cast<EditAction>(editAction), this), UndoOrRedo::Undo); -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r239584 r239589 66 66 #include "WebPopupMenuProxy.h" 67 67 #include "WebProcessLifetimeTracker.h" 68 #include "WebUndoStepID.h" 68 69 #include "WebsitePoliciesData.h" 69 70 #include <WebCore/ActivityState.h> … … 1616 1617 1617 1618 // Undo management 1618 void registerEditCommandForUndo( uint64_tcommandID, uint32_t editAction);1619 void registerEditCommandForUndo(WebUndoStepID commandID, uint32_t editAction); 1619 1620 void registerInsertionUndoGrouping(); 1620 1621 void clearAllEditCommands(); -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r239584 r239589 4512 4512 F496A42F1F58A272004C1757 /* DragDropInteractionState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DragDropInteractionState.h; path = ios/DragDropInteractionState.h; sourceTree = "<group>"; }; 4513 4513 F496A4301F58A272004C1757 /* DragDropInteractionState.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = DragDropInteractionState.mm; path = ios/DragDropInteractionState.mm; sourceTree = "<group>"; }; 4514 F4B378D021DDBBAB0095A378 /* WebUndoStepID.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebUndoStepID.h; sourceTree = "<group>"; }; 4514 4515 F4D5F519206087A00038BBA8 /* WKTextInputListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKTextInputListViewController.h; path = ios/forms/WKTextInputListViewController.h; sourceTree = "<group>"; }; 4515 4516 F4D5F51A206087A10038BBA8 /* WKTextInputListViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKTextInputListViewController.mm; path = ios/forms/WKTextInputListViewController.mm; sourceTree = "<group>"; }; … … 7269 7270 BCA0EF7E12331E78007D3CFB /* WebUndoStep.cpp */, 7270 7271 BCA0EF7D12331E78007D3CFB /* WebUndoStep.h */, 7272 F4B378D021DDBBAB0095A378 /* WebUndoStepID.h */, 7271 7273 51D1242A1E6D41BC002B2820 /* WebURLSchemeHandlerProxy.cpp */, 7272 7274 51D1242B1E6D41BC002B2820 /* WebURLSchemeHandlerProxy.h */, -
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.cpp
r238389 r239589 311 311 312 312 auto webStep = WebUndoStep::create(step); 313 auto stepID = webStep->stepID(); 313 314 auto editAction = static_cast<uint32_t>(webStep->step().editingAction()); 314 315 315 m_page->addWebUndoStep( webStep->stepID(), webStep.ptr());316 m_page->send(Messages::WebPageProxy::RegisterEditCommandForUndo( webStep->stepID(), editAction), m_page->pageID(), IPC::SendOption::DispatchMessageEvenWhenWaitingForSyncReply);316 m_page->addWebUndoStep(stepID, WTFMove(webStep)); 317 m_page->send(Messages::WebPageProxy::RegisterEditCommandForUndo(stepID, editAction), m_page->pageID(), IPC::SendOption::DispatchMessageEvenWhenWaitingForSyncReply); 317 318 } 318 319 -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
r239573 r239589 3766 3766 #endif // ENABLE(DRAG_SUPPORT) 3767 3767 3768 WebUndoStep* WebPage::webUndoStep( uint64_tstepID)3768 WebUndoStep* WebPage::webUndoStep(WebUndoStepID stepID) 3769 3769 { 3770 3770 return m_undoStepMap.get(stepID); 3771 3771 } 3772 3772 3773 void WebPage::addWebUndoStep( uint64_t stepID, WebUndoStep*entry)3774 { 3775 m_undoStepMap.set(stepID, entry);3776 } 3777 3778 void WebPage::removeWebEditCommand( uint64_tstepID)3773 void WebPage::addWebUndoStep(WebUndoStepID stepID, Ref<WebUndoStep>&& entry) 3774 { 3775 m_undoStepMap.set(stepID, WTFMove(entry)); 3776 } 3777 3778 void WebPage::removeWebEditCommand(WebUndoStepID stepID) 3779 3779 { 3780 3780 m_undoStepMap.remove(stepID); … … 3786 3786 } 3787 3787 3788 void WebPage::unapplyEditCommand( uint64_tstepID)3789 { 3790 WebUndoStep* step = webUndoStep(stepID);3788 void WebPage::unapplyEditCommand(WebUndoStepID stepID) 3789 { 3790 auto* step = webUndoStep(stepID); 3791 3791 if (!step) 3792 3792 return; … … 3795 3795 } 3796 3796 3797 void WebPage::reapplyEditCommand( uint64_tstepID)3798 { 3799 WebUndoStep* step = webUndoStep(stepID);3797 void WebPage::reapplyEditCommand(WebUndoStepID stepID) 3798 { 3799 auto* step = webUndoStep(stepID); 3800 3800 if (!step) 3801 3801 return; … … 3806 3806 } 3807 3807 3808 void WebPage::didRemoveEditCommand( uint64_tcommandID)3808 void WebPage::didRemoveEditCommand(WebUndoStepID commandID) 3809 3809 { 3810 3810 removeWebEditCommand(commandID); -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
r239584 r239589 51 51 #include "WebBackForwardListProxy.h" 52 52 #include "WebURLSchemeHandler.h" 53 #include "WebUndoStepID.h" 53 54 #include "WebUserContentController.h" 54 55 #include "WebsitePoliciesData.h" … … 356 357 const String& overrideContentSecurityPolicy() const { return m_overrideContentSecurityPolicy; } 357 358 358 WebUndoStep* webUndoStep( uint64_t);359 void addWebUndoStep( uint64_t, WebUndoStep*);360 void removeWebEditCommand( uint64_t);359 WebUndoStep* webUndoStep(WebUndoStepID); 360 void addWebUndoStep(WebUndoStepID, Ref<WebUndoStep>&&); 361 void removeWebEditCommand(WebUndoStepID); 361 362 bool isInRedo() const { return m_isInRedo; } 362 363 … … 1325 1326 void setMainFrameIsScrollable(bool); 1326 1327 1327 void unapplyEditCommand( uint64_tcommandID);1328 void reapplyEditCommand( uint64_tcommandID);1329 void didRemoveEditCommand( uint64_tcommandID);1328 void unapplyEditCommand(WebUndoStepID commandID); 1329 void reapplyEditCommand(WebUndoStepID commandID); 1330 void didRemoveEditCommand(WebUndoStepID commandID); 1330 1331 1331 1332 void findString(const String&, uint32_t findOptions, uint32_t maxMatchCount); … … 1575 1576 bool m_mayStartMediaWhenInWindow { false }; 1576 1577 1577 HashMap< uint64_t, RefPtr<WebUndoStep>> m_undoStepMap;1578 HashMap<WebUndoStepID, RefPtr<WebUndoStep>> m_undoStepMap; 1578 1579 1579 1580 #if ENABLE(CONTEXT_MENUS) -
trunk/Source/WebKit/WebProcess/WebPage/WebUndoStep.cpp
r216448 r239589 29 29 namespace WebKit { 30 30 31 static uint64_tgenerateUndoStep()31 static WebUndoStepID generateUndoStep() 32 32 { 33 static uint64_tuniqueEntryID = 1;33 static WebUndoStepID uniqueEntryID = 1; 34 34 return uniqueEntryID++; 35 35 } -
trunk/Source/WebKit/WebProcess/WebPage/WebUndoStep.h
r216448 r239589 26 26 #pragma once 27 27 28 #include "WebUndoStepID.h" 28 29 #include <WebCore/UndoStep.h> 29 30 #include <wtf/Ref.h> … … 37 38 38 39 WebCore::UndoStep& step() const { return m_step.get(); } 39 uint64_tstepID() const { return m_stepID; }40 WebUndoStepID stepID() const { return m_stepID; } 40 41 41 42 private: 42 WebUndoStep(Ref<WebCore::UndoStep>&& step, uint64_tstepID)43 WebUndoStep(Ref<WebCore::UndoStep>&& step, WebUndoStepID stepID) 43 44 : m_step(WTFMove(step)) 44 45 , m_stepID(stepID) … … 47 48 48 49 Ref<WebCore::UndoStep> m_step; 49 uint64_tm_stepID;50 WebUndoStepID m_stepID; 50 51 }; 51 52 -
trunk/Source/WebKit/WebProcess/WebPage/WebUndoStepID.h
r239588 r239589 1 1 /* 2 * Copyright (C) 201 0Apple Inc. All rights reserved.2 * Copyright (C) 2019 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 24 24 */ 25 25 26 #include "config.h" 27 #include "WebUndoStep.h" 26 #pragma once 28 27 29 namespace WebKit { 30 31 static uint64_t generateUndoStep() 32 { 33 static uint64_t uniqueEntryID = 1; 34 return uniqueEntryID++; 35 } 36 37 Ref<WebUndoStep> WebUndoStep::create(Ref<WebCore::UndoStep>&& step) 38 { 39 return adoptRef(*new WebUndoStep(WTFMove(step), generateUndoStep())); 40 } 41 42 WebUndoStep::~WebUndoStep() 43 { 44 } 45 46 } // namespace WebKit 28 using WebUndoStepID = uint64_t;
Note: See TracChangeset
for help on using the changeset viewer.