⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Aug 23, 2015:

11:54 PM Changeset in webkit [188852] by aestes@apple.com
  • 2 edits in trunk/Tools

Addressed a missed piece of review feedback from r188851.

  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm:
11:48 PM Changeset in webkit [188851] by aestes@apple.com
  • 20 edits
    1 copy
    2 moves
    1 add in trunk

[Content Filtering] REGRESSION (r182356): Provisional URL is incorrect in didReceiveServerRedirectForProvisionalLoadForFrame when Content Filtering is enabled
https://bugs.webkit.org/show_bug.cgi?id=147872
rdar://problem/22044000

Reviewed by Dan Bernstein.
Source/WebCore:

Passed the ResourceLoader request URL to dispatchDidReceiveServerRedirectForProvisionalLoad().

New API test: ContentFiltering.ServerRedirect

  • WebCore.xcodeproj/project.pbxproj:
  • loader/EmptyClients.h:
  • loader/FrameLoaderClient.h: Added a URL argument to dispatchDidReceiveServerRedirectForProvisionalLoad().
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequestInternal): Passed the request URL to dispatchDidReceiveServerRedirectForProvisionalLoad().

  • testing/Internals.cpp:

(WebCore::Internals::Internals): Stopped calling MockContentFilter::ensureInstalled().

  • testing/MockContentFilterSettings.cpp:

(WebCore::MockContentFilterSettings::setEnabled): Called MockContentFilter::ensureInstalled() to ensure the
mock is installed whenever the filter is enabled.

  • testing/MockContentFilterSettings.h: Exported member functions used by TestWebKitAPI.

Source/WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Set provisionalURL using the URL argument.

Source/WebKit/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Added the URL argument.

  • WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit2:

The provisional DocumentLoader request URL does not reflect redirects when content filtering is enabled, but
the URL argument passed to dispatchDidReceiveServerRedirectForProvisionalLoad() does, so use it intead.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
Sent DidReceiveServerRedirectForProvisionalLoadForFrame using the URL argument.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Tools:

Added an API test.

  • TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Linked libWebCoreTestSupport in order to use MockContentFilter.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm: Added.

(-[ServerRedirectNavigationDelegate webView:didStartProvisionalNavigation:]): Expect the initial request URL.
(-[ServerRedirectNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]): Expect the redirect URL.
(-[ServerRedirectNavigationDelegate webView:didCommitNavigation:]):
(TEST): Tested that -[WKWebView URL] is updated after a redirect when content filtering is enabled.

  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm: Added.

(+[ServerRedirectPlugIn initialize]): Enable MockContentFilter.

  • TestWebKitAPI/cocoa/TestProtocol.h: Renamed from Tools/TestWebKitAPI/mac/TestProtocol.h.
  • TestWebKitAPI/cocoa/TestProtocol.mm: Renamed from Tools/TestWebKitAPI/mac/TestProtocol.mm.
11:32 PM WebKitGTK/2.8.x edited by berto@igalia.com
(diff)
11:19 PM Changeset in webkit [188850] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Get rid of NodePointerTraits
https://bugs.webkit.org/show_bug.cgi?id=148340

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-23
Reviewed by Anders Carlsson.

NodePointerTraits does exactly the same thing has the default trait.

  • dfg/DFGBasicBlock.h:
  • dfg/DFGCommon.h:

(JSC::DFG::NodePointerTraits::defaultValue): Deleted.
(JSC::DFG::NodePointerTraits::isEmptyForDump): Deleted.

11:18 PM Changeset in webkit [188849] by benjamin@webkit.org
  • 7 edits in trunk/Source/JavaScriptCore

[JSC] Reduce the memory usage of BytecodeLivenessAnalysis
https://bugs.webkit.org/show_bug.cgi?id=148353

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-23
Reviewed by Darin Adler.

BytecodeLivenessAnalysis easily takes kilobytes of memory for
non trivial blocks and that memory sticks around because
it stored on CodeBlock.

This patch reduces that memory use a bit.

Most of the memory is in the array of BytecodeBasicBlock.
BytecodeBasicBlock is shrunk by:
-Making it not ref-counted.
-Removing m_predecessors, it was only used for debugging and

is usually big.

-Added a shrinkToFit() phase to shrink the vectors once we are

done building the BytecodeBasicBlock.

There are more things we should do in the future:
-Store all the BytecodeBasicBlock direclty in the array.

