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

Timeline



May 31, 2015:

8:27 PM Changeset in webkit [185054] by Yusuke Suzuki
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Drop forEach from WeakMap / WeakSet native member function maps
https://bugs.webkit.org/show_bug.cgi?id=145497

Reviewed by Sam Weinig.

WeakMap / WeakSet don't have forEach method.
This patch drops it from the native prototype function parameters map.

  • UserInterface/Models/NativeFunctionParameters.js:
7:12 PM Changeset in webkit [185053] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.16-branch/Source/WebCore

Merged r185018. rdar://problem/21048994

7:11 PM Changeset in webkit [185052] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.16-branch/Source/WebCore

Merged r185003. rdar://problem/21048994

7:08 PM Changeset in webkit [185051] by bshafiei@apple.com
  • 2 edits in branches/safari-600.7-branch/Source/WebCore

Merged r185018. rdar://problem/21049556

7:06 PM Changeset in webkit [185050] by bshafiei@apple.com
  • 3 edits in branches/safari-600.7-branch/Source/WebCore

Merged r185003. rdar://problem/21049556

6:27 PM Changeset in webkit [185049] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Remove Panther support
https://bugs.webkit.org/show_bug.cgi?id=145506

Reviewed by Sam Weinig.

  • platform/ios/wak/WAKAppKitStubs.h: Don't check for pre-Tiger SDKs.
6:24 PM Changeset in webkit [185048] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32-branch/Source

Versioning.

4:38 PM Changeset in webkit [185047] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.10

New tag.

4:16 PM Changeset in webkit [185046] by barraclough@apple.com
  • 3 edits in trunk/Source/WebKit2

PDFs always think they're visible on iOS.
https://bugs.webkit.org/show_bug.cgi?id=145493
<rdar://problem/19668879>

Reviewed by Andreas Kling.

The problem here is that WKContentView is currently responsible for notifying the WebPageProxy
that the visibility may have changed, but when a PDF isn't showing the WKContentView isn't in
the view hierarchy and doesn't receive the didMoveToWindow notifications – and the WKPDFView
(which is in the view hierarchy) does not listen for these events.

Visibility of the page should really just track the visibility of the WKWebView (and when
actually assessing the visibility it largely does - the page client checks the web view's
visibility, bar a FIXME, and the foreground/background check, which needs to change).
So notifications should really just come from the WKWebView.

The WKWebView already listens for the didMoveToWindow notification, it just was only updating
the IsInWindow flag. Instead just update all flags, and the call to viewStateDidChange from
WKContentView can just be removed.

There is one problem with this in that it would reverse the order of the calls to
viewStateDidChange & _updateForScreen:, which would mean the the view would become visible before
updating the screen pixel density. To fix this, move the call to _updateForScreen: to
willMoveToWindow:, to ensure it occurs before the page becomes visible.

This will also change behavior on Mac for WKWebView clients, in coalescing all view state changes
within the didMoveToWindow call. This is the direction we intended to go in anyway (the plan is
to remove the mayHaveChanged argument from viewStateDidChange - we're currently adding unnecessary
IPC traffic).

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView didMoveToWindow]):

  • should update all view state flags.
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView willMoveToWindow:]):

  • should _updateForScreen:

(-[WKContentView didMoveToWindow]): Deleted.

  • functionality moved to -[WKWebView didMoveToWindow], -[WKContentView didMoveToWindow].
1:10 PM Changeset in webkit [185045] by clopez@igalia.com
  • 2 edits in trunk/Source/WebCore

Remove unused variable kZoomTicks.
https://bugs.webkit.org/show_bug.cgi?id=145504

Reviewed by Sam Weinig.

No new tests, no behavior changes.

  • platform/ScrollAnimatorNone.cpp:
12:50 PM Changeset in webkit [185044] by timothy@apple.com
  • 10 edits
    1 copy
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Resources tab navigation sidebar should have a type filter header
https://bugs.webkit.org/show_bug.cgi?id=145474

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js: Updated.
  • UserInterface/Images/UpDownArrows.svg: Make styleable.
  • UserInterface/Main.html: Added new files.
  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView): Drive-by fix. Mark All as exclusive.

  • UserInterface/Views/MultipleScopeBarItem.js: Added.

