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

Timeline



May 22, 2016:

9:02 PM Changeset in webkit [201266] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Fixed debug assertion failures from r201235.

  • runtime/JSScope.cpp:

(JSC::abstractAccess):

6:35 PM Changeset in webkit [201265] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Added NSEventMaskMouseMoved to AppKitCompatibilityDeclarations.h.

Rubber-stamped by Anders Carlsson.

  • wtf/mac/AppKitCompatibilityDeclarations.h:
4:29 PM Changeset in webkit [201264] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.32.5

New tag.

3:55 PM Changeset in webkit [201263] by ap@apple.com
  • 2 edits in trunk/Tools

RELEASE_ASSERT(TestController::singleton().isCurrentInvocation(testInvocation)) is sometimes hit when running tests
https://bugs.webkit.org/show_bug.cgi?id=157977
rdar://problem/20874156

Reviewed by David Kilzer.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke): Be more certain to launch a new process when there was
a timeout detected. If we don't, there is a chance that the process is not quite frozen,
and will still send a response that we no longer expect.
(WTR::TestInvocation::dumpWebProcessUnresponsiveness): Print timeout details to stderr
too, as stdout is not available, at least not in the case that I was observing.

3:36 PM Changeset in webkit [201262] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Another attempt to fix the GTK build after my previous changes.

  • wtf/StdLibExtras.h:
3:31 PM Changeset in webkit [201261] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Tried to fix the GTK build after r201257.

  • wtf/StdLibExtras.h:
3:22 PM Changeset in webkit [201260] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Additional fixes for non-C++14 Apple projects that use WTF.

  • wtf/StdLibExtras.h:

(std::exchange):

3:21 PM Changeset in webkit [201259] by beidson@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Attempted Yosemite build fix after http://trac.webkit.org/changeset/201255

Suggested by and reviewed by Anders Carlsson.

  • b3/B3CCallValue.h: Initialize the effects member more conventionally.
3:19 PM Changeset in webkit [201258] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Additional fixes for non-C++14 Apple projects that use WTF.

  • wtf/StdLibExtras.h:

(std::make_unique):
(std::move):

3:04 PM Changeset in webkit [201257] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Correct the previous build fix attempt.

  • wtf/StdLibExtras.h:
2:10 PM Changeset in webkit [201256] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Build fix for non-C++14 Apple projects that use WTF.

Rubber-stamped by Anders.

  • wtf/StdLibExtras.h:
1:09 PM Changeset in webkit [201255] by beidson@apple.com
  • 37 edits in trunk

Move to C++14.
https://bugs.webkit.org/show_bug.cgi?id=157948

Reviewed by Michael Catanzaro.

.:

  • Source/cmake/OptionsCommon.cmake:

Source/bmalloc:

  • Configurations/Base.xcconfig:

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:

Source/WebCore:

No new tests (No change in behavior).

  • Configurations/Base.xcconfig:

Replace time literal suffixes that have underscores to the forms without
(e.g. 0_ms becomes 0ms):

  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):

  • platform/graphics/cg/IOSurfacePool.cpp:

Source/WebInspectorUI:

  • Configurations/Base.xcconfig:

Source/WebKit/mac:

  • Configurations/Base.xcconfig:

Source/WebKit2:

  • Configurations/Base.xcconfig:

Replace time literal suffixes that have underscores to the forms without
(e.g. 0_ms becomes 0ms):

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::startNetworkLoad):

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::responseHasExpired):
(WebKit::NetworkCache::responseNeedsRevalidation):
(WebKit::NetworkCache::makeStoreDecision):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:

(WebKit::NetworkCache::responseNeedsRevalidation):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::Storage::store):
(WebKit::NetworkCache::computeRecordWorth):

  • Shared/mac/RemoteLayerBackingStoreCollection.mm:
  • UIProcess/ViewGestureController.cpp:
  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::maximumBufferingTime):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlushImmediately):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):

Source/WTF:

  • Configurations/Base.xcconfig:

Delete a lot of "stl additions until we can adopt C++14" code:

  • wtf/StdLibExtras.h:

(std::make_unique): Deleted.
(std::index_sequence::size): Deleted.
(std::exchange): Deleted.
(std::literals::chrono_literals::operator _s): Deleted.
(std::literals::chrono_literals::operator _ms): Deleted.

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • MiniBrowser/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
12:13 PM Changeset in webkit [201254] by sbarati@apple.com
  • 4 edits
    1 add in trunk

REGRESSION(r199075): String.prototype.replace fails after being used many times with different replace values
https://bugs.webkit.org/show_bug.cgi?id=157968
<rdar://problem/26404735>

Reviewed by Ryosuke Niwa and Filip Pizlo.

Source/JavaScriptCore:

There was a bug in the DFG where we were checking a condition
on the wrong variable.

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

LayoutTests:

10:27 AM Changeset in webkit [201253] by Chris Dumez
  • 22 edits in trunk/Source

Remove uses of PassRefPtr in JS bindings code
https://bugs.webkit.org/show_bug.cgi?id=157949

Reviewed by Andreas Kling.

Remove uses of PassRefPtr in JS bindings code.

Source/JavaScriptCore:

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::queueMicrotask):

  • runtime/JSGlobalObject.h:

Source/WebCore:

  • bindings/js/JSDOMBinding.cpp:

(WebCore::jsArray):

  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):

  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMGlobalObjectTask.cpp:

(WebCore::JSGlobalObjectTask::JSGlobalObjectTask):

  • bindings/js/JSDOMGlobalObjectTask.h:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowMicrotaskCallback::create):
(WebCore::JSDOMWindowMicrotaskCallback::call):
(WebCore::JSDOMWindowMicrotaskCallback::JSDOMWindowMicrotaskCallback):
(WebCore::JSDOMWindowBase::queueTaskToEventLoop):

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::JSDOMWindowShell::finishCreation):
(WebCore::JSDOMWindowShell::setWindow):

  • bindings/js/JSDOMWindowShell.h:

(WebCore::JSDOMWindowShell::create):

  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):

  • bindings/js/JSWorkerGlobalScopeBase.h:
  • bindings/objc/DOMCustomXPathNSResolver.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GetNativeTypeForCallbacks):

  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallback::callbackWithStringList):

  • bindings/scripts/test/JS/JSTestCallback.h:
  • bindings/scripts/test/JS/JSTestCallbackFunction.cpp:

(WebCore::JSTestCallbackFunction::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallbackFunction::callbackWithStringList):

  • bindings/scripts/test/JS/JSTestCallbackFunction.h:
9:51 AM Changeset in webkit [201252] by bshafiei@apple.com
  • 3 edits in branches/safari-602.1.32-branch/Source/WebKit2

Merge r201246. rdar://problem/22524550

9:51 AM Changeset in webkit [201251] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32-branch/Source/WebCore

Merge r201241. rdar://problem/26396532

9:51 AM Changeset in webkit [201250] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32-branch/Source/WebCore

Merge r201229. rdar://problem/26396532

9:51 AM Changeset in webkit [201249] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32-branch/Source/WebCore

Merge r201233. rdar://problem/26397571

9:45 AM Changeset in webkit [201248] by bshafiei@apple.com
  • 5 edits in branches/safari-602.1.32-branch/Source

Versioning.

3:58 AM Changeset in webkit [201247] by Csaba Osztrogonác
  • 2 edits in trunk

Suppress -Wmissing-field-initializers warnings with GCC 4.9
https://bugs.webkit.org/show_bug.cgi?id=157888

Reviewed by Michael Catanzaro.

  • Source/cmake/WebKitHelpers.cmake:

May 21, 2016:

9:19 PM WebKitGTK/2.12.x edited by Michael Catanzaro
I'm in X, let's copy/paste (diff)
4:52 PM Changeset in webkit [201246] by aestes@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r188642): All pages are blank when printing a webpage in iOS Safari
https://bugs.webkit.org/show_bug.cgi?id=157924
rdar://problem/22524550

Reviewed by Sam Weinig.

When UIPrintInteractionController asks WKWebView to print a webpage, it does so in several phases. First we're
asked to compute the page count, followed later by a series of messages asking us to draw each page into a
provided CGContext.