We know the size ahead of time, this would be a pure win.
The only tricky part is changing m_successors to have the
index of the successor instead of a pointer.

-Stop putting duplicates in m_successors.

  • bytecode/BytecodeBasicBlock.cpp:

(JSC::computeBytecodeBasicBlocks):
(JSC::BytecodeBasicBlock::shrinkToFit): Deleted.
(JSC::linkBlocks): Deleted.

  • bytecode/BytecodeBasicBlock.h:

(JSC::BytecodeBasicBlock::addSuccessor):
(JSC::BytecodeBasicBlock::addPredecessor): Deleted.
(JSC::BytecodeBasicBlock::predecessors): Deleted.

  • bytecode/BytecodeLivenessAnalysis.cpp:

(JSC::getLeaderOffsetForBasicBlock):
(JSC::findBasicBlockWithLeaderOffset):
(JSC::findBasicBlockForBytecodeOffset):
(JSC::stepOverInstruction):
(JSC::computeLocalLivenessForBytecodeOffset):
(JSC::computeLocalLivenessForBlock):
(JSC::BytecodeLivenessAnalysis::dumpResults): Deleted.

  • bytecode/BytecodeLivenessAnalysis.h:
10:33 PM Changeset in webkit [188848] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Filtered style not applied to graph elements during timeline recording
https://bugs.webkit.org/show_bug.cgi?id=148339

Reviewed by Brian Burg.

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
Check for hidden state change when applying filters to newly added tree elements.

10:27 PM Changeset in webkit [188847] by saambarati1@gmail.com
  • 1 edit
    2 adds
    1 delete in trunk/Websites/webkit.org

Change compiler-pipeline image for type profiler and code coverage profiler blog post.

  • blog-files/type-profiler-and-code-coverage-profiler/compiler-pipeline-1x.png: Added.
  • blog-files/type-profiler-and-code-coverage-profiler/compiler-pipeline-2x.png: Added.
  • blog-files/type-profiler-and-code-coverage-profiler/compiler-pipeline.png: Removed.
7:07 PM Changeset in webkit [188846] by ggaren@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling back in r188792.
https://bugs.webkit.org/show_bug.cgi?id=148347

Previously reverted changesets:

"Unify code paths for manually deleting all code"
https://bugs.webkit.org/show_bug.cgi?id=148280
http://trac.webkit.org/changeset/188792

The previous patch caused some inspector tests to hang because it
introduced extra calls to sourceParsed, and sourceParsed is
pathologically slow in WK1 debug builds. This patch restores pre-existing
code to limit calls to sourceParsed, excluding code not being debugged
(i.e., inspector code).

3:51 PM Changeset in webkit [188845] by aestes@apple.com
  • 3 edits in trunk/Tools

Fixed the 32-bit Mac build after r188844.

  • TestWebKitAPI/WKWebViewConfigurationExtras.h:
  • TestWebKitAPI/WKWebViewConfigurationExtras.mm:
3:31 PM Changeset in webkit [188844] by aestes@apple.com
  • 4 edits
    2 copies
    6 adds in trunk/Tools

[Cocoa] API tests using the Modern WebKit API should be able to create web process plug-ins
https://bugs.webkit.org/show_bug.cgi?id=148317

Reviewed by Dan Bernstein.

Added the ability for Modern WebKit API tests to create WKWebProcessPlugIns. A test can create a plug-in by
creating a class that conforms to WKWebProcessPlugIn, adding it to the WebProcessPlugIn target, and using the
WKWebViewConfiguration returned by +[WKWebViewConfiguration testwebkitapi_configurationWithTestPlugInClassName:]
when creating WKWebViews.

Since TestWebKitAPI relies on a bundle parameter to know which test class to instantiate in the plug-in, I also
added a new API test for bundle parameters.

  • TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Added. Named the bundle TestWebKitAPI.wkbundle and

named its executable TestWebKitAPI.bundle.

  • TestWebKitAPI/PlatformUtilities.h: Declared TestPlugInClassNameParameter.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added the WebProcessPlugIn target.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm: Added.

(TEST): Tested bundle parameters by verifying that parameter changes in the UI process are observed in the bundle.

  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm: Added.

(-[BundleParametersPlugIn webProcessPlugIn:didCreateBrowserContextController:]): Started observing changes to a
bundle parameter and asked for an initial notification.
(-[BundleParametersPlugIn dealloc]): Stopped observing changes to a bundle parameter.
(-[BundleParametersPlugIn observeValueForKeyPath:ofObject:change:context:]): When a bundle parameter changes,
mirror its value in the main frame's JSContext.

  • TestWebKitAPI/WKWebViewConfigurationExtras.h: Added.
  • TestWebKitAPI/WKWebViewConfigurationExtras.mm: Added.