(WebInspector.MultipleScopeBarItem):
(WebInspector.MultipleScopeBarItem.prototype.get element):
(WebInspector.MultipleScopeBarItem.prototype.get exclusive):
(WebInspector.MultipleScopeBarItem.prototype.get scopeBarItems):
(WebInspector.MultipleScopeBarItem.set scopeBarItems.createOption):
(WebInspector.MultipleScopeBarItem.prototype.set scopeBarItems):
(WebInspector.MultipleScopeBarItem.prototype.get selected):
(WebInspector.MultipleScopeBarItem.prototype.set selected):
(WebInspector.MultipleScopeBarItem.prototype.get selectedScopeBarItem):
(WebInspector.MultipleScopeBarItem.prototype.set selectedScopeBarItem):
(WebInspector.MultipleScopeBarItem.prototype._clicked):
(WebInspector.MultipleScopeBarItem.prototype._selectElementSelectionChanged):
(WebInspector.MultipleScopeBarItem.prototype._itemSelectionDidChange):

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstFilterFunctions):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.makeVisible):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
(WebInspector.NavigationSidebarPanel.prototype._updateFilter):
(WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
Improve filtering so non-text filters can choose to auto-expand the tree.

  • UserInterface/Views/ResourceSidebarPanel.css: Added.

(.sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
(.sidebar > .panel.navigation.resource > .navigation-bar):

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype.hasCustomFilters):
(WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
(WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.ResourceSidebarPanel.prototype._scopeBarSelectionDidChange):
Make a ScopeBar and make it filter the TreeOutline when needed.

  • UserInterface/Views/ScopeBar.css:

(.scope-bar > li.multiple):
(.scope-bar > li.multiple > select):
(.scope-bar > li.multiple.selected > select):
(.scope-bar > li.multiple > .arrows):
(.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .filled):
(.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .stroked):

  • UserInterface/Views/ScopeBar.js:

(WebInspector.ScopeBar): Support shouldGroupNonExclusiveItems which will use MultipleScopeBarItem.
(WebInspector.ScopeBar.prototype._populate):
(WebInspector.ScopeBar.prototype._itemSelectionDidChange):
(WebInspector.ScopeBar.prototype.updateLayout): Deleted. Not needed for our current styles.

  • UserInterface/Views/ScopeBarItem.js:

(WebInspector.ScopeBarItem):
(WebInspector.ScopeBarItem.prototype.get id):
(WebInspector.ScopeBarItem.prototype.get label):
(WebInspector.ScopeBarItem.prototype.get exclusive):
(WebInspector.ScopeBarItem.prototype.setSelected):
(WebInspector.ScopeBarItem.prototype._clicked):
(WebInspector.ScopeBarItem.prototype.get element): Deleted.
(WebInspector.ScopeBarItem.prototype._markElementSelected): Deleted.
Cleaned up and modernized a bit.

12:21 PM Changeset in webkit [185043] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.32-branch/Source/WebKit2

Merged r184059.

11:03 AM Changeset in webkit [185042] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, add a FIXME referencing https://bugs.webkit.org/show_bug.cgi?id=145503.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::inliningCost):

8:10 AM Changeset in webkit [185041] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

[ES6] Drop WeakMap#clear
https://bugs.webkit.org/show_bug.cgi?id=145489

Reviewed by Mark Lam.

ES6 spec intentionally drops the WeakMap#clear
to allow engine to implement WeakMap as a per-object table.

This patch drops WeakMap.prototype.clear.

  • runtime/WeakMapPrototype.cpp:

(JSC::WeakMapPrototype::finishCreation): Deleted.
(JSC::protoFuncWeakMapClear): Deleted.

4:38 AM Changeset in webkit [185040] by youenn.fablet@crf.canon.fr
  • 10 edits
    3 adds in trunk

Async XMLHttpRequest should get access to AppCache resources stored as flat files
https://bugs.webkit.org/show_bug.cgi?id=138506

Reviewed by Darin Adler.

Source/WebCore:

This patch reads flat file data when DocumentLoader substituteResource delivery timer is fired.
Refactoring to remove ApplicationCacheHost/DocumentLoader friend link.
Added ResourceLoader::deliverResponseAndData helper function, taking a SharedBuffer as input to remove an unneeded copy for flat files (no change for other files).

Test: http/tests/appcache/simple-video-async.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
(WebCore::DocumentLoader::scheduleArchiveLoad):
(WebCore::DocumentLoader::scheduleSubstituteResourceLoad): Helper function to remove ApplicationCacheHost friend link.

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

(WebCore::ResourceLoader::deliverResponseAndData): Helper function, code mostly moved from DocumentLoader::substituteResourceDeliveryTimerFired.

  • loader/ResourceLoader.h:
  • loader/SubstituteResource.h:

(WebCore::SubstituteResource::deliver): Introduced to be overriden by ApplicationCacheResource to take care of flat file case.

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):

  • loader/appcache/ApplicationCacheResource.cpp:

(WebCore::ApplicationCacheResource::deliver): Use SharedBuffer::createWithContentsOfFile to load data stored in flat file.

  • loader/appcache/ApplicationCacheResource.h:

LayoutTests:

  • http/tests/appcache/resources/simple-video-async.manifest: Added.
  • http/tests/appcache/simple-video-async-expected.txt: Added.
  • http/tests/appcache/simple-video-async.html: Added.
4:29 AM Changeset in webkit [185039] by youenn.fablet@crf.canon.fr
  • 6 edits in trunk

[Streams API] Implement ReadableStreamController constructor
https://bugs.webkit.org/show_bug.cgi?id=143752

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased test and expectation.

  • Modules/streams/ReadableStreamController.idl: Adding CustomConstructor.
  • bindings/js/JSReadableStreamControllerCustom.cpp:

(WebCore::constructJSReadableStreamController): Throws an exception whenever called.

LayoutTests:

  • streams/readable-stream.html: checking controller constructor.
  • streams/reference-implementation/brand-checks-expected.txt:
2:28 AM Changeset in webkit [185038] by commit-queue@webkit.org
  • 10 edits
    6 adds in trunk

Array#reduce and reduceRight don't follow ToLength
https://bugs.webkit.org/show_bug.cgi?id=145364
Source/JavaScriptCore:

Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength

Patch by Jordan Harband <ljharb@gmail.com> on 2015-05-31
Reviewed by Yusuke Suzuki.

  • builtins/Array.prototype.js:

(reduce):
(reduceRight):

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::finishCreation):
(JSC::arrayProtoFuncReduce): Deleted.
(JSC::arrayProtoFuncReduceRight): Deleted.