When asked for the page count, we send a message to the Web process instructing it to compute and
return the page count synchronously and then immediately start drawing the page for printing. If the drawing has
finished by the time we're asked to print the first page, then we can do so without waiting. But if it hasn't
then we block by calling Connection::waitForMessage(), passing std::chromo::milliseconds::max() as the relative
timeout.

Prior to r188642, Connection::waitForMessage() called std::condition_variable::wait_for(), which takes a
relative timeout value. r188642 replaced this with WTF::Condition::waitUntil(), which takes an absolute timeout
instead. To convert from relative to absolute, this line was added to Connection::waitForMessage():

Condition::Clock::time_point absoluteTimeout = Condition::Clock::now() + timeout;

std::chrono will convert both operands to a common duration type before performing the addition. When timeout
equals something very large, like milliseconds::max(), this conversion results in signed integer overflow,
giving absoluteTimeout a value less than Clock::now() and making waitForMessage time out immediately.

To fix this, compute how many milliseconds remain on our clock, and add the smaller of that and the timeout
value to Clock::now() to arrive at an absolute timeout.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::waitForMessage):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _printedDocument]): Removed an unnecessary nanoseconds-to-milliseconds conversion.

12:21 PM Changeset in webkit [201245] by Matt Baker
  • 14 edits in trunk/Source/WebInspectorUI

Web Inspector: Creating the CSSStyleDetailsSidebarPanel takes about 50ms (20%) of main load
https://bugs.webkit.org/show_bug.cgi?id=156707
<rdar://problem/25780404>

Reviewed by Timothy Hatcher.

This patch adds new View concepts, initialLayout and widthDidChange,
making it possible for hidden views to postpone the creation of their
UI subtree until they are shown for the first time.

Sidebar panels get this performance improvement by virtue of SidebarPanel
and StyleDetailsPanel, which trigger a layout when shown. This can be
removed once <https://webkit.org/b/150741> is fixed, and this is done
automatically by View.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor):
Should subclass View.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.layout):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get element): Deleted.
Handled in View base class.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.updateLayout): Deleted.
Relocate to layout override, ignore unused parameter force.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel):
Create the minimum required initial state and UI elements. Relocate
anything that can be lazy loaded to initialLayout.

(WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.sizeDidChange):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.widthDidChange): Deleted.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WebInspector.ComputedStyleDetailsPanel):
Relocate anything that can be lazy loaded to initialLayout.
(WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout):
(WebInspector.ComputedStyleDetailsPanel.prototype.shown): Deleted.
(WebInspector.ComputedStyleDetailsPanel.prototype.widthDidChange): Deleted.
Handled in View base class.

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid.prototype.layout):
Resize logic can be safely moved to sizeDidChange, since columns are
always initialized when the width changes.
(WebInspector.DataGrid.prototype.sizeDidChange):
Reposition headers, scrollbars.
(WebInspector.DataGrid.prototype._updateHeaderAndScrollbar):
Broke out header repositioning, which needs to be called whenever
column widths are initialized or the view size changes.

  • UserInterface/Views/NavigationBar.js:

(WebInspector.NavigationBar.prototype.layout):

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.sizeDidChange):
(WebInspector.RulesStyleDetailsPanel.prototype.widthDidChange): Deleted.

  • UserInterface/Views/Sidebar.js:

(WebInspector.Sidebar.prototype._recalculateWidth):
Width changes need to be coordinated by the View base class, since the
initial layout must have occurred before handling a width change.
Force a layout with a resize layout reason.

  • UserInterface/Views/SidebarPanel.js:

(WebInspector.SidebarPanel.prototype.get displayName):
Drive-by style fix: add getter so that CSSStyleDetailsSidebarPanel
doesn't have to read the private property directly.

(WebInspector.SidebarPanel.prototype.shown):
Force a layout whenever the panel is shown.
(WebInspector.SidebarPanel.prototype.sizeDidChange):
(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.widthDidChange): Deleted.

  • UserInterface/Views/StyleDetailsPanel.js:

(WebInspector.StyleDetailsPanel.prototype.shown):
Schedule a layout when shown. A forced layout isn't necessary.
Unlike SidebarPanels, the initial state of style panels doesn't depend
on its layout, and can be safely initialized by the next rAF.