(+[WKWebViewConfiguration testwebkitapi_configurationWithTestPlugInClassName:]): Created a configuration with
TestWebKitAPI's bundle URL and set a bundle parameter indicating the test plug-in's class name.

  • TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm: Defined TestPlugInClassNameParameter.
  • TestWebKitAPI/cocoa/WebProcessPlugIn/Info.plist: Added. Set the principal class to WebProcessPlugIn.
  • TestWebKitAPI/cocoa/WebProcessPlugIn/WebProcessPlugIn.mm: Added.

(-[WebProcessPlugIn webProcessPlugIn:initializeWithObject:]): Forwarded to a newly-created test class instance.
(-[WebProcessPlugIn respondsToSelector:]): Returned YES if the test class instance response.
(-[WebProcessPlugIn forwardingTargetForSelector:]): Forwarded unimplemented methods to the test class instance.

2:42 PM Changeset in webkit [188843] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Typo fix after r188842.

  • CMakeLists.txt:
2:37 PM Changeset in webkit [188842] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Speculative buildfix after r188828.

  • CMakeLists.txt:
2:28 PM Changeset in webkit [188841] by ggaren@apple.com
  • 12 edits in trunk/Source

Unreviewed, rolling back in r188803.

"Debugger's VM should never be null"
https://bugs.webkit.org/show_bug.cgi?id=148341
http://trac.webkit.org/changeset/188803

Source/JavaScriptCore:

  • debugger/Debugger.cpp:

(JSC::Debugger::Debugger):
(JSC::Debugger::attach):
(JSC::Debugger::detach):
(JSC::Debugger::isAttached):
(JSC::Debugger::setSteppingMode):
(JSC::Debugger::registerCodeBlock):
(JSC::Debugger::toggleBreakpoint):
(JSC::Debugger::recompileAllJSFunctions):
(JSC::Debugger::setBreakpoint):
(JSC::Debugger::clearBreakpoints):
(JSC::Debugger::clearDebuggerRequests):
(JSC::Debugger::setBreakpointsActivated):
(JSC::Debugger::breakProgram):
(JSC::Debugger::stepOutOfFunction):
(JSC::Debugger::returnEvent):
(JSC::Debugger::didExecuteProgram):

  • debugger/Debugger.h:
  • inspector/JSGlobalObjectScriptDebugServer.cpp:

(Inspector::JSGlobalObjectScriptDebugServer::JSGlobalObjectScriptDebugServer):
(Inspector::JSGlobalObjectScriptDebugServer::removeListener):
(Inspector::JSGlobalObjectScriptDebugServer::runEventLoopWhilePaused):
(Inspector::JSGlobalObjectScriptDebugServer::recompileAllJSFunctions): Deleted.

  • inspector/JSGlobalObjectScriptDebugServer.h:
  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::ScriptDebugServer):

  • inspector/ScriptDebugServer.h:

Source/WebCore:

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
(WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
(WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):

  • inspector/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::PageScriptDebugServer):
(WebCore::PageScriptDebugServer::recompileAllJSFunctions):
(WebCore::PageScriptDebugServer::didPause):
(WebCore::PageScriptDebugServer::runEventLoopWhilePaused):

Source/WebKit/mac:

  • WebView/WebScriptDebugger.mm:

(toWebFrame):
(WebScriptDebugger::WebScriptDebugger):

2:27 PM Changeset in webkit [188840] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

URTBF after r188828.

  • WebKitTestRunner/PlatformWebView.h:
9:37 AM Changeset in webkit [188839] by Antti Koivisto
  • 8 edits in trunk/Source/WebCore

Remove SVGFrameLoaderClient and dataProtocolFrameLoader
https://bugs.webkit.org/show_bug.cgi?id=148370

Reviewed by Darin Adler.

With data protocol handled internally in WebKit these are no longer needed.

This mostly reverts code changes from http://trac.webkit.org/179626 keeping the tests.

  • loader/FrameLoaderClient.h:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::loadDataURL):
(WebCore::ResourceLoader::setDataBufferingPolicy):
(WebCore::ResourceLoader::dataProtocolFrameLoader): Deleted.

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::documentLoader):
(WebCore::ResourceLoader::originalRequest):

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::finishLoading):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::dataChanged):

  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageClients.h:
9:33 AM Changeset in webkit [188838] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard: Combined queues don't turn orange on internal failure
https://bugs.webkit.org/show_bug.cgi?id=148356

Reviewed by Darin Adler.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotCombinedQueueView.js:

(BuildbotCombinedQueueView.prototype.update):

9:31 AM Changeset in webkit [188837] by timothy@apple.com
  • 14 edits in trunk/Source/WebInspectorUI

Web Inspector: Drop webkit prefixes from animation, keyframes and transform
https://bugs.webkit.org/show_bug.cgi?id=148364

Reviewed by Darin Adler.

  • UserInterface/Views/BreakpointTreeElement.css:

(.breakpoint-generic-line-icon .icon > span):
(.data-updated.breakpoint-generic-line-icon .icon > span):

  • UserInterface/Views/ColorPicker.css:

(.color-picker > .slider):

  • UserInterface/Views/DashboardContainerView.css:

(.toolbar .dashboard):
(.toolbar .dashboard.slide-out-up):
(.toolbar .dashboard.slide-out-down):
(.toolbar .dashboard.slide-in-up):
(.toolbar .dashboard.slide-in-down):
(@keyframes slide-top-edge):
(@keyframes slide-bottom-edge):
(@-webkit-keyframes slide-top-edge): Deleted.
(@-webkit-keyframes slide-bottom-edge): Deleted.

  • UserInterface/Views/DebuggerDashboardView.css:

(.dashboard.debugger .navigation-bar .item.button > .glyph):
(@keyframes pulse-pause-button):
(@-webkit-keyframes pulse-pause-button): Deleted.

  • UserInterface/Views/DefaultDashboardView.css:

(.toolbar .dashboard.default > .item.pulsing):
(@keyframes console-item-pulse):
(@-webkit-keyframes console-item-pulse): Deleted.

  • UserInterface/Views/GoToLineDialog.css:

(.go-to-line-dialog):

  • UserInterface/Views/HoverMenu.css:

(.hover-menu):

  • UserInterface/Views/IndeterminateProgressSpinner.css:

(@keyframes discrete-spinner):
(.indeterminate-progress-spinner):
(@-webkit-keyframes discrete-spinner): Deleted.

  • UserInterface/Views/Main.css:

(.bouncy-highlight):
(@keyframes bouncy-highlight-animation):
(@-webkit-keyframes bouncy-highlight-animation): Deleted.

  • UserInterface/Views/ProbeSetDataGrid.css:

(.details-section.probe-set .data-grid tr.revealed.highlighted):
(@keyframes blink-frame-highlight):
(.details-section.probe-set .data-grid > tr.data-updated):
(@keyframes blink-probe-frame):
(@-webkit-keyframes blink-frame-highlight): Deleted.
(@-webkit-keyframes blink-probe-frame): Deleted.

  • UserInterface/Views/TextEditor.css:

(.text-editor > .CodeMirror .highlighted):
(@keyframes text-editor-highlight-fadeout):
(.text-editor > .CodeMirror .hovered-expression-highlight):
(@keyframes text-editor-hovered-expression-highlight-fadeout):
(@-webkit-keyframes text-editor-highlight-fadeout): Deleted.
(@-webkit-keyframes text-editor-hovered-expression-highlight-fadeout): Deleted.

  • UserInterface/Views/TimelineOverview.css:

(.timeline-overview.frames > .timeline-ruler > .markers > .divider):
(.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .selection-handle.right):
(.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .shaded-area.right):

  • UserInterface/Views/TimelineRuler.css:

(.timeline-ruler > .header > .divider):
(.timeline-ruler > .markers > .divider):
(.timeline-ruler > .markers > .marker):
(.timeline-ruler > .selection-handle.left):
(.timeline-ruler > .selection-handle.right):

9:29 AM Changeset in webkit [188836] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard: Respect step's hidden flag
https://bugs.webkit.org/show_bug.cgi?id=148357

Reviewed by Darin Adler.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype._parseData):

9:26 AM Changeset in webkit [188835] by commit-queue@webkit.org
  • 5 edits in trunk

AX: Fix accessibility/deleting-iframe-destroys-axcache.html test
https://bugs.webkit.org/show_bug.cgi?id=148328

Patch by Nan Wang <n_wang@apple.com> on 2015-08-23
Reviewed by Darin Adler.

