Changeset 252122 in webkit
- Timestamp:
- Nov 5, 2019 7:56:05 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r252121 r252122 1 2019-11-05 Ryosuke Niwa <rniwa@webkit.org> 2 3 Integrate visualViewport's resize event with HTML5 event loop 4 https://bugs.webkit.org/show_bug.cgi?id=203842 5 6 Reviewed by Simon Fraser. 7 8 Added a test to make sure resize event fires on visualViewport in the frame tree order. 9 10 * fast/visual-viewport/visual-viewport-resize-subframe-in-rendering-update-expected.txt: Added. 11 * fast/visual-viewport/visual-viewport-resize-subframe-in-rendering-update.html: Added. 12 1 13 2019-11-05 Justin Fan <justin_fan@apple.com> 2 14 -
trunk/Source/WebCore/ChangeLog
r252118 r252122 1 2019-11-05 Ryosuke Niwa <rniwa@webkit.org> 2 3 Integrate visualViewport's resize event with HTML5 event loop 4 https://bugs.webkit.org/show_bug.cgi?id=203842 5 6 Reviewed by Simon Fraser. 7 8 Integrate the visual viewport API's resize event with HTML5 event loop 9 as intended in r251867. 10 11 Test: fast/events/resize-subframe-in-rendering-update.html 12 13 * dom/DocumentEventQueue.cpp: 14 (WebCore::DocumentEventQueue::enqueueResizeEvent): Deleted. 15 * dom/DocumentEventQueue.h: 16 * page/VisualViewport.cpp: 17 (WebCore::VisualViewport::update): 18 (WebCore::VisualViewport::enqueueResizeEvent): Deleted. 19 1 20 2019-11-05 Fujii Hironori <Hironori.Fujii@sony.com> 2 21 -
trunk/Source/WebCore/dom/DocumentEventQueue.cpp
r250464 r252122 106 106 } 107 107 108 void DocumentEventQueue::enqueueResizeEvent(EventTarget& target, Event::CanBubble canBubble, Event::IsCancelable cancelable)109 {110 if (m_isClosed)111 return;112 113 if (!m_document.hasListenerType(Document::RESIZE_LISTENER))114 return;115 116 if (!m_targetsWithQueuedResizeEvents.add(&target).isNewEntry)117 return;118 119 Ref<Event> resizeEvent = Event::create(eventNames().resizeEvent, canBubble, cancelable);120 resizeEvent->setTarget(&target);121 enqueueEvent(WTFMove(resizeEvent));122 }123 124 108 bool DocumentEventQueue::cancelEvent(Event& event) 125 109 { -
trunk/Source/WebCore/dom/DocumentEventQueue.h
r234995 r252122 50 50 void enqueueOrDispatchScrollEvent(Node&); 51 51 void enqueueScrollEvent(EventTarget&, Event::CanBubble, Event::IsCancelable); 52 void enqueueResizeEvent(EventTarget&, Event::CanBubble, Event::IsCancelable);53 52 54 53 private: -
trunk/Source/WebCore/page/VisualViewport.cpp
r251567 r252122 151 151 double scale = 1; 152 152 153 if (auto* frame = this->frame()) { 153 auto frame = makeRefPtr(this->frame()); 154 if (frame) { 154 155 if (auto* view = frame->view()) { 155 156 auto visualViewportRect = view->visualViewportRect(); … … 174 175 } 175 176 if (m_width != width || m_height != height || m_scale != scale) { 176 enqueueResizeEvent(); 177 if (auto* frame = this->frame()) 178 frame->document()->setNeedsVisualViewportResize(); 177 179 m_width = width; 178 180 m_height = height; 179 181 m_scale = scale; 180 182 } 181 }182 183 void VisualViewport::enqueueResizeEvent()184 {185 auto* frame = this->frame();186 if (!frame)187 return;188 189 frame->document()->eventQueue().enqueueResizeEvent(*this, Event::CanBubble::No, Event::IsCancelable::No);190 183 } 191 184
Note: See TracChangeset
for help on using the changeset viewer.