LayoutTests:

Patch by Jordan Harband <ljharb@gmail.com> on 2015-05-31
Reviewed by Yusuke Suzuki.

  • js/array-reduce-expected.txt:
  • js/array-reduceRight-expected.txt:
  • js/dom/array-prototype-properties-expected.txt:
  • js/dom/script-tests/array-prototype-properties.js:
  • js/script-tests/array-reduce.js:
  • js/script-tests/array-reduceRight.js:

May 30, 2015:

10:53 PM Changeset in webkit [185037] by beidson@apple.com
  • 6 edits in trunk/Source

Make FrameLoader methods that take PassRefPtr<Event> take raw pointers instead.
https://bugs.webkit.org/show_bug.cgi?id=145495

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests (No change in behavior).

In most cases ownership of the Event is not actually being transferred, and these functions are all rarely called anyways.

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::handleClick):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadPostRequest):

  • loader/FrameLoader.h:

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):

7:25 PM Changeset in webkit [185036] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

[iOS] Tiling coverage sometimes inflated by outdated scale factor.
<https://webkit.org/b/145494>
<rdar://problem/20989389>

Reviewed by Benjamin Poulain.

Have GraphicsLayerCA plumb the current contents scale through to TileController::adjustCoverageRect()
instead of TileController getting it from TileGrid.

This avoids a situation where adjustCoverageRect() could cause temporarily oversized tiling coverage
if called while TileGrid's content scale is outdated, and we're neither zooming or pinching, following
a pinch zoom that increased the scale factor.

Specifically, if all the velocity data is zero, we pad the coverage rect by a horizontal and vertical
margin computed like so:

margin = defaultTileSize / tileGrid.scale

If the actual scale is 5, but the TileGrid's outdated scale is e.g 0.8, you'll get a much larger
margin than you really wanted. Then the whole thing gets scaled up by 5x later on, and we explode
in a fiery feast of IOSurface allocations.

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::adjustCoverageRect):

  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::computeTileCoverageRect):

  • platform/graphics/ca/TileController.h:
6:08 PM Changeset in webkit [185035] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32-branch/Source

Versioning.

6:02 PM Changeset in webkit [185034] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.9

New tag.

3:07 PM Changeset in webkit [185033] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

Fix Windows tests broken by r185007.
https://bugs.webkit.org/show_bug.cgi?id=145472

Unreviewed. Discussed with Alexey Proskuryakov.

No new tests (Fixing the four broken ones should suffice).

The bug was that evaluating arguments in a method/constructor call has no guaranteed sequencing.

Clang seems to always do LTR, allowing the PassRefPtr to be evaluated as a bool in the call to
navigationType() before it is "consumed" by the PassRefPtr argument.

In Visual Studio the PassRefPtr consumption happened before the bool evaluation, meaning false
was always passed in to navigationType(), breaking the four tests.

The fix? Using PassRefPtr here was silly in the first place.
No ownership is being transferred.
Raw pointers it is.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadPostRequest):

  • loader/NavigationAction.cpp:

(WebCore::NavigationAction::NavigationAction):

  • loader/NavigationAction.h: Nobody is actually transferring ownership of these Events. Raw pointers will work just fine, thanks.
2:48 PM Changeset in webkit [185032] by fpizlo@apple.com
  • 3 edits
    3 adds in trunk

FTL codegen for MultiGetByOffset and MultiPutByOffset where the structure set is already proved should have an unreachable default case instead of an exit
https://bugs.webkit.org/show_bug.cgi?id=145469

Reviewed by Geoffrey Garen.
Source/JavaScriptCore:


Omitting the speculation on the fail path when the speculation is guaranteed not to be
taken hints to LLVM that the default case is impossible. This enables some useful
optimizations.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset):

LayoutTests:

  • js/regress/repeat-multi-get-by-offset-expected.txt: Added.
  • js/regress/repeat-multi-get-by-offset.html: Added.
  • js/regress/script-tests/repeat-multi-get-by-offset.js: Added.

(foo):

1:52 AM Changeset in webkit [185031] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Unreviewed build fix after r185014. Some tests only have subtests and not metrics.

  • Scripts/webkitpy/benchmark_runner/benchmark_results.py:

(BenchmarkResults._lint_subtest_results):

  • Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py:

(test_aggregate_nested_results):
(test_lint_results):

  • WinLauncher/WinLauncher.vcxproj/WinLauncherResource.h:
Note: See TracTimeline for information about the timeline view.