Tools:

We should only expose stringValue() when value attribute is set.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::stringValue):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::stringValue):

LayoutTests:

  • platform/mac/TestExpectations:
3:35 AM Changeset in webkit [188834] by Gyuyoung Kim
  • 3 edits in trunk/Tools

Remove style checking rule regarding OwnPtr and PassOwnPtr
https://bugs.webkit.org/show_bug.cgi?id=148360

Reviewed by Darin Adler.

OwnPtr and PassOwnPtr were totally removed though, style rule is still alive.
Removed it.

  • Scripts/do-webcore-rename:
  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(PassPtrTest.test_pass_own_ptr_in_function): Deleted.
(PassPtrTest.test_pass_ref_ptr_return_value): Deleted.
(PassPtrTest.test_own_ptr_parameter_value): Deleted.
(WebKitStyleTest.test_names): Deleted.

Aug 22, 2015:

9:14 PM Changeset in webkit [188833] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

Factor out and add logging to swipe-start hysteresis code
https://bugs.webkit.org/show_bug.cgi?id=148361

Reviewed by Darin Adler.

  • UIProcess/ViewGestureController.cpp:

(WebKit::ViewGestureController::ViewGestureController):

  • UIProcess/mac/ViewGestureController.h:

(WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
(WebKit::ViewGestureController::shouldIgnorePinnedState):
(WebKit::ViewGestureController::setShouldIgnorePinnedState):
(WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker):
(WebKit::ViewGestureController::PendingSwipeTracker::shouldIgnorePinnedState):
(WebKit::ViewGestureController::PendingSwipeTracker::setShouldIgnorePinnedState):
Move pending-swipe members into PendingSwipeTracker.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::scrollEventCanInfluenceSwipe):
(WebKit::deltaShouldCancelSwipe):
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
(WebKit::ViewGestureController::handleScrollWheelEvent):
(WebKit::ViewGestureController::PendingSwipeTracker::handleEvent):
(WebKit::ViewGestureController::PendingSwipeTracker::eventWasNotHandledByWebCore):
(WebKit::ViewGestureController::PendingSwipeTracker::tryToStartSwipe):
(WebKit::ViewGestureController::PendingSwipeTracker::reset):
(WebKit::ViewGestureController::trackSwipeGesture):
(WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
Move pending-swipe methods into PendingSwipeTracker.
Clean up the logic a bit.
Add some logging.

7:28 PM Changeset in webkit [188832] by saambarati1@gmail.com
  • 3 edits in trunk/Websites/webkit.org

Change image for type profiler and code coverage profiler blog post.

  • blog-files/type-profiler-and-code-coverage-profiler/code-coverage-1x.png:
  • blog-files/type-profiler-and-code-coverage-profiler/code-coverage-2x.png:
4:05 PM Changeset in webkit [188831] by saambarati1@gmail.com
  • 2 edits in trunk/Websites/webkit.org

Change video for type profiler and code coverage profiler blog post.

  • blog-files/type-profiler-and-code-coverage-profiler/types-changing.mov:
3:46 PM Changeset in webkit [188830] by saambarati1@gmail.com
  • 1 edit
    8 adds
    4 deletes in trunk/Websites/webkit.org

Add 1x/2x resources for type profiler and code coverage profiler blog post.

  • blog-files/type-profiler-and-code-coverage-profiler/code-coverage-1x.png: Added.
  • blog-files/type-profiler-and-code-coverage-profiler/code-coverage-2x.png: Added.
  • blog-files/type-profiler-and-code-coverage-profiler/code-coverage.png: Removed.
  • blog-files/type-profiler-and-code-coverage-profiler/subtle-bug-1x.png: Added.
  • blog-files/type-profiler-and-code-coverage-profiler/subtle-bug-2x.png: Added.
  • blog-files/type-profiler-and-code-coverage-profiler/subtle-bug.png: Removed.
  • blog-files/type-profiler-and-code-coverage-profiler/type-profiler-api-view-1x.png: Added.
  • blog-files/type-profiler-and-code-coverage-profiler/type-profiler-api-view-2x.png: Added.
  • blog-files/type-profiler-and-code-coverage-profiler/type-profiler-api-view.png: Removed.
  • blog-files/type-profiler-and-code-coverage-profiler/types-everywhere-1x.png: Added.
  • blog-files/type-profiler-and-code-coverage-profiler/types-everywhere-2x.png: Added.
  • blog-files/type-profiler-and-code-coverage-profiler/types-everywhere.png: Removed.
3:29 PM Changeset in webkit [188829] by Chris Dumez
  • 14 edits
    2 deletes in trunk

NodeList should not have a named getter
https://bugs.webkit.org/show_bug.cgi?id=148117

Reviewed by Darin Adler.

Source/WebCore:

Drop the named property getter on NodeList to match the specification:
https://dom.spec.whatwg.org/#interface-nodelist

This change could be a bit risky but:

  1. Firefox and IE never had this named property getter on NodeList.
  2. Chrome successfuly dropped this named property getter in early 2014: https://src.chromium.org/viewvc/blink?revision=166356&view=revision
  3. Our named property getter on NodeList is only partly functional: It only matches by 'id' attribute, not by 'name' attribute.
  4. Our APIs that were wrongly returning a NodeList instead of an HTMLCollection (getElementsByTagName() / getElementsByClassName()) have been fixed in r188735 and r188809. HTMLCollection does have a named property getter.
  5. This named getter adds code complexity.
  • bindings/js/JSNodeListCustom.cpp:

(WebCore::createWrapper): Deleted.

  • dom/ChildNodeList.cpp:

(WebCore::ChildNodeList::invalidateCache): Deleted.

  • dom/ChildNodeList.h:
  • dom/LiveNodeList.cpp:
  • dom/LiveNodeList.h:
  • dom/NodeList.h:
  • dom/NodeList.idl:
  • dom/StaticNodeList.cpp:

(WebCore::StaticElementList::length): Deleted.
(WebCore::StaticElementList::item): Deleted.

  • dom/StaticNodeList.h:
  • html/HTMLCollection.h:

LayoutTests:

  • fast/dom/childnode-item-after-itemname-expected.txt: Removed.
  • fast/dom/childnode-item-after-itemname.html: Removed.

Drop test as it is no longer relevant now that NodeList no longer
has a named property getter.

3:20 PM Changeset in webkit [188828] by timothy_horton@apple.com
  • 23 edits
    1 add in trunk

WebKitTestRunner should use WKWebView on OS X and iOS
https://bugs.webkit.org/show_bug.cgi?id=143743
<rdar://problem/16947123>

Reviewed by Anders Carlsson.
Patch by Enrica Casucci and myself.

  • WebKitTestRunner/PlatformWebView.h:

(WTR::PlatformWebView::windowSnapshotEnabled): Deleted.
Add a PlatformWebView constructor that takes a WKWebViewConfiguration
instead of WKContext and WKPageGroup.

Remove the unused, always-true windowSnapshotEnabled().
While technically some platforms don't have window snapshotting,
they just return null instead of implementing windowSnapshotEnabled().

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createOtherPage):
(WTR::TestController::initialize):
(WTR::TestController::createWebViewWithOptions):
Delegate to the various platforms for creating PlatformWebView instances,
for creating WKContexts, and for accessing WKPreferences,
so that they can do special things (like, use WKWebView instead!).