(WebInspector.StyleDetailsPanel.prototype.hidden):
Cancel a pending layout if the panel is hidden before the next AF.
(WebInspector.StyleDetailsPanel.prototype.widthDidChange): Deleted.
Not needed, defined in View base class.

  • UserInterface/Views/TimelineOverview.js:

(WebInspector.TimelineOverview.prototype.sizeDidChange):
(WebInspector.TimelineOverview.prototype.layout):
Moved resize logic to sizeDidChange.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype.sizeDidChange):
(WebInspector.TimelineRuler.prototype.layout):
Moved resize logic to sizeDidChange.

  • UserInterface/Views/View.js:

(WebInspector.View):
(WebInspector.View.prototype.updateLayout):
(WebInspector.View.prototype.cancelLayout):
Allow a pending layout to be canceled. Useful when a view with a
pending layout is hidden before the layout occurs.

(WebInspector.View.prototype.get layoutReason):
Protected getter for subclasses that need to check the layout reason
outside sizeDidChange.

(WebInspector.View.prototype.initialLayout):
Subclass hook to create UI subtree the first time a layout occurs.
Called only once during the lifetime of the View.

(WebInspector.View.prototype.layout):
Drive-by comment fix.
(WebInspector.View.prototype.sizeDidChange):
New layout cycle hook for subclasses.
(WebInspector.View.prototype._layoutSubtree):
Do an initial layout the first time layout is called.
Call the sizeDidChange hook so that subclasses can update state
which depends on size/position before doing layout.

  • UserInterface/Views/VisualStyleDetailsPanel.js:

(WebInspector.VisualStyleDetailsPanel):
Create the minimum required initial state and UI elements. Relocate
anything that can be lazy loaded to initialLayout.

(WebInspector.VisualStyleDetailsPanel.prototype.refresh):
No changes, shifting line numbers confused the diff.
(WebInspector.VisualStyleDetailsPanel.prototype.initialLayout):
(WebInspector.VisualStyleDetailsPanel.prototype.sizeDidChange):
(WebInspector.VisualStyleDetailsPanel.prototype.widthDidChange): Deleted.

12:21 PM Changeset in webkit [201244] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Simulator launch fails intermittently due to failure in checking simulator boot status
https://bugs.webkit.org/show_bug.cgi?id=157965
rdar://problem/26402404

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/xcode/simulator.py:

(Simulator.wait_until_device_is_booted): Ignore CalledProcessError exception while checking
whether simulator has finished booting.

11:42 AM Changeset in webkit [201243] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

Assertion Failed: StyleDetailsPanel.markAsNeedsRefresh() called with null domNode
https://bugs.webkit.org/show_bug.cgi?id=157955
<rdar://problem/26398943>

Reviewed by Timothy Hatcher.

CSSStyleDetailsSidebarPanel visible is true while the panel is being
removed from the details sidebar, even after calling hidden(). This
causes it to refresh its current StyleDetailsPanel with a null DOM node.

Unfortunately, SidebarPanel.visible isn't toggled by calling shown/hidden.
Since SidebarPanel.visible is only true if the panel is selected, we should
deselect panels before removing them.

  • UserInterface/Views/Sidebar.js:

(WebInspector.Sidebar.prototype.removeSidebarPanel):
Deselect the panel being removed before calling visibiltyDidChange.

  • UserInterface/Views/SidebarPanel.js:

(WebInspector.SidebarPanel.prototype.toggle): Deleted.
(WebInspector.SidebarPanel.prototype.willRemove): Deleted.
Drive-by update to remove some unused methods.

10:10 AM Changeset in webkit [201242] by mitz@apple.com
  • 3 edits in trunk/Tools

Silence warnings from svn propget when using newer versions of Subversion.
https://bugs.webkit.org/show_bug.cgi?id=157879

Reviewed by Daniel Bates.

  • Scripts/prepare-ChangeLog:

(attributeCommand): Redirect svn propget stderr to /dev/null.

  • Scripts/svn-create-patch:

(findMimeType): Ditto.

Note: See TracTimeline for information about the timeline view.