Changeset 76198 in webkit
- Timestamp:
- Jan 19, 2011 7:52:42 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 12 deleted
- 33 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r76194 r76198 1 2011-01-19 James Robinson <jamesr@chromium.org> 2 3 Unreviewed, rolling out r76194. 4 http://trac.webkit.org/changeset/76194 5 https://bugs.webkit.org/show_bug.cgi?id=51218 6 7 Caused mysterious compile failure on the chromium win 8 build.webkit.org bots 9 10 * fast/animation/request-animation-frame-cancel-expected.txt: Removed. 11 * fast/animation/request-animation-frame-cancel.html: Removed. 12 * fast/animation/request-animation-frame-cancel2-expected.txt: Removed. 13 * fast/animation/request-animation-frame-cancel2.html: Removed. 14 * fast/animation/request-animation-frame-display-expected.txt: Removed. 15 * fast/animation/request-animation-frame-display.html: Removed. 16 * fast/animation/request-animation-frame-expected.txt: Removed. 17 * fast/animation/request-animation-frame-within-callback-expected.txt: Removed. 18 * fast/animation/request-animation-frame-within-callback.html: Removed. 19 * fast/animation/request-animation-frame.html: Removed. 20 * platform/chromium/test_expectations.txt: 21 * platform/gtk/Skipped: 22 * platform/mac/Skipped: 23 * platform/qt/Skipped: 24 * platform/win/Skipped: 25 1 26 2011-01-19 James Robinson <jamesr@chromium.org> 2 27 -
trunk/LayoutTests/platform/chromium/test_expectations.txt
r76194 r76198 3060 3060 BUGWK52061 DEBUG : transitions/transition-timing-function.html = PASS TEXT 3061 3061 3062 // These will fail on the canaries until a chromium-side features_overrides.gypi change lands3063 BUG_JAMESR : fast/animation = TEXT3064 3065 3062 // Failing since creation in http://trac.webkit.org/changeset/75308 3066 3063 BUG_ABARTH : svg/text/caret-in-svg-text.xhtml = TEXT -
trunk/LayoutTests/platform/gtk/Skipped
r76194 r76198 5589 5589 http/tests/xmlhttprequest/basic-auth-nopassword.html 5590 5590 5591 # Requires requestAnimationFrame support5592 fast/animation/5593 5594 5591 # https://bugs.webkit.org/show_bug.cgi?id=52297 5595 5592 editing/input/page-up-down-scrolls.html -
trunk/LayoutTests/platform/mac/Skipped
r76194 r76198 281 281 # DRT does not support toggling caret browsing on / off 282 282 editing/selection/caret-mode-paragraph-keys-navigation.html 283 284 # Requires requestAnimationFrame support285 fast/animation/ -
trunk/LayoutTests/platform/qt/Skipped
r76194 r76198 5088 5088 fast/text/emphasis-avoid-ruby.html 5089 5089 5090 # Requires requestAnimationFrame support5091 fast/animation/5092 5093 5090 # https://bugs.webkit.org/show_bug.cgi?id=42578 5094 5091 # [Qt] DRT sideeffect revealed by r63657 and r75305 -
trunk/LayoutTests/platform/win/Skipped
r76194 r76198 1116 1116 editing/selection/caret-mode-paragraph-keys-navigation.html 1117 1117 1118 # Requires requestAnimationFrame support 1119 fast/animation/ 1120 1118 # DRT does not obey addURLToRedirect 1119 http/tests/loading/cross-origin-XHR-willLoadRequest.html -
trunk/Source/WebCore/ChangeLog
r76196 r76198 1 2011-01-19 James Robinson <jamesr@chromium.org> 2 3 Unreviewed, rolling out r76194. 4 http://trac.webkit.org/changeset/76194 5 https://bugs.webkit.org/show_bug.cgi?id=51218 6 7 Caused mysterious compile failure on the chromium win 8 build.webkit.org bots 9 10 * WebCore.gypi: 11 * dom/Document.cpp: 12 (WebCore::Document::Document): 13 * dom/Document.h: 14 * dom/RequestAnimationFrameCallback.h: Removed. 15 * dom/RequestAnimationFrameCallback.idl: Removed. 16 * loader/EmptyClients.h: 17 * page/Chrome.cpp: 18 * page/Chrome.h: 19 * page/ChromeClient.h: 20 * page/DOMWindow.cpp: 21 * page/DOMWindow.h: 22 * page/DOMWindow.idl: 23 * page/FrameView.cpp: 24 * page/FrameView.h: 25 * platform/HostWindow.h: 26 1 27 2011-01-19 Simon Fraser <simon.fraser@apple.com> 2 28 -
trunk/Source/WebCore/WebCore.gypi
r76194 r76198 76 76 'dom/Range.idl', 77 77 'dom/RangeException.idl', 78 'dom/RequestAnimationFrameCallback.idl',79 78 'dom/Text.idl', 80 79 'dom/TextEvent.idl', … … 1317 1316 'dom/RangeBoundaryPoint.h', 1318 1317 'dom/RangeException.h', 1319 'dom/RequestAnimationFrameCallback.h',1320 1318 'dom/RawDataDocumentParser.h', 1321 1319 'dom/RegisteredEventListener.cpp', -
trunk/Source/WebCore/dom/Document.cpp
r76194 r76198 207 207 #endif 208 208 209 #if ENABLE(REQUEST_ANIMATION_FRAME)210 #include "RequestAnimationFrameCallback.h"211 #endif212 213 209 using namespace std; 214 210 using namespace WTF; … … 429 425 , m_directionSetOnDocumentElement(false) 430 426 , m_writingModeSetOnDocumentElement(false) 431 #if ENABLE(REQUEST_ANIMATION_FRAME)432 , m_nextRequestAnimationFrameCallbackId(0)433 #endif434 427 { 435 428 m_document = this; … … 4950 4943 } 4951 4944 4952 #if ENABLE(REQUEST_ANIMATION_FRAME)4953 int Document::webkitRequestAnimationFrame(PassRefPtr<RequestAnimationFrameCallback> callback, Element* e)4954 {4955 if (!m_requestAnimationFrameCallbacks)4956 m_requestAnimationFrameCallbacks = new RequestAnimationFrameCallbackList;4957 int id = m_nextRequestAnimationFrameCallbackId++;4958 callback->m_firedOrCancelled = false;4959 callback->m_id = id;4960 callback->m_element = e;4961 m_requestAnimationFrameCallbacks->append(callback);4962 if (FrameView* v = view())4963 v->scheduleAnimation();4964 return id;4965 }4966 4967 void Document::webkitCancelRequestAnimationFrame(int id)4968 {4969 if (!m_requestAnimationFrameCallbacks)4970 return;4971 for (size_t i = 0; i < m_requestAnimationFrameCallbacks->size(); ++i) {4972 if (m_requestAnimationFrameCallbacks->at(i)->m_id == id) {4973 m_requestAnimationFrameCallbacks->at(i)->m_firedOrCancelled = true;4974 m_requestAnimationFrameCallbacks->remove(i);4975 return;4976 }4977 }4978 }4979 4980 void Document::serviceScriptedAnimations()4981 {4982 if (!m_requestAnimationFrameCallbacks)4983 return;4984 // We want to run the callback for all elements in the document that have registered4985 // for a callback and that are visible. Running the callbacks can cause new callbacks4986 // to be registered, existing callbacks to be cancelled, and elements to gain or lose4987 // visibility so this code has to iterate carefully.4988 4989 // FIXME: Currently, this code doesn't do any visibility tests beyond checking display:4990 4991 // First, generate a list of callbacks to consider. Callbacks registered from this point4992 // on are considered only for the "next" frame, not this one.4993 RequestAnimationFrameCallbackList callbacks(*m_requestAnimationFrameCallbacks);4994 4995 // Firing the callback may cause the visibility of other elements to change. To avoid4996 // missing any callbacks, we keep iterating through the list of candiate callbacks and firing4997 // them until nothing new becomes visible.4998 bool firedCallback;4999 do {5000 firedCallback = false;5001 // A previous iteration may have invalidated style (or layout). Update styles for each iteration5002 // for now since all we check is the existence of a renderer.5003 updateStyleIfNeeded();5004 for (size_t i = 0; i < callbacks.size(); ++i) {5005 RequestAnimationFrameCallback* callback = callbacks[i].get();5006 if (!callback->m_firedOrCancelled && (!callback->m_element || callback->m_element->renderer())) {5007 callback->m_firedOrCancelled = true;5008 callback->handleEvent();5009 firedCallback = true;5010 callbacks.remove(i);5011 break;5012 }5013 }5014 } while (firedCallback);5015 5016 // Remove any callbacks we fired from the list of pending callbacks.5017 for (size_t i = 0; i < m_requestAnimationFrameCallbacks->size();) {5018 if (m_requestAnimationFrameCallbacks->at(i)->m_firedOrCancelled)5019 m_requestAnimationFrameCallbacks->remove(i);5020 else5021 ++i;5022 }5023 5024 // In most cases we expect this list to be empty, so no need to keep around the vector's inline buffer.5025 if (!m_requestAnimationFrameCallbacks->size())5026 m_requestAnimationFrameCallbacks.clear();5027 else if (FrameView* v = view())5028 v->scheduleAnimation();5029 }5030 #endif5031 5032 4945 #if ENABLE(TOUCH_EVENTS) 5033 4946 PassRefPtr<Touch> Document::createTouch(DOMWindow* window, EventTarget* target, int identifier, int pageX, int pageY, int screenX, int screenY, ExceptionCode&) const -
trunk/Source/WebCore/dom/Document.h
r76194 r76198 147 147 #endif 148 148 149 #if ENABLE(REQUEST_ANIMATION_FRAME)150 class RequestAnimationFrameCallback;151 #endif152 153 149 typedef int ExceptionCode; 154 150 … … 1077 1073 const DocumentTiming* timing() const { return &m_documentTiming; } 1078 1074 1079 #if ENABLE(REQUEST_ANIMATION_FRAME)1080 int webkitRequestAnimationFrame(PassRefPtr<RequestAnimationFrameCallback>, Element*);1081 void webkitCancelRequestAnimationFrame(int id);1082 void serviceScriptedAnimations();1083 #endif1084 1085 1075 bool mayCauseFlashOfUnstyledContent() const; 1086 1076 … … 1402 1392 DocumentTiming m_documentTiming; 1403 1393 RefPtr<MediaQueryMatcher> m_mediaQueryMatcher; 1404 1405 #if ENABLE(REQUEST_ANIMATION_FRAME)1406 typedef Vector<RefPtr<RequestAnimationFrameCallback> > RequestAnimationFrameCallbackList;1407 OwnPtr<RequestAnimationFrameCallbackList> m_requestAnimationFrameCallbacks;1408 int m_nextRequestAnimationFrameCallbackId;1409 #endif1410 1394 }; 1411 1395 -
trunk/Source/WebCore/loader/EmptyClients.h
r76194 r76198 158 158 virtual void delegatedScrollRequested(const IntSize&) { } 159 159 #endif 160 #if ENABLE(REQUEST_ANIMATION_FRAME)161 virtual void scheduleAnimation() { }162 #endif163 160 164 161 virtual IntPoint screenToWindow(const IntPoint& p) const { return p; } -
trunk/Source/WebCore/page/Chrome.cpp
r76194 r76198 446 446 } 447 447 448 #if ENABLE(REQUEST_ANIMATION_FRAME)449 void Chrome::scheduleAnimation()450 {451 m_client->scheduleAnimation();452 }453 #endif454 455 448 #if ENABLE(NOTIFICATIONS) 456 449 NotificationPresenter* Chrome::notificationPresenter() const -
trunk/Source/WebCore/page/Chrome.h
r76194 r76198 79 79 virtual void scrollbarsModeDidChange() const; 80 80 virtual void setCursor(const Cursor&); 81 #if ENABLE(REQUEST_ANIMATION_FRAME)82 virtual void scheduleAnimation();83 #endif84 81 85 82 void scrollRectIntoView(const IntRect&) const; -
trunk/Source/WebCore/page/ChromeClient.h
r76194 r76198 152 152 virtual void scrollbarsModeDidChange() const = 0; 153 153 virtual void setCursor(const Cursor&) = 0; 154 #if ENABLE(REQUEST_ANIMATION_FRAME)155 virtual void scheduleAnimation() = 0;156 #endif157 154 // End methods used by HostWindow. 158 155 -
trunk/Source/WebCore/page/DOMWindow.cpp
r76194 r76198 106 106 #endif 107 107 108 #if ENABLE(REQUEST_ANIMATION_FRAME)109 #include "RequestAnimationFrameCallback.h"110 #endif111 112 108 using std::min; 113 109 using std::max; … … 1465 1461 } 1466 1462 1467 #if ENABLE(REQUEST_ANIMATION_FRAME)1468 int DOMWindow::webkitRequestAnimationFrame(PassRefPtr<RequestAnimationFrameCallback> callback, Element* e)1469 {1470 if (Document* d = document())1471 return d->webkitRequestAnimationFrame(callback, e);1472 return 0;1473 }1474 1475 void DOMWindow::webkitCancelRequestAnimationFrame(int id)1476 {1477 if (Document* d = document())1478 d->webkitCancelRequestAnimationFrame(id);1479 }1480 #endif1481 1482 1463 bool DOMWindow::addEventListener(const AtomicString& eventType, PassRefPtr<EventListener> listener, bool useCapture) 1483 1464 { -
trunk/Source/WebCore/page/DOMWindow.h
r76194 r76198 65 65 class WebKitPoint; 66 66 67 #if ENABLE(REQUEST_ANIMATION_FRAME)68 class RequestAnimationFrameCallback;69 #endif70 71 67 struct WindowFeatures; 72 68 … … 241 237 int setInterval(PassOwnPtr<ScheduledAction>, int timeout, ExceptionCode&); 242 238 void clearInterval(int timeoutId); 243 244 // WebKit animation extensions245 #if ENABLE(REQUEST_ANIMATION_FRAME)246 int webkitRequestAnimationFrame(PassRefPtr<RequestAnimationFrameCallback>, Element*);247 void webkitCancelRequestAnimationFrame(int id);248 #endif249 239 250 240 // Events -
trunk/Source/WebCore/page/DOMWindow.idl
r76194 r76198 235 235 // [Custom] long setInterval(in DOMString code, in long timeout); 236 236 void clearInterval(in long handle); 237 238 #if defined(ENABLE_REQUEST_ANIMATION_FRAME)239 // WebKit animation extensions240 long webkitRequestAnimationFrame(in [Callback] RequestAnimationFrameCallback callback, in Element element);241 void webkitCancelRequestAnimationFrame(in long id);242 #endif243 237 244 238 // Base64 -
trunk/Source/WebCore/page/FrameView.cpp
r76196 r76198 343 343 } 344 344 345 #if ENABLE(REQUEST_ANIMATION_FRAME)346 void FrameView::scheduleAnimation()347 {348 if (hostWindow())349 hostWindow()->scheduleAnimation();350 }351 #endif352 353 345 void FrameView::setMarginWidth(int w) 354 346 { … … 1647 1639 } 1648 1640 1649 #if ENABLE(REQUEST_ANIMATION_FRAME)1650 void FrameView::serviceScriptedAnimations()1651 {1652 for (Frame* frame = m_frame.get(); frame; frame = frame->tree()->traverseNext())1653 frame->document()->serviceScriptedAnimations();1654 }1655 #endif1656 1657 1641 bool FrameView::isTransparent() const 1658 1642 { -
trunk/Source/WebCore/page/FrameView.h
r76196 r76198 63 63 virtual void invalidateRect(const IntRect&); 64 64 virtual void setFrameRect(const IntRect&); 65 #if ENABLE(REQUEST_ANIMATION_FRAME)66 void scheduleAnimation();67 #endif68 65 69 66 Frame* frame() const { return m_frame.get(); } … … 100 97 101 98 bool needsFullRepaint() const { return m_doFullRepaint; } 102 103 #if ENABLE(REQUEST_ANIMATION_FRAME)104 void serviceScriptedAnimations();105 #endif106 99 107 100 #if USE(ACCELERATED_COMPOSITING) -
trunk/Source/WebCore/platform/HostWindow.h
r76194 r76198 67 67 // Request that the cursor change. 68 68 virtual void setCursor(const Cursor&) = 0; 69 70 #if ENABLE(REQUEST_ANIMATION_FRAME)71 virtual void scheduleAnimation() = 0;72 #endif73 69 }; 74 70 -
trunk/Source/WebKit/chromium/ChangeLog
r76194 r76198 1 2011-01-19 James Robinson <jamesr@chromium.org> 2 3 Unreviewed, rolling out r76194. 4 http://trac.webkit.org/changeset/76194 5 https://bugs.webkit.org/show_bug.cgi?id=51218 6 7 Caused mysterious compile failure on the chromium win 8 build.webkit.org bots 9 10 * features.gypi: 11 * public/WebWidget.h: 12 * public/WebWidgetClient.h: 13 * src/ChromeClientImpl.cpp: 14 * src/ChromeClientImpl.h: 15 * src/WebPopupMenuImpl.cpp: 16 * src/WebPopupMenuImpl.h: 17 * src/WebViewImpl.cpp: 18 * src/WebViewImpl.h: 19 1 20 2011-01-19 James Robinson <jamesr@chromium.org> 2 21 -
trunk/Source/WebKit/chromium/features.gypi
r76194 r76198 70 70 'ENABLE_ORIENTATION_EVENTS=0', 71 71 'ENABLE_PROGRESS_TAG=1', 72 'ENABLE_REQUEST_ANIMATION_FRAME=1',73 72 'ENABLE_SHARED_WORKERS=1', 74 73 'ENABLE_SVG=1', -
trunk/Source/WebKit/chromium/public/WebWidget.h
r76194 r76198 56 56 // Called to resize the WebWidget. 57 57 virtual void resize(const WebSize&) = 0; 58 59 // Called to update imperative animation state. This should be called before60 // paint, although the client can rate-limit these calls.61 virtual void animate() = 0;62 58 63 59 // Called to layout the WebWidget. This MUST be called before Paint, -
trunk/Source/WebKit/chromium/public/WebWidgetClient.h
r76194 r76198 57 57 virtual void scheduleComposite() { } 58 58 59 // Called when a call to WebWidget::animate is required60 virtual void scheduleAnimation() { }61 62 59 // Called when the widget acquires or loses focus, respectively. 63 60 virtual void didFocus() { } -
trunk/Source/WebKit/chromium/src/ChromeClientImpl.cpp
r76194 r76198 533 533 } 534 534 535 #if ENABLE(REQUEST_ANIMATION_FRAME)536 void ChromeClientImpl::scheduleAnimation()537 {538 m_webView->client()->scheduleAnimation();539 }540 #endif541 542 535 void ChromeClientImpl::scroll( 543 536 const IntSize& scrollDelta, const IntRect& scrollRect, -
trunk/Source/WebKit/chromium/src/ChromeClientImpl.h
r76194 r76198 106 106 virtual void invalidateContentsAndWindow(const WebCore::IntRect&, bool); 107 107 virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool); 108 #if ENABLE(REQUEST_ANIMATION_FRAME)109 virtual void scheduleAnimation();110 #endif111 108 virtual void scroll( 112 109 const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll, -
trunk/Source/WebKit/chromium/src/WebPopupMenuImpl.cpp
r76194 r76198 152 152 } 153 153 154 void WebPopupMenuImpl::animate()155 {156 }157 158 154 void WebPopupMenuImpl::layout() 159 155 { … … 304 300 } 305 301 306 void WebPopupMenuImpl::scheduleAnimation()307 {308 }309 310 302 void WebPopupMenuImpl::scroll(const IntSize& scrollDelta, 311 303 const IntRect& scrollRect, -
trunk/Source/WebKit/chromium/src/WebPopupMenuImpl.h
r76194 r76198 62 62 virtual WebSize size() { return m_size; } 63 63 virtual void resize(const WebSize&); 64 virtual void animate();65 64 virtual void layout(); 66 65 virtual void paint(WebCanvas* canvas, const WebRect& rect); … … 107 106 virtual void invalidateContentsAndWindow(const WebCore::IntRect&, bool); 108 107 virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool); 109 virtual void scheduleAnimation();110 108 virtual void scroll( 111 109 const WebCore::IntSize& scrollDelta, const WebCore::IntRect& scrollRect, -
trunk/Source/WebKit/chromium/src/WebViewImpl.cpp
r76194 r76198 973 973 } 974 974 975 void WebViewImpl::animate()976 {977 #if ENABLE(REQUEST_ANIMATION_FRAME)978 WebFrameImpl* webframe = mainFrameImpl();979 if (webframe) {980 FrameView* view = webframe->frameView();981 if (view)982 view->serviceScriptedAnimations();983 }984 #endif985 }986 987 975 void WebViewImpl::layout() 988 976 { -
trunk/Source/WebKit/chromium/src/WebViewImpl.h
r76194 r76198 92 92 virtual WebSize size() { return m_size; } 93 93 virtual void resize(const WebSize&); 94 virtual void animate();95 94 virtual void layout(); 96 95 virtual void paint(WebCanvas*, const WebRect&); -
trunk/Tools/ChangeLog
r76195 r76198 1 2011-01-19 James Robinson <jamesr@chromium.org> 2 3 Unreviewed, rolling out r76194. 4 http://trac.webkit.org/changeset/76194 5 https://bugs.webkit.org/show_bug.cgi?id=51218 6 7 Caused mysterious compile failure on the chromium win 8 build.webkit.org bots 9 10 * DumpRenderTree/chromium/WebViewHost.cpp: 11 (WebViewHost::paintInvalidatedRegion): 12 * DumpRenderTree/chromium/WebViewHost.h: 13 1 14 2011-01-19 Dirk Pranke <dpranke@chromium.org> 2 15 -
trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp
r76194 r76198 625 625 } 626 626 627 #if ENABLE(REQUEST_ANIMATION_FRAME)628 static void invokeScheduleComposite(void* context)629 {630 WebViewHost* wvh = static_cast<WebViewHost*>(context);631 wvh->scheduleComposite();632 }633 634 void WebViewHost::scheduleAnimation()635 {636 webkit_support::PostDelayedTask(invokeScheduleComposite, this, 0);637 }638 #endif639 640 627 void WebViewHost::didFocus() 641 628 { … … 1452 1439 void WebViewHost::paintInvalidatedRegion() 1453 1440 { 1454 #if ENABLE(REQUEST_ANIMATION_FRAME)1455 webWidget()->animate();1456 #endif1457 1441 webWidget()->layout(); 1458 1442 WebSize widgetSize = webWidget()->size(); -
trunk/Tools/DumpRenderTree/chromium/WebViewHost.h
r76194 r76198 148 148 virtual void didScrollRect(int dx, int dy, const WebKit::WebRect&); 149 149 virtual void scheduleComposite(); 150 #if ENABLE(REQUEST_ANIMATION_FRAME)151 virtual void scheduleAnimation();152 #endif153 150 virtual void didFocus(); 154 151 virtual void didBlur();
Note: See TracChangeset
for help on using the changeset viewer.