(WTR::TestController::resetPreferencesToConsistentValues):
Make explicit WebKitTestRunner's desired default for two preferences
which have differing defaults between the antique and modern API,
for consistency's sake.

(WTR::TestController::resetStateToConsistentValues):
Add platformResetStateToConsistentValues.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::dumpResults):
Adjust to the aforementioned removal of windowSnapshotEnabled().

  • WebKitTestRunner/ios/TestControllerCocoa.mm:

(WTR::TestController::platformResetStateToConsistentValues):
(WTR::TestController::platformPreferences):
(WTR::TestController::platformCreateWebView):
(WTR::TestController::platformCreateOtherPage):
(WTR::TestController::platformInitializeConfiguration):
Implement the new platform functions for the Modern WebKit2 API,
in a new TestControllerCocoa file that is shared between iOS and Mac.

For platformMaybeCreateContext, use the trick that we know we can cast
the WKProcessPool to a WKContextRef to retrieve a WKContextRef from
WKWebView's configuration.

Ditto for WKPreferencesRef and WKPreferences.

Remove user content filters on the WKWebView's userContentController.

  • WebKitTestRunner/mac/TestControllerMac.mm:
  • WebKitTestRunner/ios/TestControllerIOS.mm:

Move code into TestControllerCocoa.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::addUserScript):
(WTR::TestRunner::addUserStyleSheet):
Adopt WKBundlePage API for user scripts/sheets.

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:
  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

