Changeset 168306 in webkit
- Timestamp:
- May 5, 2014 11:49:54 AM (10 years ago)
- Location:
- trunk
- Files:
-
- 2 deleted
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r168302 r168306 1 2014-05-05 Radu Stavila <stavila@adobe.com> 2 3 [CSS Regions] Remove regionLayoutUpdate event 4 https://bugs.webkit.org/show_bug.cgi?id=132564 5 6 Reviewed by Simon Fraser. 7 8 Removed test for regionLayoutUpdate event. 9 10 * fast/regions/auto-size/autoheight-regionlayoutupdate-multipletimes-expected.txt: Removed. 11 * fast/regions/auto-size/autoheight-regionlayoutupdate-multipletimes.html: Removed. 12 1 13 2014-05-05 Rik Cabanier <cabanier@adobe.com> 2 14 -
trunk/Source/WebCore/ChangeLog
r168302 r168306 1 2014-05-05 Radu Stavila <stavila@adobe.com> 2 3 [CSS Regions] Remove regionLayoutUpdate event 4 https://bugs.webkit.org/show_bug.cgi?id=132564 5 6 Reviewed by Simon Fraser. 7 8 The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events: 9 regionOversetChange and regionFragmentChange. 10 11 No new tests needed, this patch removes a feature. 12 13 * dom/EventNames.h: 14 * dom/WebKitNamedFlow.cpp: 15 (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent): Deleted. 16 * dom/WebKitNamedFlow.h: 17 * inspector/InspectorCSSAgent.cpp: 18 (WebCore::InspectorCSSAgent::resetNonPersistentData): 19 (WebCore::InspectorCSSAgent::willRemoveNamedFlow): 20 (WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask): Deleted. 21 (WebCore::UpdateRegionLayoutTask::scheduleFor): Deleted. 22 (WebCore::UpdateRegionLayoutTask::unschedule): Deleted. 23 (WebCore::UpdateRegionLayoutTask::reset): Deleted. 24 (WebCore::UpdateRegionLayoutTask::timerFired): Deleted. 25 (WebCore::InspectorCSSAgent::didUpdateRegionLayout): Deleted. 26 (WebCore::InspectorCSSAgent::regionLayoutUpdated): Deleted. 27 * inspector/InspectorCSSAgent.h: 28 * inspector/InspectorInstrumentation.cpp: 29 (WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl): Deleted. 30 * inspector/InspectorInstrumentation.h: 31 (WebCore::InspectorInstrumentation::didUpdateRegionLayout): Deleted. 32 * inspector/protocol/CSS.json: 33 * rendering/RenderNamedFlowFragment.cpp: 34 (WebCore::RenderNamedFlowFragment::updateOversetState): 35 * rendering/RenderNamedFlowThread.cpp: 36 (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): 37 (WebCore::RenderNamedFlowThread::removeRegionFromThread): 38 (WebCore::RenderNamedFlowThread::layout): 39 (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEventIfNeeded): Deleted. 40 (WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired): Deleted. 41 * rendering/RenderNamedFlowThread.h: 42 1 43 2014-05-05 Rik Cabanier <cabanier@adobe.com> 2 44 -
trunk/Source/WebCore/dom/EventNames.h
r167750 r168306 262 262 macro(webkitpointerlockerror) \ 263 263 \ 264 macro(webkitregionlayoutupdate) \265 \266 264 macro(webkitregionoversetchange) \ 267 265 \ -
trunk/Source/WebCore/dom/WebKitNamedFlow.cpp
r164988 r168306 209 209 } 210 210 211 void WebKitNamedFlow::dispatchRegionLayoutUpdateEvent()212 {213 ASSERT(!NoEventDispatchAssertion::isEventDispatchForbidden());214 215 // If the flow is in the "NULL" state the event should not be dispatched any more.216 if (flowState() == FlowStateNull)217 return;218 219 dispatchEvent(UIEvent::create(eventNames().webkitregionlayoutupdateEvent, false, false, m_flowManager->document()->defaultView(), 0));220 }221 222 211 void WebKitNamedFlow::dispatchRegionOversetChangeEvent() 223 212 { -
trunk/Source/WebCore/dom/WebKitNamedFlow.h
r162158 r168306 79 79 FlowState flowState() const { return m_parentFlowThread ? FlowStateCreated : FlowStateNull; } 80 80 81 void dispatchRegionLayoutUpdateEvent();82 81 void dispatchRegionOversetChangeEvent(); 83 82 -
trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp
r167631 r168306 106 106 } 107 107 108 class UpdateRegionLayoutTask {109 public:110 UpdateRegionLayoutTask(InspectorCSSAgent*);111 void scheduleFor(WebKitNamedFlow*, int documentNodeId);112 void unschedule(WebKitNamedFlow*);113 void reset();114 void timerFired(Timer<UpdateRegionLayoutTask>&);115 116 private:117 InspectorCSSAgent* m_cssAgent;118 Timer<UpdateRegionLayoutTask> m_timer;119 HashMap<WebKitNamedFlow*, int> m_namedFlows;120 };121 122 UpdateRegionLayoutTask::UpdateRegionLayoutTask(InspectorCSSAgent* cssAgent)123 : m_cssAgent(cssAgent)124 , m_timer(this, &UpdateRegionLayoutTask::timerFired)125 {126 }127 128 void UpdateRegionLayoutTask::scheduleFor(WebKitNamedFlow* namedFlow, int documentNodeId)129 {130 m_namedFlows.add(namedFlow, documentNodeId);131 132 if (!m_timer.isActive())133 m_timer.startOneShot(0);134 }135 136 void UpdateRegionLayoutTask::unschedule(WebKitNamedFlow* namedFlow)137 {138 m_namedFlows.remove(namedFlow);139 }140 141 void UpdateRegionLayoutTask::reset()142 {143 m_timer.stop();144 m_namedFlows.clear();145 }146 147 void UpdateRegionLayoutTask::timerFired(Timer<UpdateRegionLayoutTask>&)148 {149 // The timer is stopped on m_cssAgent destruction, so this method will never be called after m_cssAgent has been destroyed.150 Vector<std::pair<WebKitNamedFlow*, int>> namedFlows;151 152 for (HashMap<WebKitNamedFlow*, int>::iterator it = m_namedFlows.begin(), end = m_namedFlows.end(); it != end; ++it)153 namedFlows.append(std::make_pair(it->key, it->value));154 155 for (unsigned i = 0, size = namedFlows.size(); i < size; ++i) {156 WebKitNamedFlow* namedFlow = namedFlows.at(i).first;157 int documentNodeId = namedFlows.at(i).second;158 159 if (m_namedFlows.contains(namedFlow)) {160 m_cssAgent->regionLayoutUpdated(namedFlow, documentNodeId);161 m_namedFlows.remove(namedFlow);162 }163 }164 165 if (!m_namedFlows.isEmpty() && !m_timer.isActive())166 m_timer.startOneShot(0);167 }168 169 108 class ChangeRegionOversetTask { 170 109 public: … … 542 481 { 543 482 m_namedFlowCollectionsRequested.clear(); 544 if (m_updateRegionLayoutTask)545 m_updateRegionLayoutTask->reset();546 483 if (m_changeRegionOversetTask) 547 484 m_changeRegionOversetTask->reset(); … … 581 518 return; 582 519 583 if (m_updateRegionLayoutTask)584 m_updateRegionLayoutTask->unschedule(namedFlow);585 586 520 if (m_changeRegionOversetTask) 587 521 m_changeRegionOversetTask->unschedule(namedFlow); 588 522 589 523 m_frontendDispatcher->namedFlowRemoved(documentNodeId, namedFlow->name().string()); 590 }591 592 void InspectorCSSAgent::didUpdateRegionLayout(Document* document, WebKitNamedFlow* namedFlow)593 {594 int documentNodeId = documentNodeWithRequestedFlowsId(document);595 if (!documentNodeId)596 return;597 598 if (!m_updateRegionLayoutTask)599 m_updateRegionLayoutTask = std::make_unique<UpdateRegionLayoutTask>(this);600 m_updateRegionLayoutTask->scheduleFor(namedFlow, documentNodeId);601 }602 603 void InspectorCSSAgent::regionLayoutUpdated(WebKitNamedFlow* namedFlow, int documentNodeId)604 {605 if (namedFlow->flowState() == WebKitNamedFlow::FlowStateNull)606 return;607 608 ErrorString errorString;609 Ref<WebKitNamedFlow> protect(*namedFlow);610 611 m_frontendDispatcher->regionLayoutUpdated(buildObjectForNamedFlow(&errorString, namedFlow, documentNodeId));612 524 } 613 525 -
trunk/Source/WebCore/inspector/InspectorCSSAgent.h
r167811 r168306 61 61 class StyleResolver; 62 62 class StyleRule; 63 class UpdateRegionLayoutTask;64 63 class ChangeRegionOversetTask; 65 64 … … 106 105 void didCreateNamedFlow(Document*, WebKitNamedFlow*); 107 106 void willRemoveNamedFlow(Document*, WebKitNamedFlow*); 108 void didUpdateRegionLayout(Document*, WebKitNamedFlow*);109 void regionLayoutUpdated(WebKitNamedFlow*, int documentNodeId);110 107 void didChangeRegionOverset(Document*, WebKitNamedFlow*); 111 108 void regionOversetChanged(WebKitNamedFlow*, int documentNodeId); … … 183 180 NodeIdToForcedPseudoState m_nodeIdToForcedPseudoState; 184 181 HashSet<int> m_namedFlowCollectionsRequested; 185 std::unique_ptr<UpdateRegionLayoutTask> m_updateRegionLayoutTask;186 182 std::unique_ptr<ChangeRegionOversetTask> m_changeRegionOversetTask; 187 183 -
trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp
r167571 r168306 221 221 } 222 222 223 void InspectorInstrumentation::didUpdateRegionLayoutImpl(InstrumentingAgents* instrumentingAgents, Document* document, WebKitNamedFlow* namedFlow)224 {225 if (InspectorCSSAgent* cssAgent = instrumentingAgents->inspectorCSSAgent())226 cssAgent->didUpdateRegionLayout(document, namedFlow);227 }228 229 223 void InspectorInstrumentation::didChangeRegionOversetImpl(InstrumentingAgents* instrumentingAgents, Document* document, WebKitNamedFlow* namedFlow) 230 224 { -
trunk/Source/WebCore/inspector/InspectorInstrumentation.h
r167571 r168306 128 128 static void didCreateNamedFlow(Document*, WebKitNamedFlow*); 129 129 static void willRemoveNamedFlow(Document*, WebKitNamedFlow*); 130 static void didUpdateRegionLayout(Document*, WebKitNamedFlow*);131 130 static void didChangeRegionOverset(Document*, WebKitNamedFlow*); 132 131 static void didRegisterNamedFlowContentElement(Document*, WebKitNamedFlow*, Node* contentElement, Node* nextContentElement = nullptr); … … 327 326 static void didCreateNamedFlowImpl(InstrumentingAgents*, Document*, WebKitNamedFlow*); 328 327 static void willRemoveNamedFlowImpl(InstrumentingAgents*, Document*, WebKitNamedFlow*); 329 static void didUpdateRegionLayoutImpl(InstrumentingAgents*, Document*, WebKitNamedFlow*);330 328 static void didChangeRegionOversetImpl(InstrumentingAgents*, Document*, WebKitNamedFlow*); 331 329 static void didRegisterNamedFlowContentElementImpl(InstrumentingAgents*, Document*, WebKitNamedFlow*, Node* contentElement, Node* nextContentElement = nullptr); … … 691 689 } 692 690 693 inline void InspectorInstrumentation::didUpdateRegionLayout(Document* document, WebKitNamedFlow* namedFlow)694 {695 #if ENABLE(INSPECTOR)696 FAST_RETURN_IF_NO_FRONTENDS(void());697 if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForDocument(document))698 didUpdateRegionLayoutImpl(instrumentingAgents, document, namedFlow);699 #else700 UNUSED_PARAM(document);701 UNUSED_PARAM(namedFlow);702 #endif703 }704 705 691 inline void InspectorInstrumentation::didChangeRegionOverset(Document* document, WebKitNamedFlow* namedFlow) 706 692 { -
trunk/Source/WebCore/inspector/protocol/CSS.json
r162084 r168306 402 402 }, 403 403 { 404 "name": "regionLayoutUpdated",405 "parameters": [406 { "name": "namedFlow", "$ref": "NamedFlow", "description": "The Named Flow whose layout may have changed." }407 ],408 "description": "Fires when a Named Flow's layout may have changed."409 },410 {411 404 "name": "regionOversetChanged", 412 405 "parameters": [ -
trunk/Source/WebCore/rendering/RenderNamedFlowFragment.cpp
r167930 r168306 324 324 setRegionOversetState(state); 325 325 326 // Determine whether the NamedFlow object should dispatch a regionLayoutUpdate event 327 if (previousState != state 328 || state == RegionFit 329 || state == RegionOverset) 330 flowThread->setDispatchRegionLayoutUpdateEvent(true); 331 326 // Determine whether the NamedFlow object should dispatch a regionOversetChange event 332 327 if (previousState != state) 333 328 flowThread->setDispatchRegionOversetChangeEvent(true); -
trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp
r167930 r168306 49 49 : RenderFlowThread(document, std::move(style)) 50 50 , m_hasRegionsWithStyling(false) 51 , m_dispatchRegionLayoutUpdateEvent(false)52 51 , m_dispatchRegionOversetChangeEvent(false) 53 52 , m_namedFlow(std::move(namedFlow)) 54 , m_regionLayoutUpdateEventTimer(this, &RenderNamedFlowThread::regionLayoutUpdateEventTimerFired)55 53 , m_regionOversetChangeEventTimer(this, &RenderNamedFlowThread::regionOversetChangeEventTimerFired) 56 54 { … … 272 270 setMarkForDestruction(); 273 271 274 // After removing all the regions in the flow the following layout needs to dispatch the regionLayoutUpdate event 275 if (m_regionList.isEmpty()) 276 setDispatchRegionLayoutUpdateEvent(true); 277 else if (wasFirst) 272 if (!m_regionList.isEmpty() && wasFirst) 278 273 updateWritingMode(); 279 274 … … 417 412 updatePreviousRegionCount(); 418 413 } 419 420 dispatchRegionLayoutUpdateEventIfNeeded();421 414 } 422 415 … … 556 549 } 557 550 558 void RenderNamedFlowThread::dispatchRegionLayoutUpdateEventIfNeeded()559 {560 if (!m_dispatchRegionLayoutUpdateEvent)561 return;562 563 m_dispatchRegionLayoutUpdateEvent = false;564 InspectorInstrumentation::didUpdateRegionLayout(&document(), &namedFlow());565 566 if (!m_regionLayoutUpdateEventTimer.isActive() && namedFlow().hasEventListeners())567 m_regionLayoutUpdateEventTimer.startOneShot(0);568 }569 570 551 void RenderNamedFlowThread::dispatchRegionOversetChangeEventIfNeeded() 571 552 { … … 578 559 if (!m_regionOversetChangeEventTimer.isActive() && namedFlow().hasEventListeners()) 579 560 m_regionOversetChangeEventTimer.startOneShot(0); 580 }581 582 void RenderNamedFlowThread::regionLayoutUpdateEventTimerFired(Timer<RenderNamedFlowThread>&)583 {584 namedFlow().dispatchRegionLayoutUpdateEvent();585 561 } 586 562 -
trunk/Source/WebCore/rendering/RenderNamedFlowThread.h
r167930 r168306 97 97 void dispatchNamedFlowEvents(); 98 98 99 void setDispatchRegionLayoutUpdateEvent(bool value) { m_dispatchRegionLayoutUpdateEvent = value; }100 99 void setDispatchRegionOversetChangeEvent(bool value) { m_dispatchRegionOversetChangeEvent = value; } 101 100 … … 113 112 virtual void layout() override final; 114 113 115 void dispatchRegionLayoutUpdateEventIfNeeded();116 114 void dispatchRegionOversetChangeEventIfNeeded(); 117 115 … … 125 123 126 124 bool canBeDestroyed() const { return m_invalidRegionList.isEmpty() && m_regionList.isEmpty() && m_contentElements.isEmpty(); } 127 void regionLayoutUpdateEventTimerFired(Timer<RenderNamedFlowThread>&);128 125 void regionOversetChangeEventTimerFired(Timer<RenderNamedFlowThread>&); 129 126 void clearContentElements(); … … 151 148 152 149 bool m_hasRegionsWithStyling : 1; 153 bool m_dispatchRegionLayoutUpdateEvent : 1;154 150 bool m_dispatchRegionOversetChangeEvent : 1; 155 151 … … 157 153 Ref<WebKitNamedFlow> m_namedFlow; 158 154 159 Timer<RenderNamedFlowThread> m_regionLayoutUpdateEventTimer;160 155 Timer<RenderNamedFlowThread> m_regionOversetChangeEventTimer; 161 156 -
trunk/Source/WebInspectorUI/ChangeLog
r168170 r168306 1 2014-05-05 Radu Stavila <stavila@adobe.com> 2 3 [CSS Regions] Remove regionLayoutUpdate event 4 https://bugs.webkit.org/show_bug.cgi?id=132564 5 6 Reviewed by Simon Fraser. 7 8 The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events: 9 regionOversetChange and regionFragmentChange. 10 11 * UserInterface/Controllers/DOMTreeManager.js: 12 (WebInspector.DOMTreeManager.prototype.get regionLayoutUpdated): Deleted. 13 * UserInterface/Models/ScriptTimelineRecord.js: 14 * UserInterface/Protocol/CSSObserver.js: 15 (WebInspector.CSSObserver.prototype.regionLayoutUpdated): Deleted. 16 * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: 17 * Versions/Inspector-iOS-7.0.json: 18 1 19 2014-05-02 Jono Wells <jonowells@apple.com> 2 20 -
trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js
r165518 r168306 59 59 ContentFlowWasAdded: "dom-tree-manager-content-flow-was-added", 60 60 ContentFlowWasRemoved: "dom-tree-manager-content-flow-was-removed", 61 RegionLayoutUpdated: "dom-tree-manager-region-layout-updated",62 61 RegionOversetChanged: "dom-tree-manager-region-overset-changed" 63 62 }; … … 618 617 }, 619 618 620 regionLayoutUpdated: function(flowPayload)621 {622 this._sendNamedFlowUpdateEvents(flowPayload);623 },624 625 619 regionOversetChanged: function(flowPayload) 626 620 { -
trunk/Source/WebInspectorUI/UserInterface/Models/ScriptTimelineRecord.js
r167509 r168306 191 191 nameMap.set("webkitpointerlockchange", "Pointer Lock Change"); 192 192 nameMap.set("webkitpointerlockerror", "Pointer Lock Error"); 193 nameMap.set("webkitregionlayoutupdate", "Region Layout Update");194 193 nameMap.set("webkitregionoversetchange", "Region Overset Change"); 195 194 nameMap.set("webkitremovesourcebuffer", "Remove Source Buffer"); -
trunk/Source/WebInspectorUI/UserInterface/Protocol/CSSObserver.js
r164543 r168306 64 64 }, 65 65 66 regionLayoutUpdated: function(namedFlow)67 {68 WebInspector.domTreeManager.regionLayoutUpdated(namedFlow);69 },70 71 66 regionOversetChanged: function(namedFlow) 72 67 { -
trunk/Source/WebInspectorUI/UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js
r166846 r168306 204 204 InspectorBackend.registerEvent("CSS.namedFlowCreated", ["namedFlow"]); 205 205 InspectorBackend.registerEvent("CSS.namedFlowRemoved", ["documentNodeId", "flowName"]); 206 InspectorBackend.registerEvent("CSS.regionLayoutUpdated", ["namedFlow"]);207 206 InspectorBackend.registerCommand("CSS.enable", [], []); 208 207 InspectorBackend.registerCommand("CSS.disable", [], []); -
trunk/Source/WebInspectorUI/Versions/Inspector-iOS-7.0.json
r166942 r168306 2184 2184 ], 2185 2185 "description": "Fires when a Named Flow is removed: has no associated content nodes and regions." 2186 },2187 {2188 "name": "regionLayoutUpdated",2189 "parameters": [2190 { "name": "namedFlow", "$ref": "NamedFlow", "description": "The Named Flow whose layout may have changed." }2191 ],2192 "description": "Fires when a Named Flow's layout may have changed."2193 2186 } 2194 2187 ]
Note: See TracChangeset
for help on using the changeset viewer.