wiki:Internals_Hackathon

Version 21 (modified by tomz@codeaurora.org, 12 years ago) (diff)

--

WebKit Contributor Meeting 2012 - LayoutTestController Functions That We Want to Move to Internals

Guidelines:

  • Everything that makes many ports skip tests should be considered.
  • Functions that use internal WebKit methods whose only purpose is to support DRT (as opposed as providing public API) should be strongly considered.
  • Functions that rely upon a significant amount of WebKit code may be best to remain in LayoutTestController, so that this code would be tested.



We'll file bugs in Tools/Tests component as we go, too.


  • counterValueForElementById
  • encodedAudioData

Mac DRT has a StorageTrackerDelegate to test WebStorageManager, but no other port seems to have this. Related LayoutTestController functions that are implemented in Mac only are:

  • deleteAllLocalStorage
  • syncLocalStorage
  • observeStorageTrackerNotifications
  • deleteLocalStorageForOrigin
  • localStorageDiskUsageForOrigin
  • originsWithLocalStorage

(morrita: This set of APIs looks a part of real Mac WebKit API. See: http://wkb.ug/51878)


Animation Controller DRT APIs that can be ported to internals as these APIs depend on core frame pointer. Currently implemented for - Chromium, Gtk, Efl, Qt, Mac, Win

  • pauseAnimationAtTimeOnElementWithId
  • pauseTransitionAtTimeOnElementWithId
  • numberOfActiveAnimations
  • suspendAnimations
  • resumeAnimations

  • setTextDirection - calls a WebKit API on Mac and Chromium, but it seems that other than passing it through to WebCore, it doesn't do much else

The following methods are not implemented in all ports and should be considered for move to Internals:

  • computedStyleIncludingVisitedInfo
  • dispatchPendingLoadRequests
  • displayInvalidatedRegion

  • printToPDF - No Implementation, no usage, No Testcase.

  • addDisallowedURL - not implemented consistently, and webcore (not browser/app) specific
  • addURLToRedirect
  • addUserScript
  • addUserStyleSheet

  • setCloseRemainingWindowWhenComplete - Any ports doesn't implement this function.

The following methods are implemented by QT, EFL ports. And also, this API depends on core page setting method.

  • setDefersLoading

  • allowRoundingHacks