Make and keep a WKWebView instead of a WKView.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
Reach inside the WKWebView to the WKView when dispatching events.
This is fairly ugly and we should come up with a better solution.
Also, fix some flipping and style errors.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _windowOcclusionDetectionEnabled]):
(-[WKWebView _setWindowOcclusionDetectionEnabled:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Add SPI to disable window occlusion detection, for WebKitTestRunner's use.

  • Shared/WebPreferencesDefinitions.h:

Remove a completely unused WebPreference. It is a WebCore Setting,
but in the API it's exposed as a WKPage setter and WKView and WKWebView property
instead of as a WKPreference, so there's no need for the WebPreference.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageAddUserScript):
(WKBundlePageAddUserStyleSheet):
(WKBundlePageRemoveAllUserContent):

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::addUserScript):
(WebKit::WebPage::addUserStyleSheet):
(WebKit::WebPage::removeAllUserContent):

  • WebProcess/WebPage/WebPage.h:

Add WKBundlePage functions for user script and style sheet manipulation.
These use the WebPage's WebUserContentController instead of the WebPageGroupProxy's
(used by the WKBundle functions), so they work correctly with the modern API.

12:29 PM Changeset in webkit [188827] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Tweak a test that became flaky on some machines after r188793.

  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html:
11:38 AM Changeset in webkit [188826] by Michael Catanzaro
  • 5 edits in trunk

Unreviewed, attempt to fix GTK build after r188718

Source/WebKit2:

  • CMakeLists.txt: Build WKPageConfigurationRef.cpp
  • PlatformEfl.cmake: Don't build WKPageConfigurationRef.cpp

Tools:

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::PlatformWebView):

11:35 AM Changeset in webkit [188825] by fpizlo@apple.com
  • 20 edits
    3 adds in trunk/Source/JavaScriptCore

DFG string concatenation shouldn't be playing fast and loose with effects and OSR exit
https://bugs.webkit.org/show_bug.cgi?id=148338

Reviewed by Michael Saboff and Saam Barati.

Prior to this change, DFG string concatenation appeared to have various different ways of
creating an OSR exit right after a side effect. That's bad, because the exit will cause
us to reexecute the side effect. The code appears to have some hacks for avoiding this,
but some cases are basically unavoidable, like the OOM case of string concatenation: in
trunk that could cause two executions of the toString operation.

This changes the string concatenation code to either be speculative or effectful but
never both. It's already the case that when this code needs to be effectful, it also
needs to be slow (it does int->string conversions, calls JS functions, etc). So, this is
a small price to pay for sanity.

The biggest part of this change is the introduction of StrCat, which is like MakeRope but
does toString conversions on its own instead of relying on separate nodes. StrCat can
take either 2 or 3 children. It's the effectful but not speculative version of MakeRope.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::convertStringAddUse):
(JSC::DFG::FixupPhase::fixupToStringOrCallStringConstructor):
(JSC::DFG::FixupPhase::attemptToMakeFastStringAdd):
(JSC::DFG::FixupPhase::canOptimizeStringObjectAccess):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::JSValueOperand::JSValueOperand):
(JSC::DFG::JSValueOperand::~JSValueOperand):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compileValueAdd):
(JSC::FTL::DFG::LowerDFGToLLVM::compileStrCat):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):

  • jit/JITOperations.h:
  • tests/stress/exception-effect-strcat.js: Added. This test previously failed.
  • tests/stress/exception-in-strcat-string-overflow.js: Added. An earlier version of this patch made this fail.
  • tests/stress/exception-in-strcat.js: Added.
11:05 AM Changeset in webkit [188824] by akling@apple.com
  • 21 edits in trunk/Source

[JSC] Static hash tables should be 100% compile-time constant.
<https://webkit.org/b/148359>

Reviewed by Michael Saboff.

Source/JavaScriptCore:

We were dirtying the memory pages containing static hash tables the
first time they were used, when a dynamically allocated index-to-key
table was built and cached in the HashTable struct.

It turns out that this "optimization" was completely useless, since
we've long since decoupled static hash tables from the JSC::VM and
we can get the key for an index via HashTable::values[index].m_key!

We also get rid of VM::keywords which was a little wrapper around
a VM-specific copy of JSC::mainTable. There was nothing VM-specific
about it at all, so clients now use JSC::mainTable directly.

After this change all fooHashTable structs end up in DATA const
and no runtime initialization/allocation takes place.

  • create_hash_table:
  • jsc.cpp:
  • parser/Lexer.cpp:

(JSC::isLexerKeyword):
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<CharacterType>::parseIdentifierSlowCase):
(JSC::Keywords::Keywords): Deleted.

  • parser/Lexer.h:

(JSC::Keywords::isKeyword): Deleted.
(JSC::Keywords::getKeyword): Deleted.
(JSC::Keywords::~Keywords): Deleted.

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::tryJSONPParse):

  • runtime/Lookup.cpp:

(JSC::HashTable::createTable): Deleted.
(JSC::HashTable::deleteTable): Deleted.

  • runtime/Lookup.h:

(JSC::HashTable::entry):
(JSC::HashTable::ConstIterator::key):
(JSC::HashTable::ConstIterator::skipInvalidKeys):
(JSC::HashTable::copy): Deleted.
(JSC::HashTable::initializeIfNeeded): Deleted.
(JSC::HashTable::begin): Deleted.
(JSC::HashTable::end): Deleted.

  • runtime/VM.cpp:

(JSC::VM::VM): Deleted.

  • runtime/VM.h:
  • testRegExp.cpp:

Source/WebCore:

Adjust WebCore bindings generator for new JSC::HashTable layout
and rebaseline the bindings tests for that change.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHashTable):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
10:42 AM Changeset in webkit [188823] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix build without ENABLE_CSS_GRID_LAYOUT after r188582

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalWidthInRegion):

10:14 AM Changeset in webkit [188822] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

std::once_flag needs to be static.

  • wtf/mac/DeprecatedSymbolsUsedBySafari.mm:

(WTF::MainThreadFunctionTracker::singleton):

6:38 AM Changeset in webkit [188821] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Page::renderTreeSize() does not include anonymous renderers.
https://bugs.webkit.org/show_bug.cgi?id=148352

Reviewed by Andreas Kling.

Anonymous renderes take the document as their node. Instead
of checking whether the node is the document, we could just check
if the RenderView is available.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::~RenderObject):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView): Deleted.

  • rendering/RenderView.h: Include the RenderView in render tree size as well.
2:57 AM Changeset in webkit [188820] by Antti Koivisto
  • 13 edits
    2 adds in trunk/Source

Decode data URLs in web process
https://bugs.webkit.org/show_bug.cgi?id=148128

Reviewed by Darin Adler.

Source/WebCore:

We currenly send data URLs to networking layer for decoding. This involves a long and slow roundtrip through IPC and API layers.

  • WebCore.xcodeproj/project.pbxproj:
  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::maybeLoadQuickLookResource): Deleted.

Remove this awkward interface for WebKit2.

  • loader/ResourceLoadScheduler.h:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::loadDataURL):

Load using DataURLDecoder.

  • loader/ResourceLoader.h:

Make start() public and export it so it can be called directly from WebKit2.

  • platform/network/DataURLDecoder.cpp: Added.

(WebCore::DataURLDecoder::decodeQueue):
(WebCore::DataURLDecoder::DecodeTask::DecodeTask):
(WebCore::DataURLDecoder::createDecodeTask):

Parse data URL metadata and initialize the decode task.

(WebCore::DataURLDecoder::decodeBase64):
(WebCore::DataURLDecoder::decodeEscaped):
(WebCore::DataURLDecoder::decode):

Asynchronously decode in a concurrent distpatch queue.

  • platform/network/DataURLDecoder.h: Added.
  • platform/network/ios/QuickLook.h:
  • platform/text/DecodeEscapeSequences.h:

(WebCore::URLEscapeSequence::findEndOfRun):
(WebCore::URLEscapeSequence::decodeRun):

Factor buffer generation to a function.

(WebCore::decodeEscapeSequences):
(WebCore::decodeURLEscapeSequencesAsData):

Add decode function that produces bytes instead of a String.

Source/WebKit2:

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad):

Don't send data: loads to the network process, handle them locally.

(WebKit::WebResourceLoadScheduler::startLocalLoad):

Call ResourceLoder::start() directly.

12:20 AM Changeset in webkit [188819] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

AX: aria-table-content.html test failing on windows
https://bugs.webkit.org/show_bug.cgi?id=148354

Update TestExpectation for Windows to Skip test.

Patch by Doug Russell <d_russell@apple.com> on 2015-08-22
Reviewed by Tim Horton.

  • platform/win/TestExpectations:
Note: See TracTimeline for information about the timeline view.