Timeline
Jan 14, 2015:
- 11:59 PM Changeset in webkit [178490] by
-
- 3 edits4 adds in trunk
Graphics corruption after Find on some pages
https://bugs.webkit.org/show_bug.cgi?id=140489
Reviewed by Zalan Bujtas.
Source/WebCore:
After doing a Find on http://shop.outlier.cc/shop/retail/chino.html,
garbage could appear on some parts of the page. This is caused by creating
a compositing layer which is marked as opaque, yet failing to paint the entire
layer contents.
This was caused by a bug in RenderBox::computeBackgroundIsKnownToBeObscured()
logic. On the page in question, doing a Find could cause overflow:hidden sections
to get scrolled (since Find can reveal the selection by scrolling overflow).
However, the render tree walking under RenderBox::foregroundIsKnownToBeOpaqueInRect()
fails to take overflow scrolling into account, so gives the wrong answer
in some content configurations. As a result, we'd think that the background
is obscured, and never paint it.
Conservative fix is to have isCandidateForOpaquenessTest() return false
when the content has any non-zero scroll offset.
Tests: compositing/contents-opaque/opaque-with-scrolled.html
fast/backgrounds/opaque-scrolled-paint-background.html
- rendering/RenderBox.cpp:
(WebCore::isCandidateForOpaquenessTest):
LayoutTests:
Two new tests. The first one just reports that we have an opaque compositing
layer. The second one tests the the user-visible symptom of the missing
background.
- compositing/contents-opaque/opaque-with-scrolled-expected.txt: Added.
- compositing/contents-opaque/opaque-with-scrolled.html: Added.
- fast/backgrounds/opaque-scrolled-paint-background-expected.html: Added.
- fast/backgrounds/opaque-scrolled-paint-background.html: Added.
- 11:45 PM Changeset in webkit [178489] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebCore
Merged r173796.
- 10:50 PM Changeset in webkit [178488] by
-
- 2 edits in trunk/LayoutTests
<rdar://problem/17748495> Multiple compositing tests fail to repaint on WK1
- platform/mac/TestExpectations: These tests pass now, unmarking.
- 10:05 PM Changeset in webkit [178487] by
-
- 2 edits in trunk/LayoutTests
Update expectations for what we see on upgraded EWS machines.
- platform/mac/TestExpectations:
- 10:00 PM Changeset in webkit [178486] by
-
- 8 edits6 adds in trunk
[Mac][MSE] Stalled YouTube playback does not allow display to sleep.
https://bugs.webkit.org/show_bug.cgi?id=140468
rdar://problem/19171162
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-source-stalled-holds-sleep-assertion.html
The unstated convention of MediaPlayerPrivate::paused() is that implementations should
return 'true' if the playback rate is 0. However, MediaPlayerPrivateMediaSourceAVFObjC
was returning 'false' if it was supposed to be playing, regardless of the actual rate.
This caused a check in HTMLMediaElement of whether to release the sleep assertion token
to fail, thinking the media engine was still playing.
Add some testing infrastructure to allow us to test whether the media element is disabling
display sleep from within layout tests.
- html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::isDisablingSleep):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused):
- testing/Internals.cpp:
(WebCore::Internals::elementIsBlockingDisplaySleep):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- media/media-source/content/test-fragmented-manifest.json: Added.
- media/media-source/content/test-fragmented.mp4: Added.
- media/media-source/media-source-loader.js: Added.
(MediaSourceLoader):
(MediaSourceLoader.prototype.loadManifest):
(MediaSourceLoader.prototype.loadManifestSucceeded):
(MediaSourceLoader.prototype.loadManifestFailed):
(MediaSourceLoader.prototype.loadMediaData):
(MediaSourceLoader.prototype.loadMediaDataSucceeded):
(MediaSourceLoader.prototype.loadMediaDataFailed):
(MediaSourceLoader.prototype.type):
(MediaSourceLoader.prototype.duration):
(MediaSourceLoader.prototype.initSegment):
(MediaSourceLoader.prototype.mediaSegmentsLength):
(MediaSourceLoader.prototype.mediaSegment):
- media/media-source/media-source-stalled-holds-sleep-assertion-expected.txt: Added.
- media/media-source/media-source-stalled-holds-sleep-assertion.html: Added.
- 7:49 PM Changeset in webkit [178485] by
-
- 4 edits in branches/safari-600.5-branch/Source/WebCore
Merged r175615. <rdar://problem/19424167>
- 7:46 PM Changeset in webkit [178484] by
-
- 14 edits in branches/safari-600.5-branch/Source
Merged r175400. <rdar://problem/19424166>
- 7:36 PM Changeset in webkit [178483] by
-
- 22 edits2 copies in branches/safari-600.5-branch/Source/WebKit2
Merged r175288. <rdar://problem/19480393>
- 7:32 PM Changeset in webkit [178482] by
-
- 7 edits1 copy in branches/safari-600.5-branch/Source/WebKit2
Merged r175188. <rdar://problem/19480522>
- 7:04 PM Changeset in webkit [178481] by
-
- 11 edits3 adds in trunk/Source/WebCore
Move LayoutFragment and ClipRect to their own files.
https://bugs.webkit.org/show_bug.cgi?id=140457
Reviewed by Simon Fraser.
Move these classes to their own files to to make RenderLayer.h less heavy.
No change in functionality.
- WebCore.xcodeproj/project.pbxproj:
- rendering/ClipRect.cpp: Added.
(WebCore::ClipRect::intersects):
- rendering/ClipRect.h: Added.
(WebCore::ClipRect::ClipRect):
(WebCore::ClipRect::rect):
(WebCore::ClipRect::setRect):
(WebCore::ClipRect::affectedByRadius):
(WebCore::ClipRect::setAffectedByRadius):
(WebCore::ClipRect::operator==):
(WebCore::ClipRect::operator!=):
(WebCore::ClipRect::intersect):
(WebCore::ClipRect::move):
(WebCore::ClipRect::moveBy):
(WebCore::ClipRect::isEmpty):
(WebCore::ClipRect::intersects):
(WebCore::ClipRect::inflateX):
(WebCore::ClipRect::inflateY):
(WebCore::ClipRect::inflate):
(WebCore::intersection):
- rendering/LayerFragment.h: Added.
(WebCore::LayerFragment::setRects):
(WebCore::LayerFragment::moveBy):
(WebCore::LayerFragment::intersect):
- rendering/RenderFlowThread.h:
- rendering/RenderLayer.cpp:
(WebCore::ClipRect::intersects): Deleted.
- rendering/RenderLayer.h:
(WebCore::ClipRect::ClipRect): Deleted.
(WebCore::ClipRect::rect): Deleted.
(WebCore::ClipRect::setRect): Deleted.
(WebCore::ClipRect::affectedByRadius): Deleted.
(WebCore::ClipRect::setAffectedByRadius): Deleted.
(WebCore::ClipRect::operator==): Deleted.
(WebCore::ClipRect::operator!=): Deleted.
(WebCore::ClipRect::intersect): Deleted.
(WebCore::ClipRect::move): Deleted.
(WebCore::ClipRect::moveBy): Deleted.
(WebCore::ClipRect::isEmpty): Deleted.
(WebCore::ClipRect::intersects): Deleted.
(WebCore::ClipRect::inflateX): Deleted.
(WebCore::ClipRect::inflateY): Deleted.
(WebCore::ClipRect::inflate): Deleted.
(WebCore::intersection): Deleted.
(WebCore::LayerFragment::LayerFragment): Deleted.
(WebCore::LayerFragment::setRects): Deleted.
(WebCore::LayerFragment::moveBy): Deleted.
(WebCore::LayerFragment::intersect): Deleted.
- rendering/RenderMultiColumnSet.h:
- rendering/RenderRegion.h:
- rendering/RenderTreeAsText.cpp:
- 7:03 PM Changeset in webkit [178480] by
-
- 4 edits in branches/safari-600.4-branch/Source
Merged r178378. rdar://problems/19274499
- 7:03 PM Changeset in webkit [178479] by
-
- 2 edits in branches/safari-600.4-branch/Source/WebCore
Merge r178304. rdar://problem/19447156
- 7:03 PM Changeset in webkit [178478] by
-
- 10 edits in branches/safari-600.4-branch/Source
Merged r178290. rdar://problems/19441243
- 7:03 PM Changeset in webkit [178477] by
-
- 2 edits in branches/safari-600.4-branch/Source/WebKit/mac
Merged r178126. rdar://problems/19412705
- 6:54 PM Changeset in webkit [178476] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebCore
Merged r175333. <rdar://problem/19424165>
- 6:49 PM Changeset in webkit [178475] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebCore
Merged r175332. <rdar://problem/19424161>
- 6:46 PM Changeset in webkit [178474] by
-
- 3 edits in branches/safari-600.5-branch/Source/WebCore
Merged r175331. <rdar://problem/19424160>
- 6:43 PM Changeset in webkit [178473] by
-
- 4 edits in branches/safari-600.5-branch/Source/WebCore
Merged r175284. <rdar://problem/19424157>
- 6:40 PM Changeset in webkit [178472] by
-
- 7 edits in branches/safari-600.5-branch/Source/WebCore
Merged r175000. <rdar://problem/19424156>
- 6:16 PM Changeset in webkit [178471] by
-
- 2 edits2 moves in trunk/LayoutTests
[EFL] Change expectations for two layout tests.
https://bugs.webkit.org/show_bug.cgi?id=140391
Patch by Andrzej Badowski <a.badowski@samsung.com> on 2015-01-14
Reviewed by Chris Fleizach.
Currently, two layout tests produce positive results for EFL:
- accessibility/fieldset-element-expected.html
- accessibility/negative-tabindex-does-not-expose-label.html.
- accessibility/fieldset-element-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/fieldset-element-expected.txt.
- accessibility/negative-tabindex-does-not-expose-label-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/negative-tabindex-does-not-expose-label-expected.txt.
- platform/efl/TestExpectations:
Missing markings removed.
- 6:10 PM Changeset in webkit [178470] by
-
- 2 edits in trunk/Source/WebKit
[Win] Unreviewed build fix after r178459 and r178462.
- WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add some
missing exports needed by the test infrastructure.
- 5:29 PM Changeset in webkit [178469] by
-
- 1 copy in tags/Safari-600.3.18
New tag.
- 5:16 PM Changeset in webkit [178468] by
-
- 5 edits4 deletes in trunk
Unreviewed, rolling out r178438.
https://bugs.webkit.org/show_bug.cgi?id=140484
Broke a few MediaSource tests (Requested by JoePeck on
#webkit).
Reverted changeset:
"[MSE] Implement per TrackBuffer buffered."
https://bugs.webkit.org/show_bug.cgi?id=139813
http://trac.webkit.org/changeset/178438
- 5:11 PM Changeset in webkit [178467] by
-
- 12 edits8 copies in branches/safari-600.5-branch
Merged r174823. <rdar://problem/19424155>
- 5:07 PM Changeset in webkit [178466] by
-
- 20 edits5 copies in branches/safari-600.5-branch
Merged r174402. <rdar://problem/19478358>
- 4:49 PM Changeset in webkit [178465] by
-
- 4 edits in trunk/Tools
Create iOS-EWS server queue
https://bugs.webkit.org/show_bug.cgi?id=140473
Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2015-01-14
Reviewed by Benjamin Poulain.
- QueueStatusServer/app.yaml: Updates the SVN version number.
- QueueStatusServer/config/queues.py: Add ios-ews queue.
- QueueStatusServer/model/queues.py:
(Queue.display_name): Makes sure the display name is pretty!
- 4:35 PM Changeset in webkit [178464] by
-
- 9 edits1 add in trunk/Source/WebKit2
Convert WKUserScript to be an API::Object bridged object
https://bugs.webkit.org/show_bug.cgi?id=140471
Reviewed by Dan Bernstein.
- Shared/API/APIObject.h:
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
Add Type::UserScript.
- UIProcess/API/APIUserScript.h: Added.
Add API object for UserScripts.
- UIProcess/API/Cocoa/WKUserContentController.mm:
(-[WKUserContentController init]):
(-[WKUserContentController userScripts]):
(-[WKUserContentController addUserScript:]):
(-[WKUserContentController removeAllUserScripts]):
(toWebCoreUserScriptInjectionTime): Deleted.
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserScript):
(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
- UIProcess/UserContent/WebUserContentControllerProxy.h:
(WebKit::WebUserContentControllerProxy::userScripts):
Store the WKUserScripts in the WebUserContentControllerProxy instead of the
Objective-C layer WKUserContentController, to allow creation of the object
from either the Objective-C or C++ sides.
- UIProcess/API/Cocoa/WKUserScript.mm:
(generateIdentifier):
(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
(-[WKUserScript source]):
(-[WKUserScript injectionTime]):
(-[WKUserScript isForMainFrameOnly]):
(-[WKUserScript _apiObject]):
- UIProcess/API/Cocoa/WKUserScriptInternal.h:
(API::wrapper):
(API::toWebCoreUserScriptInjectionTime):
(API::toWKUserScriptInjectionTime):
Convert to get properties from the API::UserScript.
- WebKit2.xcodeproj/project.pbxproj:
Add the new file.
- 4:21 PM Changeset in webkit [178463] by
-
- 3 edits in trunk/Source/WebKit2
Add per page connection callbacks to the lifetime observer
https://bugs.webkit.org/show_bug.cgi?id=140475
Reviewed by Andreas Kling.
- UIProcess/WebProcessLifetimeObserver.cpp:
(WebKit::WebProcessLifetimeObserver::addWebPage):
(WebKit::WebProcessLifetimeObserver::removeWebPage):
- UIProcess/WebProcessLifetimeObserver.h:
(WebKit::WebProcessLifetimeObserver::webPageWillOpenConnection):
(WebKit::WebProcessLifetimeObserver::webPageDidCloseConnection):
- 4:18 PM Changeset in webkit [178462] by
-
- 6 edits2 adds in trunk
REGRESSION (r165385): Crash when applying autocorrection exceeds maximum text area length.
https://bugs.webkit.org/show_bug.cgi?id=137902
rdar://problem/18568864
Reviewed by Darin Adler.
Source/WebCore:
Test: editing/text-iterator/invalid-subrange.html
characterSubrange should check the iterator position after each advance.
This changed adds a new method to the Internals object to be able to test this.
- editing/TextIterator.cpp:
(WebCore::characterSubrange):
(WebCore::TextIterator::subrange):
(WebCore::findPlainText):
- testing/Internals.cpp:
(WebCore::Internals::subrange):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- editing/text-iterator/invalid-subrange-expected.txt: Added.
- editing/text-iterator/invalid-subrange.html: Added.
- 4:01 PM Changeset in webkit [178461] by
-
- 4 edits in trunk/Source/WebKit2
Make WebsiteDataStore a WebProcessLifetimeObserver
https://bugs.webkit.org/show_bug.cgi?id=140472
Reviewed by Andreas Kling.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::~WebsiteDataStore):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::addWebPage): Deleted.
(WebKit::WebsiteDataStore::removeWebPage): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- 3:55 PM Changeset in webkit [178460] by
-
- 4 edits in branches/safari-600.5-branch/Source/WebCore
Merged r174652. <rdar://problem/19424154>
- 3:50 PM Changeset in webkit [178459] by
-
- 8 edits7 adds in trunk
REGRESSION (r154769): Wrong <title> taken as a tooltip for SVG element.
https://bugs.webkit.org/show_bug.cgi?id=139690.
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-14
Reviewed by Daniel Bates.
Source/WebCore:
Before r154769, we were calling Traversal<SVGTitleElement>::firstWithin(), which returns
the first immediate SVGTitleElement child. In r154769, Traversal<SVGTitleElement>::firstWithin()
was replaced by descendantsOfType<SVGTitleElement> which returns all descendants SVGTitleElements.
Then we were returning the first element of these descendants, which may not be an immediate
child of the element, as the title of the SVGElement. This was the reason of this bug. The
fix is to use childrenOfType<SVGTitleElement>() instead, which returns the immediate SVGTitleElement
children of an SVGElement.
Also we were not following exactly the specs for the rootmost SVG element's title value.
According to the W3C specs, for stand-alone SVG documents only, the rootmost SVG element
should not return a title. But we were not returning a title for the rootmost SVG element
always. The fix is to return a empty title for the rootmost SVG element only if topDocument()
of the element isSVGDocument().
NOTE: The main SVG specs http://www.w3.org/TR/SVG/interact.html#hit-testing (W3C Recommendation
16 August 2011) and http://www.w3.org/TR/SVG/struct.html#DescriptionAndTitleElements (W3C
Recommendation 16 August 2011) do not say how the tooltip of an SVG element is calculated. But
the SVG tiny specs http://www.w3.org/TR/SVGTiny12/struct.html#uiTitleDescBehavior (W3C
Recommendation 22 December 2008) however explains well the tooltip calculation for the embedded
and the stand-alone SVG cases. And it seems this what we should rely on.
Test: svg/hittest/svg-standalone-tooltip.svg
svg/hittest/svg-embedded-tooltip.html
- WebCore.exp.in:
- rendering/HitTestResult.h:
Make HitTestResult::setInnerNode be WEBCORE_EXPORT
- svg/SVGElement.cpp:
(WebCore::SVGElement::title):
Replace descendantsOfType<SVGTitleElement>() by childrenOfType<SVGTitleElement>().
Fix the title value of the rootmost SVG element.
- testing/Internals.cpp:
(WebCore::Internals::toolTipFromElement):
- testing/Internals.h:
- testing/Internals.idl:
Add a new internal function toolTipFromElement() which returns the tooltip text for a
given element.
LayoutTests:
- svg/hittest/resources: Added.
- svg/hittest/resources/svg-tooltip.svg: Added.
Shared resources to be used by the tests.
- svg/hittest/resources/svg-tooltip.js: Added.
This code mimics the C++ tooltip calculation and compares its result with what the C++
code returns.
- svg/hittest/svg-embedded-tooltip-expected.txt: Added.
- svg/hittest/svg-embedded-tooltip.html: Added.
This test ensures that the tooltip text for SVG elements is calculated correctly when
the SVG is embedded in an HTML either through inline <svg> tag or through an <embed>
tag. In both cases, the rootmost SVG element should return the SVG document title.
- svg/hittest/svg-standalone-tooltip-expected.txt: Added.
- svg/hittest/svg-standalone-tooltip.svg: Added.
This test ensures that for stand-alone SVG documents, the tooltip text for SVG elements
is calculated correctly. In this case, the rootmost SVG element should not return a
title since the SVG document title will be displayed in the browser chrome.
- 3:46 PM Changeset in webkit [178458] by
-
- 5 edits in branches/safari-600.3-branch/Source
Versioning.
- 3:44 PM Changeset in webkit [178457] by
-
- 4 edits in branches/safari-600.5-branch/Source/WebCore
Merged r174460. <rdar://problem/19424153>
- 3:39 PM Changeset in webkit [178456] by
-
- 4 edits in branches/safari-600.5-branch/Source/WebCore
Merged r173791. <rdar://problem/19424150>
- 3:29 PM Changeset in webkit [178455] by
-
- 3 edits in trunk/Source/WebKit2
[WK2][iOS] Add private API to toggle diagnostic logging setting
https://bugs.webkit.org/show_bug.cgi?id=140464
Reviewed by Dan Bernstein.
Add private API to toggle diagnostic logging setting for iOS.
Previously, there was only a WK2 private C API for this.
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _diagnosticLoggingEnabled]):
(-[WKPreferences _setDiagnosticLoggingEnabled:]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- 3:28 PM Changeset in webkit [178454] by
-
- 2 edits in trunk/Source/WebCore
Buildfix after r178434
https://bugs.webkit.org/show_bug.cgi?id=140467
Reviewed by Chris Dumez.
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertPerspective):
- 3:24 PM Changeset in webkit [178453] by
-
- 5 edits in branches/safari-600.5-branch
Merged r173520. <rdar://problem/19424149>
- 3:17 PM Changeset in webkit [178452] by
-
- 8 edits in trunk/Source/WebKit2
Switch VisitedLinkProvider over to WebProcessLifetimeObserver
https://bugs.webkit.org/show_bug.cgi?id=140469
Reviewed by Andreas Kling.
- UIProcess/VisitedLinkProvider.cpp:
(WebKit::VisitedLinkProvider::~VisitedLinkProvider):
(WebKit::VisitedLinkProvider::removeAll):
(WebKit::VisitedLinkProvider::webProcessWillOpenConnection):
(WebKit::VisitedLinkProvider::webProcessDidCloseConnection):
(WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
(WebKit::VisitedLinkProvider::resizeTable):
(WebKit::VisitedLinkProvider::addProcess): Deleted.
(WebKit::VisitedLinkProvider::removeProcess): Deleted.
- UIProcess/VisitedLinkProvider.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::processDidFinishLaunching):
- UIProcess/WebProcessLifetimeObserver.cpp:
(WebKit::WebProcessLifetimeObserver::processes):
- UIProcess/WebProcessLifetimeObserver.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::disconnect):
(WebKit::WebProcessProxy::addVisitedLinkProvider): Deleted.
(WebKit::WebProcessProxy::didDestroyVisitedLinkProvider): Deleted.
- UIProcess/WebProcessProxy.h:
- 3:13 PM Changeset in webkit [178451] by
-
- 3 edits in branches/safari-600.5-branch
Merged r173454. <rdar://problem/19424147>
- 3:04 PM Changeset in webkit [178450] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebCore
Merged r173439. <rdar://problem/19424146>
- 2:53 PM Changeset in webkit [178449] by
-
- 2 edits in trunk/Source/WebCore
Build fix for NFAToDFA on ARM
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-14
- contentextensions/NFAToDFA.cpp:
(WebCore::ContentExtensions::UniqueNodeIdSet::UniqueNodeIdSet):
(WebCore::ContentExtensions::UniqueNodeIdSet::isDeletedValue):
- 2:51 PM Changeset in webkit [178448] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebCore
Merged r173337. <rdar://problem/19424143>
- 2:37 PM Changeset in webkit [178447] by
-
- 75 edits4 copies3 deletes in branches/safari-600.5-branch
Merged r173318. <rdar://problem/19424143>
- 2:20 PM Changeset in webkit [178446] by
-
- 16 edits2 copies in branches/safari-600.5-branch/Source/WebCore
Merged r173197. <rdar://problem/19424142>
- 2:16 PM Changeset in webkit [178445] by
-
- 3 edits in branches/safari-600.5-branch/Source/WebCore
Merged r172651. <rdar://problem/19424141>
- 2:12 PM Changeset in webkit [178444] by
-
- 4 edits in trunk/Tools
[iOS] run-webkit-tests --ios hangs trying to launch iOS Simulator with unavailable runtime
https://bugs.webkit.org/show_bug.cgi?id=140301
<rdar://problem/19389266>
Reviewed by Jon Honeycutt.
Fixes an issue where run-webkit-tests --ios will hang when trying to launch iOS Simulator
with an unavailable runtime.
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options): Modified to access property Simulator.latest_available_runtime,
which was formerly called Simulator.latest_runtime. Additionally, raise an exception if the
specified runtime cannot be used because it is unavailable.
- Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.testing_device): Modified to call Simulator.lookup_or_create_device(),
which was formerly named testing_device.
- Scripts/webkitpy/xcode/simulator.py:
(Device.create): Modified to lookup created device by the UDID returned by simctl, which is
more robust than looking up the simulator device by name and runtime. This approach also
avoids returning the wrong device due to <rdar://problem/19444383> (simctl list shows
unavailable runtimes under the same iOS heading it would use to show it as available).
(Simulator.find_device_by_udid): Added.
(Simulator.device): Added optional parameter should_ignore_unavailable_devices (defaults
to False) to ignore devices that are unavailable (say, because their runtime is unavailable).
(Simulator.available_runtimes): Added.
(Simulator.latest_available_runtime): Renamed; formerly named latest_runtime. Take advantage
of the reverse=True argument to sorted() to sort the list of available runtimes such that the
first element of the sorted list is the runtime with the highest version number.
(Simulator.lookup_or_create_device): Renamed; formerly named testing_device.
- 1:33 PM Changeset in webkit [178443] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebCore
Rollout r178440.
- 1:03 PM Changeset in webkit [178442] by
-
- 1 edit1 delete in trunk/Source/JavaScriptCore
Removed accidental commit of "invalid_array.js"
http://trac.webkit.org/changeset/178439
- tests/stress/invalid_array.js: Removed.
- 1:00 PM Changeset in webkit [178441] by
-
- 8 edits2 adds in trunk/Source/JavaScriptCore
Fixes operationPutByIdOptimizes such that they check that the put didn't
change the structure of the object who's property access is being
cached. Also removes uses of the new base value from the cache generation code.
https://bugs.webkit.org/show_bug.cgi?id=139500
Reviewed by Filip Pizlo.
- jit/JITOperations.cpp:
(JSC::operationPutByIdStrictOptimize): saved the structure before the put.
(JSC::operationPutByIdNonStrictOptimize): ditto.
(JSC::operationPutByIdDirectStrictOptimize): ditto.
(JSC::operationPutByIdDirectNonStrictOptimize): ditto.
- jit/Repatch.cpp:
(JSC::generateByIdStub):
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStubAndGetOldStructure): Added.
(JSC::tryCachePutByID):
(JSC::repatchPutByID):
(JSC::tryBuildPutByIdList):
(JSC::tryRepatchIn):
(JSC::emitPutTransitionStub): Deleted.
- jit/Repatch.h:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/JSPropertyNameEnumerator.h:
(JSC::genericPropertyNameEnumerator):
- runtime/Operations.h:
(JSC::normalizePrototypeChainForChainAccess): restructured to not use the base value.
(JSC::normalizePrototypeChain): restructured to not use the base value.
- tests/mozilla/mozilla-tests.yaml:
- tests/stress/proto-setter.js: Added.
- tests/stress/put-by-id-build-list-order-recurse.js: Added.
Added test that fails without this patch.
- 12:57 PM Changeset in webkit [178440] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebCore
Merged r171316. <rdar://problem/19424112>
- 12:57 PM Changeset in webkit [178439] by
-
- 1 add in trunk/Source/JavaScriptCore/tests/stress/invalid_array.js
added invalid_array test
- 12:36 PM Changeset in webkit [178438] by
-
- 5 edits4 adds in trunk
[MSE] Implement per TrackBuffer buffered.
https://bugs.webkit.org/show_bug.cgi?id=139813.
Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-01-14
Reviewed by Jer Noble.
Source/WebCore:
Added implementation of SourceBuffer buffered() algorithm as per specification,
and caching mechanism called when samples are added, removed, or MediaSource
readyState is changed.
Tests: media/media-source/media-source-multiple-trackBuffers-buffered-in-ended-state.html
media/media-source/media-source-multiple-trackBuffers-buffered.html
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::setReadyState):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::TrackBuffer::TrackBuffer):
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::buffered):
(WebCore::SourceBuffer::invalidateBuffered):
(WebCore::SourceBuffer::recalculateBuffered):
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
(WebCore::SourceBuffer::removeCodedFrames):
(WebCore::SourceBuffer::evictCodedFrames):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::bufferedAccountingForEndOfStream):
(WebCore::SourceBuffer::hasCurrentTime):
- Modules/mediasource/SourceBuffer.h:
LayoutTests:
Added tests which checks how buffered behaves for two trackBuffers in single SourceBuffer
after appends, and with MediaSource readyState switching to ended and back to open.
- media/media-source/media-source-multiple-trackBuffers-buffered-expected.txt: Added.
- media/media-source/media-source-multiple-trackBuffers-buffered-in-ended-state-expected.txt: Added.
- media/media-source/media-source-multiple-trackBuffers-buffered-in-ended-state.html: Added.
- media/media-source/media-source-multiple-trackBuffers-buffered.html: Added.
- 12:36 PM Changeset in webkit [178437] by
-
- 2 edits in branches/safari-600.5-branch/Source/WebCore
Merged r171215. <rdar://problem/19424110>
- 12:32 PM Changeset in webkit [178436] by
-
- 10 edits1 add in trunk/Source/WebCore
Do not create new set for every sub-operation when converting a NFA to DFA
https://bugs.webkit.org/show_bug.cgi?id=140380
Reviewed by Andreas Kling.
This is the first step toward making the NFA-to-DFA conversion more scalable: instead
of creating new sets for each step of the algorithm, we use two kinds of sets
and never do any copy.
The first new tool to do that is UniqueNodeIdSetImpl. It represents a set of NFA state corresponding to a DFA
state. It is unique per DFA state.
HashableNodeIdSet is a helper tool storing a UniqueNodeIdSetImpl.
The creation of new sets now goes like this:
1) Get a NodeIdSet for each possible transition.
2) For each transition:
2a) Extend the NodeIdSet in place with its epsilon closure.
2b) Get the UniqueNodeIdSetImpl corresponding to the new set we discovered.
2c) If the UniqueNodeIdSetImpl is new, queue it for processing.
- WebCore.xcodeproj/project.pbxproj:
- contentextensions/ContentExtensionsDebugging.h: Copied from Source/WebCore/contentextensions/DFANode.h.
- contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
- contentextensions/ContentExtensionsManager.cpp:
(WebCore::ContentExtensions::ExtensionsManager::loadExtension):
Added some logging to inspect more easily what the clients are sending.
- contentextensions/DFA.cpp:
- contentextensions/DFA.h:
- contentextensions/DFANode.h:
- contentextensions/NFA.cpp:
- contentextensions/NFA.h:
- contentextensions/NFAToDFA.cpp:
(WebCore::ContentExtensions::epsilonClosure):
Instead of returning a new HashSet, extend the input HashSet.
(WebCore::ContentExtensions::UniqueNodeIdSetImpl::buffer):
(WebCore::ContentExtensions::UniqueNodeIdSet::UniqueNodeIdSet):
(WebCore::ContentExtensions::UniqueNodeIdSet::operator=):
(WebCore::ContentExtensions::UniqueNodeIdSet::~UniqueNodeIdSet):
(WebCore::ContentExtensions::UniqueNodeIdSet::operator==):
(WebCore::ContentExtensions::UniqueNodeIdSet::impl):
(WebCore::ContentExtensions::UniqueNodeIdSet::hash):
(WebCore::ContentExtensions::UniqueNodeIdSet::isEmptyValue):
(WebCore::ContentExtensions::UniqueNodeIdSet::isDeletedValue):
(WebCore::ContentExtensions::UniqueNodeIdSetHash::hash):
(WebCore::ContentExtensions::UniqueNodeIdSetHash::equal):
UniqueNodeIdSetImpl is a compact representation of a NodeIdSet corresponding to a DFA node.
It is never built directly, it is only built on demand through NodeIdSetToUniqueNodeIdSetTranslator
from a NodeIdSet.
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetSource::NodeIdSetToUniqueNodeIdSetSource):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::hash):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::equal):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate):
(WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::operator[]):
(WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::size):
(WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::begin):
(WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::end):
(WebCore::ContentExtensions::populateTransitionsExcludingEpsilon):
(WebCore::ContentExtensions::NFAToDFA::convert):
(WebCore::ContentExtensions::setTransitionsExcludingEpsilon): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::HashableNodeIdSet): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::operator=): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::isEmptyValue): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::isDeletedValue): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::nodeIdSet): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSetHash::hash): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSetHash::equal): Deleted.
(WebCore::ContentExtensions::addDFAState): Deleted.
- 12:16 PM Changeset in webkit [178435] by
-
- 7 edits3 deletes in trunk
Unreviewed, rolling out r178432.
https://bugs.webkit.org/show_bug.cgi?id=140460
Caused 20 JSC Test Failures (Requested by JoePeck on #webkit).
Reverted changeset:
"REGRESSION (r174226): Header on huffingtonpost.com is too
large"
https://bugs.webkit.org/show_bug.cgi?id=140306
http://trac.webkit.org/changeset/178432
- 12:11 PM Changeset in webkit [178434] by
-
- 17 edits in trunk/Source
Make 'TypeName' parameter unnecessary in CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140347
Reviewed by Darin Adler.
Source/WebCore:
Make 'TypeName' parameter unnecessary in CSSPropertyNames.in by:
- Removing the static_cast to the destination type in the generated StyleBuilder code and let compiler implicitly convert the CSSPrimitiveValue to the setter's argument type.
- Updating conditional converters to return a WTF::Optional<> instead of returning a boolean and having an output argument passed by reference. This way, we can use "auto" in the generated StyleBuilder code to deduce the return type.
- css/CSSPropertyNames.in:
Drop TypeName parameter from all properties as it is no longer needed.
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertGridTrackSize):
(WebCore::StyleBuilderConverter::convertGridPosition):
(WebCore::StyleBuilderConverter::convertWordSpacing):
(WebCore::StyleBuilderConverter::convertPerspective):
(WebCore::StyleBuilderConverter::convertMarqueeIncrement):
(WebCore::StyleBuilderConverter::convertFilterOperations):
(WebCore::StyleBuilderConverter::convertMaskImageOperations):
Update conditional converters to return an Optional<>.
- css/makeprop.pl:
(generateValueSetter):
Drop support for TypeName, stop using static_cast to destination
type and update the generated code now that the conditional
converters return an Optional.
- platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::systemFont):
- platform/graphics/Font.cpp:
(WebCore::Font::Font):
- platform/graphics/FontDescription.h:
(WebCore::FontDescription::setIsItalic):
(WebCore::FontDescription::setIsSmallCaps):
(WebCore::FontDescription::setItalic): Deleted.
(WebCore::FontDescription::setSmallCaps): Deleted.
- rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::systemFont):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::systemFont):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemFont):
- rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::systemFont):
- rendering/RenderThemeWin.cpp:
(WebCore::fillFontDescription):
- rendering/mathml/RenderMathMLToken.cpp:
(WebCore::RenderMathMLToken::updateStyle):
Now that we call the RenderStyle setters with a CSSPrimitiveValue
and let it be implicitly converted to the right type, instead of
doing an explicit static_cast, two setters on FontDescription
were ambiguous: setItalic() / setSmallCaps(). Rename the overloads
taking a boolean in argument to setIsItalic() / setIsSmallCaps()
to resolve the ambiguity.
Source/WebKit/mac:
Call FontDescription::setIsItalic() instead of setItalic() as the
call site passes a boolean.
- WebView/WebHTMLView.mm:
(fontNameForDescription):
Source/WebKit/win:
Call FontDescription::setIsItalic() instead of setItalic() as the
call site passes a boolean.
- WebKitGraphics.cpp:
(makeFont):
- 11:42 AM Changeset in webkit [178433] by
-
- 3 edits in trunk/Source/JavaScriptCore
Web Inspector: Stopwatch ASSERT when continuing inspector
https://bugs.webkit.org/show_bug.cgi?id=138360
Reviewed by Timothy Hatcher.
We were unconditionally resuming the stopwatch even if we never
paused it in the first place. Maintain a flag for whether the
stopwatch was paused when the debugger last paused.
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::didContinue):
- inspector/agents/InspectorDebuggerAgent.h:
- 11:38 AM Changeset in webkit [178432] by
-
- 7 edits3 adds in trunk
REGRESSION (r174226): Header on huffingtonpost.com is too large
https://bugs.webkit.org/show_bug.cgi?id=140306
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
BytecodeGenerator::willResolveToArguments() is used to check to see if we can use the
arguments register or whether we need to resolve "arguments". If the arguments have
been captured, then they are stored in the lexical environment and the arguments
register is not used.
Changed BytecodeGenerator::willResolveToArguments() to also check to see if the arguments
register is captured. Renamed the function to willResolveToArgumentsRegister() to
better indicate what we are checking.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::willResolveToArgumentsRegister):
(JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::willResolveToArguments): Deleted.
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::getArgumentByVal):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::ArrayPatternNode::emitDirectBinding):
LayoutTests:
Updated js/arguments-iterator to test changing argument to array values.
Removed tests that changed arguments to a string and an object as they were
bogus and didn't test what the appeared to test.
for .. of works on iterable objects only.
Added new regression test, js/regress-140306.
- js/arguments-iterator-expected.txt:
- js/regress-140306-expected.txt: Added.
- js/regress-140306.html: Added.
- js/script-tests/arguments-iterator.js:
(testEmptyArrayArguments):
(testArrayArguments):
(testOverwrittenArguments): Deleted.
(testNullArguments): Deleted.
(testNonArrayLikeArguments): Deleted.
- js/script-tests/regress-140306.js: Added.
(checkArgs):
(applyToArgs):
- 11:08 AM Changeset in webkit [178431] by
-
- 2 edits in trunk/Source/WebKit
[Win] Unreviewed build fix for DebugSuffix target.
- WebKit.vcxproj/WebKit/WebKit.vcxproj: Correct build flags for DebugSuffix
target to match Release and Debug builds.
- 11:03 AM Changeset in webkit [178430] by
-
- 3 edits in trunk/Source/WebKit
[Win] Build fix after r178255.
Correct path to PaintHooks.asm. This causes a build failure if you perform a
clean build from a new subversion checkout.
- WebKit.vcxproj/WebKit/WebKit.vcxproj:
- WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
- 10:58 AM Changeset in webkit [178429] by
-
- 1 copy in tags/Safari-601.1.14
New tag.
- 10:53 AM Changeset in webkit [178428] by
-
- 5 edits in trunk/Source
Versioning.
- 10:48 AM Changeset in webkit [178427] by
-
- 4 edits3 adds in trunk
JavaScript identifier incorrectly parsed if the prefix before an escape sequence is a keyword
https://bugs.webkit.org/show_bug.cgi?id=140420
Reviewed by Oliver Hunt.
Source/JavaScriptCore:
Added new function isIdentPartIncludingEscape() that performs the original
isIdentPart() followed by a check for a valid unicode escape. If there is a
unicode escape, its resolved value is checked with isIdentPart().
- KeywordLookupGenerator.py:
(Trie.printSubTreeAsC):
(Trie.printAsC):
- parser/Lexer.cpp:
(JSC::isUnicodeEscapeIdentPart):
(JSC::isIdentPartIncludingEscape):
LayoutTests:
New regression test.
- js/regress-140420-expected.txt: Added.
- js/regress-140420.html: Added.
- js/script-tests/regress-140420.js: Added.
(with):
(this):
- 10:43 AM Changeset in webkit [178426] by
-
- 3 edits2 adds in trunk
Null-deref crash when seeking immediately before looping.
https://bugs.webkit.org/show_bug.cgi?id=140394
Reviewed by Eric Carlson.
Source/WebCore:
It is possible for finishSeek() to be called when a seek() has caused a pending seek task
to be scheduled, but before that pending seek task is run. In this case, if a seek request
is issued, the existing pending seek task will not be cancelled, which will cause a crash
when the pending seek task is run.
When checking whether an existing seek task needs to be cancelled, check the actual timer,
rather than the m_seeking boolean, so that this case is covered.
Test: media/video-ended-seek-crash.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::seekWithTolerance):
LayoutTests:
- media/video-ended-seek-crash-expected.txt: Added.
- media/video-ended-seek-crash.html: Added.
- 10:39 AM Changeset in webkit [178425] by
-
- 6 edits in trunk/Source/WebKit2
Add willOpen and didClose member functions to WebProcessLifetimeObserver
https://bugs.webkit.org/show_bug.cgi?id=140449
Reviewed by Andreas Kling.
- UIProcess/VisitedLinkProvider.cpp:
(WebKit::VisitedLinkProvider::addVisitedLinkHash):
(WebKit::VisitedLinkProvider::webProcessWillOpenConnection):
(WebKit::VisitedLinkProvider::webProcessDidCloseConnection):
- UIProcess/VisitedLinkProvider.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
- UIProcess/WebProcessLifetimeObserver.cpp:
(WebKit::WebProcessLifetimeObserver::addWebPage):
(WebKit::WebProcessLifetimeObserver::removeWebPage):
- UIProcess/WebProcessLifetimeObserver.h:
(WebKit::WebProcessLifetimeObserver::webProcessWillOpenConnection):
(WebKit::WebProcessLifetimeObserver::webProcessDidCloseConnection):
- 10:25 AM Changeset in webkit [178424] by
-
- 2 edits in trunk/Source/WebCore
[Win] Layout Test fast/css/crash-on-custom-cursor-when-loading.html is failing
https://bugs.webkit.org/show_bug.cgi?id=140425
Reviewed by Anders Carlsson.
- platform/win/CursorWin.cpp:
(WebCore::createSharedCursor): Return nullptr when operating system
cannot support the requested icon specification.
(WebCore::Cursor::ensurePlatformCursor): Check for 'createSharedCursor'
returning nullptr, and fall back to the default icon construction.
- 10:01 AM Changeset in webkit [178423] by
-
- 3 edits in trunk/Source/WebKit2
Added availability annotations to some modern Cocoa SPI.
Rubber-stamped by Anders Carlsson.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- 9:58 AM Changeset in webkit [178422] by
-
- 2 edits in trunk/LayoutTests
[Win] Unreviewed gardening.
- platform/win/TestExpectations: Add a Crash expectation now that
https://bugs.webkit.org/show_bug.cgi?id=140444 has been filed.
- 8:13 AM Changeset in webkit [178421] by
-
- 1 edit1 delete in trunk/Tools
Remove WK2 Windows cruft
https://bugs.webkit.org/show_bug.cgi?id=140440
Reviewed by Anders Carlsson.
- WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp: Removed.
- WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp: Removed.
- WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: Removed.
- 8:10 AM Changeset in webkit [178420] by
-
- 2 edits in trunk/Source/WTF
Unreviewed fix after r163330.
- wtf/Platform.h: Use C style comment.
- 8:09 AM Changeset in webkit [178419] by
-
- 2 edits in trunk/Source/WTF
C++ style comment was preventing compile if CPU(ARM_NEON)
https://bugs.webkit.org/show_bug.cgi?id=133827
Patch by Marc Juul <juul@sudomesh.org> on 2015-01-14
Reviewed by Csaba Osztrogonác.
- wtf/Platform.h:
- 3:54 AM Changeset in webkit [178418] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION(r178367): [GStreamer] Several media tests time out after r178367
https://bugs.webkit.org/show_bug.cgi?id=140437
Reviewed by Philippe Normand.
Add implementation for MediaPlayerPrivate::rate() to GStreamer
media backend.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::rate):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- 2:21 AM Changeset in webkit [178417] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Fix build after r178385
https://bugs.webkit.org/show_bug.cgi?id=140429
Patch by Hunseop Jeong <Hunseop Jeong> on 2015-01-14
Reviewed by Csaba Osztrogonác.
- UIProcess/API/gtk/WebKitUserContentManager.cpp:
(_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate):
- 2:18 AM Changeset in webkit [178416] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, rolling out r178412.
https://bugs.webkit.org/show_bug.cgi?id=140433
Wrong fix (Requested by KaL on #webkit).
Reverted changeset:
"Unreviewed GTK build fix after r178385."
http://trac.webkit.org/changeset/178412
- 1:03 AM Changeset in webkit [178415] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Do not schedule a redraw for the redirected XComposite window when not in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140354
Reviewed by Martin Robinson.
The RedirectedXCompositeWindow uses XDamage to be notified when
the XWindow has been modified. Since the redirected window is
created unconditionally we always receive a XDamage notify when
the window is mapped, and we schedule a redraw in the web view
even when the web view is not in accelerated compositing mode.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseRealize): Only call gtk_widget_queue_draw() when
in accelerated compositing mode.
- 1:00 AM Changeset in webkit [178414] by
-
- 3 edits in trunk/Source/WebKit2
[GTK] Do not resize the redirected XComposite window when not in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140353
Reviewed by Martin Robinson.
We create the redirected XComposite window unconditionally, but
with a size of 1x1 to save memory. However, we are always resizing
it, so in the end we always end up with a XWindow allocated for
the same size of the web view, even for web views that never enter
in accelerated compositing mode.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewRenderAcceleratedCompositingResults): Resize the
RedirectedXCompositeWindow to the current web view size to ensure
the sizes match before drawing.
(resizeWebKitWebViewBaseFromAllocation): Only resize the
RedirectedXCompositeWindow when in accelerated compositing mode.
- UIProcess/gtk/RedirectedXCompositeWindow.cpp:
(WebKit::RedirectedXCompositeWindow::resize): Return early if the
given size is the current size.
- 12:55 AM Changeset in webkit [178413] by
-
- 4 edits in trunk/Source/WebKit2
REGRESSION(r177075): Flickering when the WebView is realized
https://bugs.webkit.org/show_bug.cgi?id=140352
Reviewed by Martin Robinson.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseRealize): Pass the parent GdkWindow to the
RedirectedXCompositeWindow constructor.
- UIProcess/gtk/RedirectedXCompositeWindow.cpp:
(WebKit::supportsXDamageAndXComposite): Get the display from the
given GdkWindow.
(WebKit::RedirectedXCompositeWindow::create): Receive a GdkWindow
instead of the Display and sise that is always 1x1.
(WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
Use the passed in GdkWindow to get the Display, Visual and Depth
instead of using the window as parent and reparent afterwards.
- UIProcess/gtk/RedirectedXCompositeWindow.h:
- 12:34 AM Changeset in webkit [178412] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed GTK build fix after r178385.
WebUserContentControllerProxy is not RefCounted anymore.
- UIProcess/API/gtk/WebKitUserContentManager.cpp:
(_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate):
- 12:10 AM Changeset in webkit [178411] by
-
- 82 edits2 moves2 adds10 deletes in trunk
Unreviewed, rolling out r178390, r178392, r178398, r178400,
r178402, and r178410.
https://bugs.webkit.org/show_bug.cgi?id=140431
Way too many failures to skip (Requested by ap_ on #webkit).
Reverted changesets:
"WebGL2: Support webgl2 context creation."
https://bugs.webkit.org/show_bug.cgi?id=126408
http://trac.webkit.org/changeset/178390
"Unreviewed iOS build fix after r178390."
http://trac.webkit.org/changeset/178392
"[Unreviewed] Windows build fix after r178390."
http://trac.webkit.org/changeset/178398
"[Unreviewed] Speculative test fix after r178390."
http://trac.webkit.org/changeset/178400
"[Unreviewed] Skip webgl tests for temporarily."
https://bugs.webkit.org/show_bug.cgi?id=140423
http://trac.webkit.org/changeset/178402
"[EFL] Fix build after r178390"
https://bugs.webkit.org/show_bug.cgi?id=140424
http://trac.webkit.org/changeset/178410
Jan 13, 2015:
- 11:29 PM Changeset in webkit [178410] by
-
- 2 edits in trunk/Source/WebCore
[EFL] Fix build after r178390
https://bugs.webkit.org/show_bug.cgi?id=140424
Patch by Hunseop Jeong <Hunseop Jeong> on 2015-01-13
Reviewed by Csaba Osztrogonác.
- CMakeLists.txt:
- 10:58 PM Changeset in webkit [178409] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed GTK build fix after r178375.
uint64_t navigationID -> API::Navigation*.
- UIProcess/API/gtk/WebKitLoaderClient.cpp:
- 10:08 PM Changeset in webkit [178408] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed GTK build fix after r178375.
WebFrameProxy is now a reference instead of a pointer.
- UIProcess/API/gtk/WebKitLoaderClient.cpp:
- 9:04 PM Changeset in webkit [178407] by
-
- 2 edits in trunk/Source/WebCore
Simple line layout: Refactor TextFragment class.
https://bugs.webkit.org/show_bug.cgi?id=140417
Reviewed by Andreas Kling.
Introduce text fragment type and use class member initializers.
No change in functionality.
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::LineState::addUncommitted):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::nextFragment):
(WebCore::SimpleLineLayout::createLineRuns):
- 9:01 PM Changeset in webkit [178406] by
-
- 2 edits in trunk/Tools
Fix TestWTF failed in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=140333
Patch by Hunseop Jeong <Hunseop Jeong> on 2015-01-13
Reviewed by Sam Weinig.
Clear the std::ostringstream before starting test.
- TestWebKitAPI/Tests/WTF/RefLogger.h:
(TestWebKitAPI::DerivedRefLogger::DerivedRefLogger):
- 8:38 PM Changeset in webkit [178405] by
-
- 2 edits in trunk/LayoutTests
[Win] Unreviewed test gardening.
- platform/win/TestExpectations: Add Debug Crash documentation now that Bug 140425 has been filed.
- 7:39 PM Changeset in webkit [178404] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: TextEditor doesn't update when resizing console, white space instead of content
https://bugs.webkit.org/show_bug.cgi?id=140240
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-13
Reviewed by Timothy Hatcher.
- UserInterface/Base/Main.js:
(WebInspector._consoleResizerMouseDown.dockedResizerDrag):
Dispatch the event that signals the console has changed size.
- 7:35 PM Changeset in webkit [178403] by
-
- 2 edits in trunk/LayoutTests
Only throttle DOM timers if they change CSS properties that cannot cause non-descendant elements to become visible
https://bugs.webkit.org/show_bug.cgi?id=140142
Reviewed by Daniel Bates.
Fix layout test introduced in r178014. I forgot to remove a
setTimeout() call.
- fast/dom/timer-height-change-no-throttling.html:
- 7:15 PM Changeset in webkit [178402] by
-
- 2 edits in trunk/LayoutTests
[Unreviewed] Skip webgl tests for temporarily.
https://bugs.webkit.org/show_bug.cgi?id=140423
- platform/mac/TestExpectations:
- 7:10 PM Changeset in webkit [178401] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r178400.
https://bugs.webkit.org/show_bug.cgi?id=140422
Test fix breaks build (Requested by rfong on #webkit).
Reverted changeset:
"[Unreviewed] Speculative test fix after r178390."
http://trac.webkit.org/changeset/178400
- 6:25 PM Changeset in webkit [178400] by
-
- 2 edits in trunk/Source/WebCore
[Unreviewed] Speculative test fix after r178390.
- html/canvas/WebGL1RenderingContext.idl:
- 6:18 PM Changeset in webkit [178399] by
-
- 5 edits2 copies in trunk/LayoutTests
Filters aren't applied to elements in columns after the first
https://bugs.webkit.org/show_bug.cgi?id=140331
<rdar://problem/19313858>
Unreviewed followup after discussion with Simon Fraser.
Add a new test that exercises nested blocks inside columns. Also
use valid properties in my existing tests :)
- fast/multicol/clip-in-columns-expected.html:
- fast/multicol/clip-in-columns.html:
- fast/multicol/filter-in-columns-expected.html:
- fast/multicol/filter-in-columns.html:
- fast/multicol/nested-filter-in-columns-expected.html: Copied from LayoutTests/fast/multicol/filter-in-columns-expected.html.
- fast/multicol/nested-filter-in-columns.html: Copied from LayoutTests/fast/multicol/filter-in-columns.html.
- 5:55 PM Changeset in webkit [178398] by
-
- 6 edits in trunk/Source/WebCore
[Unreviewed] Windows build fix after r178390.
- DerivedSources.cpp:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- bindings/js/JSBindingsAllInOne.cpp:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
- 5:34 PM Changeset in webkit [178397] by
-
- 2 edits in trunk/Source/WebCore
NSButtonCell leak allocated under WebCore::paintToggleButton
https://bugs.webkit.org/show_bug.cgi?id=137014
Reviewed by Alexey Proskuryakov.
- platform/mac/ThemeMac.mm:
(WebCore::createToggleButtonCell):
Immediately adopt the NSButtonCell allocation.
(WebCore::sharedRadioCell):
(WebCore::sharedCheckboxCell):
Move from the RetainPtr into the static variable.
(WebCore::paintToggleButton):
Use RetainPtr logic to better manage lifetimes.
- 5:33 PM Changeset in webkit [178396] by
-
- 2 edits in trunk/Source/WebCore
Simple line layout: Refactor SimpleLineLayout::nextFragment().
https://bugs.webkit.org/show_bug.cgi?id=140407
Reviewed by Andreas Kling.
Simplify the code by using content specific branches with early returns.
No change in functionality.
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::nextFragment):
- 5:30 PM Changeset in webkit [178395] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed GTK build fix after r178375.
WebPageProxy is now a reference instead of a pointer.
- UIProcess/API/gtk/WebKitLoaderClient.cpp:
- 5:05 PM Changeset in webkit [178394] by
-
- 3 edits in trunk/Source/WebKit/ios
Unreviewed iOS build fix after r178375
Match FontSelector API changes.
- Misc/EmojiFallbackFontSelector.cpp:
(EmojiFallbackFontSelector::fallbackFontDataAt):
(EmojiFallbackFontSelector::getFallbackFontData): Deleted.
- Misc/EmojiFallbackFontSelector.h:
- 4:45 PM Changeset in webkit [178393] by
-
- 5 edits in trunk/Source/WebKit2
Fill in more of WebProcessLifetimeTracker
https://bugs.webkit.org/show_bug.cgi?id=140418
Reviewed by Andreas Kling.
- UIProcess/WebProcessLifetimeObserver.cpp:
(WebKit::WebProcessLifetimeObserver::WebProcessLifetimeObserver):
(WebKit::WebProcessLifetimeObserver::~WebProcessLifetimeObserver):
(WebKit::WebProcessLifetimeObserver::addWebPage):
(WebKit::WebProcessLifetimeObserver::removeWebPage):
- UIProcess/WebProcessLifetimeObserver.h:
- UIProcess/WebProcessLifetimeTracker.cpp:
(WebKit::WebProcessLifetimeTracker::WebProcessLifetimeTracker):
(WebKit::WebProcessLifetimeTracker::addObserver):
(WebKit::WebProcessLifetimeTracker::connectionWillOpen):
(WebKit::WebProcessLifetimeTracker::connectionWillClose):
(WebKit::WebProcessLifetimeTracker::pageWasInvalidated):
(WebKit::WebProcessLifetimeTracker::processIsRunning):
- UIProcess/WebProcessLifetimeTracker.h:
- 4:44 PM Changeset in webkit [178392] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed iOS build fix after r178390.
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
m_type is undeclared.
- html/canvas/WebGLContextGroup.h:
Fix bad include.
- 4:33 PM Changeset in webkit [178391] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed iOS build fix after r178375.
LoaderClient::didLayout() now takes a reference to the WebPageProxy
instead of a pointer.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didCommitLayerTree):
- 4:33 PM Changeset in webkit [178390] by
-
- 77 edits4 moves8 adds in trunk/Source/WebCore
WebGL2: Support webgl2 context creation.
https://bugs.webkit.org/show_bug.cgi?id=126408
<rdar://problem/15002170>
Reviewed by Dean Jackson.
Tests covered by existing Khronos tests for WebGL 1.0 conformance.
Create a WebGLRenderingContextBase class that extends to a WebGL1RenderingContext and WebGL2RenderingContext.
Replace all previous instances of WebGLRenderingContext usages with WebGLRenderingContextBase usages for now.
As the first step, the WebGL1 and WebGL2 contexts will have the exact same functionality.
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::toJS):
- bindings/js/JSDocumentCustom.cpp:
- bindings/js/JSHTMLCanvasElementCustom.cpp:
- bindings/js/JSWebGL1RenderingContextCustom.cpp: Copied from Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp.
- bindings/js/JSWebGL2RenderingContextCustom.cpp: Added.
(WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp: Added.
- bindings/js/JSWebGLRenderingContextCustom.cpp: Removed.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::is3dType):
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::getImageData):
- html/canvas/ANGLEInstancedArrays.cpp:
(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
(WebCore::ANGLEInstancedArrays::supported):
- html/canvas/ANGLEInstancedArrays.h:
- html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::type):
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
- html/canvas/EXTBlendMinMax.cpp:
(WebCore::EXTBlendMinMax::EXTBlendMinMax):
- html/canvas/EXTBlendMinMax.h:
- html/canvas/EXTFragDepth.cpp:
(WebCore::EXTFragDepth::EXTFragDepth):
- html/canvas/EXTFragDepth.h:
- html/canvas/EXTShaderTextureLOD.cpp:
(WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):
- html/canvas/EXTShaderTextureLOD.h:
- html/canvas/EXTTextureFilterAnisotropic.cpp:
(WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
- html/canvas/EXTTextureFilterAnisotropic.h:
- html/canvas/EXTsRGB.cpp:
(WebCore::EXTsRGB::EXTsRGB):
- html/canvas/EXTsRGB.h:
- html/canvas/OESElementIndexUint.cpp:
(WebCore::OESElementIndexUint::OESElementIndexUint):
- html/canvas/OESElementIndexUint.h:
- html/canvas/OESStandardDerivatives.cpp:
(WebCore::OESStandardDerivatives::OESStandardDerivatives):
- html/canvas/OESStandardDerivatives.h:
- html/canvas/OESTextureFloat.cpp:
(WebCore::OESTextureFloat::OESTextureFloat):
- html/canvas/OESTextureFloat.h:
- html/canvas/OESTextureFloatLinear.cpp:
(WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
- html/canvas/OESTextureFloatLinear.h:
- html/canvas/OESTextureHalfFloat.cpp:
(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
- html/canvas/OESTextureHalfFloat.h:
- html/canvas/OESTextureHalfFloatLinear.cpp:
(WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear):
- html/canvas/OESTextureHalfFloatLinear.h:
- html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::OESVertexArrayObject):
- html/canvas/OESVertexArrayObject.h:
- html/canvas/WebGL1RenderingContext.cpp: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.cpp.
- html/canvas/WebGL1RenderingContext.h: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.h.
- html/canvas/WebGL1RenderingContext.idl: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.idl.
- html/canvas/WebGL2RenderingContext.cpp: Added.
(WebCore::WebGL2RenderingContext::WebGL2RenderingContext):
- html/canvas/WebGL2RenderingContext.h: Added.
- html/canvas/WebGL2RenderingContext.idl: Added.
- html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::create):
(WebCore::WebGLBuffer::WebGLBuffer):
- html/canvas/WebGLBuffer.h:
- html/canvas/WebGLCompressedTextureATC.cpp:
(WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
(WebCore::WebGLCompressedTextureATC::supported):
- html/canvas/WebGLCompressedTextureATC.h:
- html/canvas/WebGLCompressedTexturePVRTC.cpp:
(WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
(WebCore::WebGLCompressedTexturePVRTC::supported):
- html/canvas/WebGLCompressedTexturePVRTC.h:
- html/canvas/WebGLCompressedTextureS3TC.cpp:
(WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
(WebCore::WebGLCompressedTextureS3TC::supported):
- html/canvas/WebGLCompressedTextureS3TC.h:
- html/canvas/WebGLContextGroup.cpp:
(WebCore::WebGLContextGroup::getAGraphicsContext3D):
(WebCore::WebGLContextGroup::addContext):
(WebCore::WebGLContextGroup::removeContext):
(WebCore::WebGLContextGroup::loseContextGroup):
- html/canvas/WebGLContextGroup.h:
- html/canvas/WebGLContextObject.cpp:
(WebCore::WebGLContextObject::WebGLContextObject):
- html/canvas/WebGLContextObject.h:
(WebCore::WebGLContextObject::context):
- html/canvas/WebGLDebugRendererInfo.cpp:
(WebCore::WebGLDebugRendererInfo::WebGLDebugRendererInfo):
- html/canvas/WebGLDebugRendererInfo.h:
- html/canvas/WebGLDebugShaders.cpp:
(WebCore::WebGLDebugShaders::WebGLDebugShaders):
- html/canvas/WebGLDebugShaders.h:
- html/canvas/WebGLDepthTexture.cpp:
(WebCore::WebGLDepthTexture::WebGLDepthTexture):
- html/canvas/WebGLDepthTexture.h:
- html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):
- html/canvas/WebGLDrawBuffers.h:
- html/canvas/WebGLExtension.cpp:
(WebCore::WebGLExtension::WebGLExtension):
- html/canvas/WebGLExtension.h:
(WebCore::WebGLExtension::context):
- html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::create):
(WebCore::WebGLFramebuffer::WebGLFramebuffer):
- html/canvas/WebGLFramebuffer.h:
- html/canvas/WebGLLoseContext.cpp:
(WebCore::WebGLLoseContext::WebGLLoseContext):
(WebCore::WebGLLoseContext::loseContext):
- html/canvas/WebGLLoseContext.h:
- html/canvas/WebGLObject.cpp:
(WebCore::WebGLObject::WebGLObject):
- html/canvas/WebGLObject.h:
- html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::create):
(WebCore::WebGLProgram::WebGLProgram):
- html/canvas/WebGLProgram.h:
- html/canvas/WebGLRenderbuffer.cpp:
(WebCore::WebGLRenderbuffer::create):
(WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
- html/canvas/WebGLRenderbuffer.h:
- html/canvas/WebGLRenderingContext.cpp: Removed.
- html/canvas/WebGLRenderingContext.h: Removed.
- html/canvas/WebGLRenderingContext.idl: Removed.
- html/canvas/WebGLRenderingContextBase.cpp: Added.
- html/canvas/WebGLRenderingContextBase.h: Added.
- html/canvas/WebGLRenderingContextBase.idl: Added.
- html/canvas/WebGLShader.cpp:
(WebCore::WebGLShader::create):
(WebCore::WebGLShader::WebGLShader):
- html/canvas/WebGLShader.h:
- html/canvas/WebGLSharedObject.cpp:
(WebCore::WebGLSharedObject::WebGLSharedObject):
- html/canvas/WebGLSharedObject.h:
- html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::create):
(WebCore::WebGLTexture::WebGLTexture):
- html/canvas/WebGLTexture.h:
- html/canvas/WebGLVertexArrayObjectOES.cpp:
(WebCore::WebGLVertexArrayObjectOES::create):
(WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
- html/canvas/WebGLVertexArrayObjectOES.h:
- 4:19 PM Changeset in webkit [178389] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix Mac build after r178388
FontRanges::isEmpty() -> FontRanges::isNull().
- platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore::Font::fontDataForCombiningCharacterSequence):
- 3:57 PM Changeset in webkit [178388] by
-
- 17 edits2 moves2 deletes in trunk/Source/WebCore
Devirtualize FontData
https://bugs.webkit.org/show_bug.cgi?id=140390
Reviewed by Andreas Kling.
This patch removes the FontData base class and turns SegmentedFontData into a non-virtual FontRanges type.
SimpleFontData remains as is (without the base) and it can be renamed later to something more sensible.
- WebCore.exp.in:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::fontRangesForFamily):
(WebCore::CSSFontSelector::fallbackFontDataAt):
(WebCore::CSSFontSelector::getFontData): Deleted.
(WebCore::CSSFontSelector::getFallbackFontData): Deleted.
- css/CSSFontSelector.h:
- css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::pruneTable):
(WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
(WebCore::CSSSegmentedFontFace::fontRanges):
(WebCore::CSSSegmentedFontFace::loadFont):
(WebCore::CSSSegmentedFontFace::getFontData): Deleted.
- css/CSSSegmentedFontFace.h:
- platform/graphics/Font.h:
(WebCore::Font::fallbackRangesAt):
(WebCore::Font::fontDataAt): Deleted.
- platform/graphics/FontData.cpp: Removed.
- platform/graphics/FontData.h: Removed.
- platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::determinePitch):
(WebCore::FontGlyphs::isLoadingCustomFonts):
(WebCore::realizeNextFallback):
(WebCore::FontGlyphs::realizeFallbackRangesAt):
(WebCore::FontGlyphs::glyphDataForSystemFallback):
(WebCore::FontGlyphs::glyphDataForVariant):
(WebCore::FontGlyphs::glyphDataForNormalVariant):
(WebCore::glyphPageFromFontRanges):
(WebCore::FontGlyphs::glyphDataForCharacter):
(WebCore::realizeNextFamily): Deleted.
(WebCore::FontGlyphs::realizeFontDataAt): Deleted.
(WebCore::glyphPageFromFontData): Deleted.
- platform/graphics/FontGlyphs.h:
(WebCore::FontGlyphs::primarySimpleFontData):
- platform/graphics/FontRanges.cpp: Copied from Source/WebCore/platform/graphics/SegmentedFontData.cpp.
(WebCore::FontRanges::FontRanges):
(WebCore::FontRanges::~FontRanges):
(WebCore::FontRanges::fontDataForCharacter):
(WebCore::FontRanges::fontDataForFirstRange):
(WebCore::FontRanges::isLoading):
(WebCore::SegmentedFontData::SegmentedFontData): Deleted.
(WebCore::SegmentedFontData::~SegmentedFontData): Deleted.
(WebCore::SegmentedFontData::simpleFontDataForCharacter): Deleted.
(WebCore::SegmentedFontData::simpleFontDataForFirstRange): Deleted.
(WebCore::SegmentedFontData::isCustomFont): Deleted.
(WebCore::SegmentedFontData::isLoading): Deleted.
(WebCore::SegmentedFontData::isSegmented): Deleted.
(WebCore::SegmentedFontData::description): Deleted.
- platform/graphics/FontRanges.h: Copied from Source/WebCore/platform/graphics/SegmentedFontData.h.
(WebCore::FontRanges::Range::Range):
(WebCore::FontRanges::Range::from):
(WebCore::FontRanges::Range::to):
(WebCore::FontRanges::Range::fontData):
(WebCore::FontRanges::isEmpty):
(WebCore::FontRanges::appendRange):
(WebCore::FontRanges::size):
(WebCore::FontRanges::rangeAt):
(WebCore::FontDataRange::FontDataRange): Deleted.
(WebCore::FontDataRange::from): Deleted.
(WebCore::FontDataRange::to): Deleted.
(WebCore::FontDataRange::fontData): Deleted.
(WebCore::SegmentedFontData::create): Deleted.
(WebCore::SegmentedFontData::appendRange): Deleted.
(WebCore::SegmentedFontData::numRanges): Deleted.
(WebCore::SegmentedFontData::rangeAt): Deleted.
(isType): Deleted.
- platform/graphics/FontSelector.h:
- platform/graphics/SegmentedFontData.cpp: Removed.
- platform/graphics/SegmentedFontData.h: Removed.
- platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::simpleFontDataForCharacter): Deleted.
(WebCore::SimpleFontData::simpleFontDataForFirstRange): Deleted.
(WebCore::SimpleFontData::isSegmented): Deleted.
- platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::isCustomFont):
(WebCore::SimpleFontData::isLoading):
(isType): Deleted.
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(-[WebCascadeList initWithFont:character:]):
(-[WebCascadeList objectAtIndex:]):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
- platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore::Font::fontDataForCombiningCharacterSequence):
- 3:56 PM Changeset in webkit [178387] by
-
- 6 edits in trunk/Source/WebKit/mac
Temporarily reintroduce the informal delegate protocols
https://bugs.webkit.org/show_bug.cgi?id=140416
Reviewed by Dan Bernstein.
- WebView/WebEditingDelegate.h:
- WebView/WebFrameLoadDelegate.h:
- WebView/WebPolicyDelegate.h:
- WebView/WebResourceLoadDelegate.h:
- WebView/WebUIDelegate.h:
- 3:49 PM Changeset in webkit [178386] by
-
- 8 edits2 adds in trunk/LayoutTests
Missed images and missed new lines in the expected results of the imported w3c canvas layout tests.
https://bugs.webkit.org/show_bug.cgi?id=140409.
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-13
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Fix some failures in the imported W3C canvas tests. These failures were happening because
of missing images or missing new lines at the end of the expected results.
- canvas/2d.pattern.paint.repeat.basic-expected.txt:
- canvas/2d.pattern.paint.repeat.outside-expected.txt:
- canvas/2d.pattern.paint.repeatx.basic-expected.txt:
- canvas/2d.pattern.paint.repeaty.basic-expected.txt:
- canvas/resources/background.png: Added.
- canvas/resources/green-16x16.png: Added.
- common/canvas-tests.css:
LayoutTests:
Fix some failures in the imported W3C canvas tests. These failures were happening because
of missing images or missing new lines at the end of the expected results.
- 3:35 PM Changeset in webkit [178385] by
-
- 7 edits in trunk/Source/WebKit2
Convert WebUserContentControllerProxy to an API::Object bridged to WKUserContentController
https://bugs.webkit.org/show_bug.cgi?id=140414
Reviewed by Dan Bernstein.
- Shared/API/APIObject.h:
Add Type::UserContentController.
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
Allocate WebUserContentControllerProxy using [WKUserContentController alloc].
- UIProcess/API/Cocoa/WKUserContentController.mm:
(-[WKUserContentController init]):
(-[WKUserContentController dealloc]):
(-[WKUserContentController _apiObject]):
- UIProcess/API/Cocoa/WKUserContentControllerInternal.h:
(WebKit::wrapper):
Convert to using API::ObjectStorage for the internal WebUserContentControllerProxy.
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::create): Deleted.
- UIProcess/UserContent/WebUserContentControllerProxy.h:
Convert to inherit from API::ObjectImpl<> and remove create function.
- 3:35 PM Changeset in webkit [178384] by
-
- 5 edits in branches/safari-600.1.17-branch/Source
Versioning.
- 3:32 PM Changeset in webkit [178383] by
-
- 5 edits in trunk/Source/WebKit2
Stub out more of the process lifetime tracker code
https://bugs.webkit.org/show_bug.cgi?id=140411
Reviewed by Sam Weinig.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::connectionWillOpen):
(WebKit::WebPageProxy::connectionWillClose):
- UIProcess/WebProcessLifetimeTracker.cpp:
(WebKit::WebProcessLifetimeTracker::connectionWillOpen):
(WebKit::WebProcessLifetimeTracker::connectionWillClose):
(WebKit::WebProcessLifetimeTracker::pageWasInvalidated):
- UIProcess/WebProcessLifetimeTracker.h:
- 3:28 PM Changeset in webkit [178382] by
-
- 1 copy in tags/Safari-600.1.17.6
New tag.
- 3:26 PM Changeset in webkit [178381] by
-
- 5 edits in branches/safari-600.1.17-branch/Source/JavaScriptCore
Merged r178364. <rdar://problem/19450807>
- 3:22 PM Changeset in webkit [178380] by
-
- 4 edits4 adds in trunk
Filters aren't applied to elements in columns after the first
https://bugs.webkit.org/show_bug.cgi?id=140331
Source/WebCore:
Reviewed by Simon Fraser.
The important bits of this change came from Simon.
Filters and clipping were not taking columns into
account when using their offset rectangles. The fix
is to recalculate the rects if you're in such a
situation.
Tests: fast/multicol/clip-in-columns.html
fast/multicol/filter-in-columns.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hasFilterThatIsPainting): New method used
to check if we're about to paint a filter.
(WebCore::RenderLayer::setupFilters): Use the new helper if possible.
(WebCore::RenderLayer::paintLayerContents): If we're in columns,
and we either have a clip or a filter, recalculate the offset rectangles.
- rendering/RenderLayer.h:
LayoutTests:
<rdar://problem/19313858>
Reviewed by Simon Fraser.
Tests for filters and clipping on a column other
than the first.
- fast/multicol/clip-in-columns-expected.html: Added.
- fast/multicol/clip-in-columns.html: Added.
- fast/multicol/filter-in-columns-expected.html: Added.
- fast/multicol/filter-in-columns.html: Added.
- 3:04 PM Changeset in webkit [178379] by
-
- 2 edits in trunk/Source/WebKit2
[CMake] Unreviewed build fix after r178366.
- CMakeLists.txt: Add new files added by r178366.
- 2:33 PM Changeset in webkit [178378] by
-
- 4 edits in trunk/Source
Should disable immediate actions for iTunes
https://bugs.webkit.org/show_bug.cgi?id=140405
-and corresponding-
rdar://problem/19461358
Reviewed by Tim Horton.
Source/WebCore:
- WebCore.exp.in:
Source/WebKit/mac:
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _updateImmediateActionItem]):
- 2:26 PM Changeset in webkit [178377] by
-
- 3 edits in trunk/Source/bmalloc
Consider alignment when allocating from a SegregatedFreeList
https://bugs.webkit.org/show_bug.cgi?id=140408
Reviewed by Sam Weinig.
In preparation for supporting aligned allocation.
No performance change.
Since this is just one extra branch in an already expensive function,
I decided not to duplicate the function just to avoid the branch in
the un-aligned case.
- bmalloc/SegregatedFreeList.cpp:
(bmalloc::SegregatedFreeList::take):
- bmalloc/SegregatedFreeList.h:
- 2:23 PM Changeset in webkit [178376] by
-
- 6 edits in trunk/Source/WebCore
Remove pure virtual functions from DatabaseBackendBase
https://bugs.webkit.org/show_bug.cgi?id=140402
Reviewed by Sam Weinig.
Also change DatabaseBackendBase to Database in a couple of places.
- Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::DatabaseBackendBase::closeDatabase):
(WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):
(WebCore::DatabaseBackendBase::performOpenAndVerify):
(WebCore::DatabaseBackendBase::maximumSize):
- Modules/webdatabase/DatabaseBackendBase.h:
- Modules/webdatabase/DatabaseServer.cpp:
(WebCore::DatabaseServer::createDatabase):
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::doneCreatingDatabase):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::getOpenDatabases):
(WebCore::DatabaseTracker::deleteDatabaseFile):
- Modules/webdatabase/DatabaseTracker.h:
- 2:22 PM Changeset in webkit [178375] by
-
- 7 edits in trunk/Source/WebKit2
Move more of the Navigation infrastructure down to WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=140395
Reviewed by Anders Carlsson.
- UIProcess/API/APILoaderClient.h:
(API::LoaderClient::didStartProvisionalLoadForFrame):
(API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(API::LoaderClient::didCommitLoadForFrame):
(API::LoaderClient::didFinishDocumentLoadForFrame):
(API::LoaderClient::didFinishLoadForFrame):
(API::LoaderClient::didFailLoadWithErrorForFrame):
(API::LoaderClient::didSameDocumentNavigationForFrame):
(API::LoaderClient::didReceiveTitleForFrame):
(API::LoaderClient::didFirstLayoutForFrame):
(API::LoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
(API::LoaderClient::didRemoveFrameFromHierarchy):
(API::LoaderClient::didDisplayInsecureContentForFrame):
(API::LoaderClient::didRunInsecureContentForFrame):
(API::LoaderClient::didDetectXSSForFrame):
(API::LoaderClient::didLayout):
(API::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
(API::LoaderClient::didReceiveAuthenticationChallengeInFrame):
(API::LoaderClient::didStartProgress):
(API::LoaderClient::didChangeProgress):
(API::LoaderClient::didFinishProgress):
(API::LoaderClient::processDidBecomeUnresponsive):
(API::LoaderClient::interactionOccurredWhileProcessUnresponsive):
(API::LoaderClient::processDidBecomeResponsive):
(API::LoaderClient::processDidCrash):
(API::LoaderClient::didChangeBackForwardList):
(API::LoaderClient::shouldKeepCurrentBackForwardListItemInList):
(API::LoaderClient::willGoToBackForwardListItem):
(API::LoaderClient::pluginLoadPolicy):
(API::LoaderClient::didFailToInitializePlugin):
(API::LoaderClient::didBlockInsecurePluginVersion):
(API::LoaderClient::webGLLoadPolicy):
(API::LoaderClient::resolveWebGLLoadPolicy):
(API::LoaderClient::didDestroyNavigation): Deleted.
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didSameDocumentNavigationForFrame):
(WebKit::NavigationState::LoaderClient::didLayout):
(WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame):
(WebKit::NavigationState::LoaderClient::processDidCrash):
(WebKit::NavigationState::LoaderClient::didDestroyNavigation): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChangeBackForwardList):
(WebKit::WebPageProxy::willGoToBackForwardListItem):
(WebKit::WebPageProxy::shouldKeepCurrentBackForwardListItemInList):
(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::didStartProgress):
(WebKit::WebPageProxy::didChangeProgress):
(WebKit::WebPageProxy::didFinishProgress):
(WebKit::WebPageProxy::didDestroyNavigation):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::didReceiveTitleForFrame):
(WebKit::WebPageProxy::didFirstLayoutForFrame):
(WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
(WebKit::WebPageProxy::didLayout):
(WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
(WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
(WebKit::WebPageProxy::didRunInsecureContentForFrame):
(WebKit::WebPageProxy::didDetectXSSForFrame):
(WebKit::WebPageProxy::webGLPolicyForURL):
(WebKit::WebPageProxy::resolveWebGLPolicyForURL):
(WebKit::WebPageProxy::processDidBecomeUnresponsive):
(WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
(WebKit::WebPageProxy::processDidBecomeResponsive):
(WebKit::WebPageProxy::processDidCrash):
(WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
(WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
(WebKit::WebPageProxy::didFailToInitializePlugin):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):
- Moves conversion from navigationID to API::Navigation into WebPageProxy from NavigationState.
- Changes API::LoaderClient to pass WebPageProxy and WebFrameProxy by reference rather than pointer, and to take an API::Navigation instead of a navigationID.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
Move access of the navigationID to after calling into the client bundle to avoid
passing a navigationID of a deleted navigation to the UIProcess. This problem was
caught via the WebKit2.StopLoadingDuringDidFailProvisionalLoadTest API test, which
now exercises the Navigation code path. Had that test been written using a Navigation
delegate, the issue would have happened prior to this change.
- 2:00 PM Changeset in webkit [178374] by
-
- 2 edits in trunk/Source/bmalloc
Renamed minimum to size in SegregatedFreeList
https://bugs.webkit.org/show_bug.cgi?id=140406
Reviewed by Sam Weinig.
In preparation for supporting aligned allocation.
- bmalloc/SegregatedFreeList.cpp:
(bmalloc::SegregatedFreeList::takeGreedy):
(bmalloc::SegregatedFreeList::take): Every size passed to malloc is
really just a minimum. Let's not imply that this value is special.
- 1:44 PM Changeset in webkit [178373] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: I do not expect to see the same rule multiple times in styles sidebar
https://bugs.webkit.org/show_bug.cgi?id=138185
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-13
Reviewed by Timothy Hatcher.
In the styles sidebar, don't show a duplicate, lesser-specificity rule even
if it matches the selected element multiple times with different selectors
in the list.
- UserInterface/Models/CSSRule.js:
(WebInspector.CSSRule.prototype.isEqualTo):
CSSRule identifiers are objects.
- UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.refresh):
Remove duplicates from the ordered list of style declarations.
- 1:21 PM Changeset in webkit [178372] by
-
- 2 edits in trunk/Source/WTF
Make WTF::Optional work with msvc 2013
https://bugs.webkit.org/show_bug.cgi?id=140401
Reviewed by Anders Carlsson.
Update the WTF::Optional implementation to use std::aligned_memory and
placement new instead of an unrestricted union because msvc 2013 still
doesn't support unrestricted unions.
This change is a pre-requirement to fix Bug 140347 as this change uses
WTF::Optional with types that have non-trivial copy constructors.
This change is covered by the existing Optional WTF test.
- wtf/Optional.h:
- 12:31 PM Changeset in webkit [178371] by
-
- 7 edits in trunk/Source
Web Inspector: Remove unused ResizeImage and DecodeImageData timeline events
https://bugs.webkit.org/show_bug.cgi?id=140404
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-13
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/protocol/Timeline.json:
Source/WebCore:
- inspector/InspectorTimelineAgent.cpp:
(WebCore::toProtocol):
- inspector/InspectorTimelineAgent.h:
- inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createDecodeImageData): Deleted.
(WebCore::TimelineRecordFactory::createResizeImageData): Deleted.
- inspector/TimelineRecordFactory.h:
- 12:17 PM Changeset in webkit [178370] by
-
- 4 edits3 adds in trunk
DFG can call PutByValDirect for generic arrays
https://bugs.webkit.org/show_bug.cgi?id=140389
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Computed properties in object initializers (ES6) use the put_by_val_direct operation.
However, current DFG asserts that put_by_val_direct is not used for the generic array,
the assertion failure is raised.
This patch allow DFG to use put_by_val_direct to generic arrays.
And fix the DFG put_by_val_direct implementation for string properties.
At first, put_by_val_direct is inteded to be used for spread elements.
So the property keys were limited to numbers (indexes).
But now, it's also used for computed properties in object initializers.
- dfg/DFGOperations.cpp:
(JSC::DFG::operationPutByValInternal):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
LayoutTests:
- js/dfg-put-by-val-direct-to-generic-array-expected.txt: Added.
- js/dfg-put-by-val-direct-to-generic-array.html: Added.
- js/script-tests/dfg-put-by-val-direct-to-generic-array.js: Added.
(foo1):
(foo2):
- 12:17 PM Changeset in webkit [178369] by
-
- 2 edits in trunk/Tools
TestWebKitWebContext depends on British English spellcheck dictionary
https://bugs.webkit.org/show_bug.cgi?id=140403
Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-13
Reviewed by Martin Robinson.
Install all English hunspell dictionaries on Fedora and Arch.
- gtk/install-dependencies:
- 12:16 PM Changeset in webkit [178368] by
-
- 2 edits in trunk/Tools
[GTK] install-dependencies should grok dnf
https://bugs.webkit.org/show_bug.cgi?id=140396
Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-13
Reviewed by Martin Robinson.
Fedora: install dependencies with dnf if yum is not installed.
- gtk/install-dependencies:
- 12:01 PM Changeset in webkit [178367] by
-
- 15 edits2 adds in trunk
defaultPlaybackRate not respected when set before source is loaded
https://bugs.webkit.org/show_bug.cgi?id=140282
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/video-defaultplaybackrate-before-load.html
When the HTMLMediaElement is notified that the media player's rate has changed, it asks
for the rate from MediaPlayer. However, MediaPlayer never requests the playback rate
from the underlying MediaPlayerPrivate; it just returns the last rate which was set, or
1 if no rate was set. HTMLMediaElement then sets its playbackRate to the returned
value. So the end result is that the value from defaultPlaybackRate is overwritten by
the default value of 1 in MediaPlayer.
Rather than caching the requested rate in MediaPlayer, cache the value reported by
MediaPlayer inside HTMLMediaElement. And instead of returning the reported playback
rate from HTMLMediaElement.playbackRate, just return the last value set. The reported
value is still used for estimating the current time during playback.
Add MediaPlayerPrivate interface method to return the current playback rate.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::effectivePlaybackRate): Return m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::requestedPlaybackRate): Return m_playbackRate.
(WebCore::HTMLMediaElement::updatePlaybackRate): Use requestedPlaybackRate() instead
of effectivePlaybackRate();
(WebCore::HTMLMediaElement::ended): Ditto.
(WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto.
(WebCore::HTMLMediaElement::endedPlayback): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerRateChanged): Set m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::mediaPlayerRequestedPlaybackRate): Return
requestedPlaybackRate() if playing and 0 if not.
- html/HTMLMediaElement.h:
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::MediaPlayer): Removed m_rate.
(WebCore::MediaPlayer::rate): Pass to MediaPlayerPrivate.
(WebCore::MediaPlayer::setRate): Do not cache the rate.
(WebCore::MediaPlayer::requestedRate): Added; ask HTMLMediaElement.
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerRequestedPlaybackRate): Added.
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::rate): Added.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
Do not cache the requested rate.
(WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Pass to MediaPlayer.
(WebCore::MediaPlayerPrivateAVFoundation::setRate): Deleted.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
(WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Deleted.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::setRate): Renamed from updateRate.
(WebCore::MediaPlayerPrivateAVFoundationCF::rate): Fetch the rate from the player.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setRateDouble): Renamed from updateRate.
(WebCore::MediaPlayerPrivateAVFoundationObjC::rate): Fetch the rate from the player.
- platform/graphics/mac/MediaPlayerPrivateQTKit.h:
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::rate): Fetch the rate from the QTMovie.
LayoutTests:
- media/video-defaultplaybackrate-before-load-expected.txt: Added.
- media/video-defaultplaybackrate-before-load.html: Added.
- 11:53 AM Changeset in webkit [178366] by
-
- 3 edits4 adds in trunk/Source/WebKit2
Begin stubbing out a per page process lifetime tracker object
https://bugs.webkit.org/show_bug.cgi?id=140399
Reviewed by Beth Dakin.
This will make it easier for certain objects that track a set of web page proxy objects
(user content controller, visited link provider, data store) to be notified when their
underlying processes come and go.
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessLifetimeObserver.cpp: Added.
- UIProcess/WebProcessLifetimeObserver.h: Added.
- UIProcess/WebProcessLifetimeTracker.cpp: Added.
(WebKit::WebProcessLifetimeTracker::WebProcessLifetimeTracker):
(WebKit::WebProcessLifetimeTracker::~WebProcessLifetimeTracker):
(WebKit::WebProcessLifetimeTracker::addObserver):
(WebKit::WebProcessLifetimeTracker::removeObserver):
- UIProcess/WebProcessLifetimeTracker.h: Added.
- WebKit2.xcodeproj/project.pbxproj:
- 11:42 AM Changeset in webkit [178365] by
-
- 2 edits in trunk/Source/JavaScriptCore
Out of bounds access in BytecodeGenerator::emitGetById under DotAccessorNode::emitBytecode
https://bugs.webkit.org/show_bug.cgi?id=140397
Reviewed by Geoffrey Garen.
Patch by Alexey Proskuryakov.
Reviewed, performance tested, and ChangeLogged by Geoffrey Garen.
No performance change.
No test, since this is a small past-the-end read, which is very
difficult to turn into a reproducible failing test -- and existing tests
crash reliably using ASan.
- bytecompiler/NodesCodegen.cpp:
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::DeleteBracketNode::emitBytecode):
(JSC::DeleteDotNode::emitBytecode):
(JSC::PrefixNode::emitResolve):
(JSC::UnaryOpNode::emitBytecode):
(JSC::BitwiseNotNode::emitBytecode):
(JSC::BinaryOpNode::emitBytecode):
(JSC::EqualNode::emitBytecode):
(JSC::StrictEqualNode::emitBytecode):
(JSC::ThrowableBinaryOpNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode): Use RefPtr in more places. Any
register used across a call to a function that might allocate a new
temporary register must be held in a RefPtr.
- 9:46 AM Changeset in webkit [178364] by
-
- 5 edits in trunk/Source/JavaScriptCore
Local JSArray* "keys" in objectConstructorKeys() is not marked during garbage collection
https://bugs.webkit.org/show_bug.cgi?id=140348
Reviewed by Mark Lam.
We used to read registers in MachineThreads::gatherFromCurrentThread(), but that is too late
because those registers may have been spilled on the stack and replaced with other values by
the time we call down to gatherFromCurrentThread().
Now we get the register contents at the same place that we demarcate the current top of
stack using the address of a local variable, in Heap::markRoots(). The register contents
buffer is passed along with the demarcation pointer. These need to be done at this level
in the call tree and no lower, as markRoots() calls various functions that visit object
pointers that may be latter proven dead. Any of those pointers that are left on the
stack or in registers could be incorrectly marked as live if we scan the stack contents
from a called function or one of its callees. The stack demarcation pointer and register
saving need to be done in the same function so that we have a consistent stack, active
and spilled registers.
Because we don't want to make unnecessary calls to get the register contents, we use
a macro to allocated, and possibly align, the register structure and get the actual
register contents.
- heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::gatherStackRoots):
- heap/Heap.h:
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::gatherConservativeRoots):
- heap/MachineStackMarker.h:
- 8:59 AM Changeset in webkit [178363] by
-
- 3 edits2 adds in trunk
Element::normalizeAttributes() needs to handle arbitrary JS executing between loop iterations.
<https://webkit.org/b/140379>
<rdar://problem/19446901>
Reviewed by Benjamin Poulain.
Source/WebCore:
Since DOM mutation events may arise below the call to Node::normalize(),
have the loop in Element::normalizeAttributes() make a copy of the Attr nodes
beforehand, to guard against mutations.
Based on a patch by Chris "Chris Dumez" Dumez.
Test: fast/dom/Element/normalize-crash2.html
- dom/Element.cpp:
(WebCore::Element::normalizeAttributes):
LayoutTests:
- fast/dom/Element/normalize-crash2-expected.txt: Added.
- fast/dom/Element/normalize-crash2.html: Added.
- 5:14 AM Changeset in webkit [178362] by
-
- 4 edits in trunk/LayoutTests
AX: [ATK] Mark accessibility/table-with-footer-section-above-body.html as a suitable test for EFL and GTK
https://bugs.webkit.org/show_bug.cgi?id=140355
Patch by Andrzej Badowski <a.badowski@samsung.com> on 2015-01-13
Reviewed by Chris Fleizach.
The test shows the text contents of an AccessibilityTableCell object using tableCell.childAtIndex(0).stringValue.
In the case of ATK childAtIndex(0) returns a non-empty object, but it is not the ATK_OBJECT,
so the stringValue produces an empty string.
To avoid this, the cell text content is obtained by direct reading of stringValue of TableCell.
- accessibility/table-with-footer-section-above-body.html:
This test is also suitable for EFL and GTK port.
- platform/efl/TestExpectations:
- platform/gtk/TestExpectations:
- 4:58 AM Changeset in webkit [178361] by
-
- 2 edits in trunk/LayoutTests
[EFL] Fix test expectations after r178310.
https://bugs.webkit.org/show_bug.cgi?id=140387.
Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-01-13
Reviewed by Gyuyoung Kim.
Clean reference to SharedWorkers in test expecations since they were removed.
- platform/efl/TestExpectations:
- 4:42 AM WebKitGTK/2.6.x edited by
- (diff)
- 4:40 AM Changeset in webkit [178360] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.6
Merge r178231 - Calling clearSelection on a detached RenderObject leads to segfault.
https://bugs.webkit.org/show_bug.cgi?id=140275
Reviewed by Simon Fraser.
We collect selection rects and compute selection gaps in order to
paint/clear selection. With certain content, we need to be able
to walk the tree up to a particular container to compute the selection rect.
However this container might not be available when the selection is part of a detached tree.
This is a null-check fix to ensure we don't crash in such cases, but in the long run
selection gaps and rect should be cached between two layouts so that we don't need to
keep collecting/recomputing them. Tracked here: webkit.org/b/140321
Source/WebCore:
Test: editing/selection/clearselection-on-detached-subtree-crash.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockLogicalWidthForContent):
(WebCore::RenderBox::containingBlockLogicalHeightForContent):
- rendering/RenderView.cpp:
(WebCore::RenderView::clearSelection):
LayoutTests:
- editing/selection/clearselection-on-detached-subtree-crash-expected.txt: Added.
- editing/selection/clearselection-on-detached-subtree-crash.html: Added.
- 4:09 AM Changeset in webkit [178359] by
-
- 4 edits in releases/WebKitGTK/webkit-2.6
Merge r177537 - AX: Recursive crash at WebCore::accessibleNameForNode
https://bugs.webkit.org/show_bug.cgi?id=139616
Reviewed by Mario Sanchez Prada.
Source/WebCore:
An image that uses aria-labelledby to reference its own parent can lead to a recursion crash.
There needs to be some information we can pass through these methods to ensure we don't hit this case.
Test: accessibility/accessibility-description-crash.html
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::alternativeText):
(WebCore::AccessibilityNodeObject::textUnderElement):
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):
LayoutTests:
- accessibility/accessibility-description-crash-expected.txt: Added.
- accessibility/accessibility-description-crash.html: Added.
- 4:05 AM Changeset in webkit [178358] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore
Merge r177518 - Web Inspector: ASSERT seen closing/opening multiple inspectors
https://bugs.webkit.org/show_bug.cgi?id=139783
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-12-18
Reviewed by Timothy Hatcher.
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::nodeForObjectId):
- 3:55 AM Changeset in webkit [178357] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.6
Merge r177360 - REGRESSION (r163928): Animated GIFs are not resumed when translated into view using -webkit-transform
https://bugs.webkit.org/show_bug.cgi?id=139672
<rdar://problem/19260797>
Reviewed by Antti Koivisto.
Source/WebCore:
After r163928, animated GIFs were not resumed when translated into view
using '-webkit-transform' CSS property.
This broke animated gifs on the mobile version of weibo.com (which is
one of the most popular blogging sites in China) on iPhone. e.g.
http://m.weibo.cn/page/tpl?containerid=1005052150182731_-_WEIBO_SECOND_PROFILE_WEIBO&itemid=&title=全部微博
This patch calls FrameView::resumeVisibleImageAnimationsIncludingSubframes()
after style recalc so that we resume animated images if they become visible
after the style has changed. Doing so after layout wouldn't work because
no layout happens in this case.
Test: fast/images/animated-gif-webkit-transform.html
- dom/Document.cpp:
(WebCore::Document::recalcStyle):
LayoutTests:
Add a layout test to verity that animated images are properly paused /
resumed when translated in and out of view using '-webkit-transform'
CSS property.
- fast/images/animated-gif-webkit-transform-expected.txt: Added.
- fast/images/animated-gif-webkit-transform.html: Added.
- 3:50 AM Changeset in webkit [178356] by
-
- 7 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore
Merge r177302 - REGRESSION (r168217): Images are cropped out during animation at jetblue.com
https://bugs.webkit.org/show_bug.cgi?id=136410
rdar://problem/18188533
Reviewed by Dean Jackson.
During GraphicsLayer flushing, for tiled layers we can compute a visible rect using
the current state of an animation, which is obtained via the AnimationController.
If that animation was running in a subframe, AnimationController could use a stale
beginAnimationUpdateTime since no-one called its beginAnimationUpdate(). That
resulted in an incorrect computation of the visible rect, resulting in missing tiles.
There are two parts to this fix. First, add an assertion that beginAnimationUpdateTime()
is being called inside an animation update block. This required moving m_beginAnimationUpdateCount
into AnimationControllerPrivate, and changes to endAnimationUpdate().
The second is adding a AnimationUpdateBlock to getAnimatedStyleForRenderer(), which
can be called outside of style resolution. We also need some in other API functions.
Testing revealed that layout can call via layoutOverflowRectForPropagation(), suggesting
that we should have an animation batch inside FrameView::layout(). In addition, a single
resolveStyle/layout should use the same animationBeginTime, so we add a batch to
updateLayoutAndStyleIfNeededRecursive().
No test because it's timing-dependent. Existing tests exercise the new assertion.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::computeRenderStyleForProperty):
- page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
- page/animation/AnimationController.cpp:
(WebCore::AnimationPrivateUpdateBlock::AnimationPrivateUpdateBlock):
(WebCore::AnimationPrivateUpdateBlock::~AnimationPrivateUpdateBlock):
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
(WebCore::AnimationControllerPrivate::animationTimerFired):
(WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
(WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
(WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
(WebCore::AnimationControllerPrivate::beginAnimationUpdate):
(WebCore::AnimationControllerPrivate::endAnimationUpdate):
(WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
(WebCore::AnimationController::AnimationController):
(WebCore::AnimationController::notifyAnimationStarted):
(WebCore::AnimationController::pauseAnimationAtTime):
(WebCore::AnimationController::pauseTransitionAtTime):
(WebCore::AnimationController::resumeAnimationsForDocument):
(WebCore::AnimationController::startAnimationsIfNotSuspended):
(WebCore::AnimationController::beginAnimationUpdate):
(WebCore::AnimationController::endAnimationUpdate):
- page/animation/AnimationController.h:
- page/animation/AnimationControllerPrivate.h:
- 3:40 AM Changeset in webkit [178355] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore
Merge r177279 - [GStreamer] the webkitwebsrc element can stale
https://bugs.webkit.org/show_bug.cgi?id=138425
Patch by Xavier Claessens <xavier.claessens@collabora.com> on 2014-12-15
Reviewed by Philippe Normand.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(removeTimeoutSources):
(webKitWebSrcStart):
(webKitWebSrcChangeState):
- 3:35 AM Changeset in webkit [178354] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.6
Merge r177263 - REGRESSION(r160182): Fragment parser doesn't close a form element with a close tag
https://bugs.webkit.org/show_bug.cgi?id=139561
Reviewed by Darin Adler.
Source/WebCore:
The bug was caused by us not setting the form pointer in insertHTMLFormElement.
Since we already avoid associating a form inside HTMLConstructionSite::createHTMLElement,
we didn't need this code at all.
Fixed the bug by partially reverting r160182.
Test: fast/dom/dom-parse-close-form.html
- html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLFormElement):
(WebCore::HTMLConstructionSite::insideTemplateElement): Deleted.
- html/parser/HTMLConstructionSite.h:
LayoutTests:
Added a regression test.
- fast/dom/dom-parse-close-form-expected.txt: Added.
- fast/dom/dom-parse-close-form.html: Added.
- 3:28 AM Changeset in webkit [178353] by
-
- 2 edits1 add in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore
Merge r177245 - shiftCountWithArrayStorage should exit to slow path if the object has a sparse map.
https://bugs.webkit.org/show_bug.cgi?id=139598
<rdar://problem/18779367>
Reviewed by Filip Pizlo.
- runtime/JSArray.cpp:
(JSC::JSArray::shiftCountWithArrayStorage): Added check for object having a sparse map.
- tests/stress/sparse_splice.js: Added.
- 3:20 AM Changeset in webkit [178352] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore
Merge r177188 - Initialize m_ownsGeneratedFile when decoding a FormDataElement
https://bugs.webkit.org/show_bug.cgi?id=139566
Reviewed by Tim Horton.
No tests, because it's random, and I couldn't reproduce an assertion failure in
controlled circumstances.
- platform/network/FormData.h: (WebCore::FormDataElement::decode): A newly created
FormDataElement by definition doesn't own the file.
- 3:03 AM Changeset in webkit [178351] by
-
- 4 edits4 adds in releases/WebKitGTK/webkit-2.6
Merge r177165 - InstancedArray crashes attempting to draw out of bounds
https://bugs.webkit.org/show_bug.cgi?id=139521
Source/WebCore:
Reviewed by Simon Fraser.
We were not doing index validation correctly for instancing.
Test: fast/canvas/webgl/angle-instanced-arrays-out-of-bounds.html
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateVertexAttributes): We need to check
the number of instances drawn against the amount of instance data that has
been provided, taking into account the number of repeats (the divisor).
(WebCore::WebGLRenderingContext::drawArrays): Added some whitespace to make it more clear.
(WebCore::WebGLRenderingContext::validateDrawElements): This needs to take a primcount
parameter so that it can correctly validate the call (when used from drawElementsInstanced).
(WebCore::WebGLRenderingContext::drawElements): New signature to validate.
(WebCore::WebGLRenderingContext::drawArraysInstanced): Rearrange this a bit. The
primcount validation is already being done by the validateDrawArrays call. Also, there
was a bogus UNUSED_PARAM hanging around.
(WebCore::WebGLRenderingContext::drawElementsInstanced): Similar rearrangement. Use
the primcount parameter.
- html/canvas/WebGLRenderingContext.h:
LayoutTests:
<rdar://problem/17540398>
Reviewed by Simon Fraser.
This is a copy of the official webgl/1.0.3 test.
- platform/mac-mountainlion/fast/canvas/webgl/angle-instanced-arrays-out-of-bounds-expected.txt: Added. This extension is not available on Mountain Lion.
- fast/canvas/webgl/angle-instanced-arrays-out-of-bounds-expected.txt: Added.
- fast/canvas/webgl/angle-instanced-arrays-out-of-bounds.html: Added.
- fast/canvas/webgl/resources/out-of-bounds-test.js: Added.
(OutOfBoundsTest):
- 2:59 AM Changeset in webkit [178350] by
-
- 18 edits in releases/WebKitGTK/webkit-2.6/Source
Merge r177152 - REGRESSION (Async Text Input): Text input method state is not reset when reloading a page
https://bugs.webkit.org/show_bug.cgi?id=139504
rdar://problem/19034674
Reviewed by Enrica Casucci.
Source/WebCore:
Explicitly notify EditorClient when a composition is voluntarily canceled by WebCore.
These are almost certainly not all the places where this happens, but this fixes the bug,
and lays the groundwork for using this new client call instead of didChangeSelection
hacks.
- editing/Editor.cpp:
(WebCore::Editor::clear):
(WebCore::Editor::cancelComposition):
- loader/EmptyClients.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::willTransitionToCommitted):
- page/EditorClient.h:
Source/WebKit/mac:
Stub out new client calls, this patch does not attempt to make any changes on WebKit1.
- WebCoreSupport/WebEditorClient.h:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::discardedComposition):
Source/WebKit/win:
Stub out new client calls, this patch doesn't attempt to make any changes on Windows.
- WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::discardedComposition):
- WebCoreSupport/WebEditorClient.h:
Source/WebKit2:
WebKit2 used to look at EditorState changes and guess when to cancel a composition.
This was quite unreliable, and needlessly complicated - WebCore knows when it decides
to destroy a composition, so it now explicitly notifies the clients.
- UIProcess/API/mac/WKView.mm: (-[WKView _processDidExit]): Address crashing case too.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetStateAfterProcessExited):
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::discardedComposition):
- WebProcess/WebCoreSupport/WebEditorClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChangeSelection):
(WebKit::WebPage::discardedComposition):
- WebProcess/WebPage/WebPage.h:
- 2:53 AM Changeset in webkit [178349] by
-
- 2 edits in trunk/Source/WebCore
Fix Debug Build Error in Webcore module.
https://bugs.webkit.org/show_bug.cgi?id=140383
Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-13
Reviewed by Csaba Osztrogonác.
No new tests because there is no visible behavior change.
- platform/linux/MemoryPressureHandlerLinux.cpp:
(WebCore::MemoryPressureHandler::ReliefLogger::platformLog):
- 2:49 AM Changeset in webkit [178348] by
-
- 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2
Merge r177144 - [GTK] Timers might never be fired during animations
https://bugs.webkit.org/show_bug.cgi?id=139062
Reviewed by Martin Robinson.
This can happen in old/slow machines where the time to render
layers might take more than 0.016. Since the layer flush timer is
using a higher priority than WebCore timers, when scheduling all
(or several) layer flushes immediately, no other sources with
lower priority are dispatched in the main loop. We could detect if
we are scheduling layer flushes immediately for too long (100ms)
and schedule the next flush after a delay to ensure other sources
with lower priority have a chance to be dispatched. Also use a
lower priority, GDK_PRIORITY_EVENTS is too high, so we use
GDK_PRIORITY_REDRAW - 1 to ensure it's higher than WebCore timers.
- WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::LayerTreeHostGtk): Rename
m_lastFlushTime as m_lastImmediateFlushTime.
(WebKit::LayerTreeHostGtk::layerFlushTimerFired): Save the
fireTime before calling flushAndRenderLayers() and compute the
next flush delay based on the elapsed time using monotonically
increasing time instead of current time. Use the target delay
as next flush delay if we have scheduled flushes immediately for
more than 100ms.
(WebKit::LayerTreeHostGtk::flushAndRenderLayers): Do not save the
layer flush time here, it's done in layerFlushTimerFired() so that
we don't need to keep it as a member.
(WebKit::LayerTreeHostGtk::scheduleLayerFlush): Use global
layerFlushTimerPriority.
- WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
- 2:44 AM Changeset in webkit [178347] by
-
- 6 edits6 adds in releases/WebKitGTK/webkit-2.6
Merge r177135 - http://omfgdogs.info/ only animates when you resize the window
https://bugs.webkit.org/show_bug.cgi?id=139435
<rdar://problem/19190493>
Reviewed by Simon Fraser.
Source/WebCore:
After r163928, we would fail to animate a gif if:
- it is used as a background image of a 0-height html element
- it is used as a background image of a 0-height body element whose background is delegated to the root (because the root has no background).
This is because in such cases, shouldRepaintForImageAnimation()
should use the background rect instead of the renderer's overflow
rect to determine if the image is inside the viewport. Both cases
are addressed in this patch.
Tests: fast/images/animated-gif-body-delegated-background-image.html
fast/images/animated-gif-body-outside-viewport.html
fast/images/animated-gif-html-background-image.html
- rendering/RenderElement.cpp:
(WebCore::shouldRepaintForImageAnimation):
- testing/Internals.cpp:
(WebCore::Internals::hasPausedImageAnimations):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Add layout tests to make sure a gif image is still animated if:
- It is used as a background image of a 0-height html element
- It is used as a background image of a 0-height body element that is delegated to the root (because the root has no background)
Also add a layout test to make sure we still stop the gif animation
if it is used as background image of a body that is outside the
viewport.
- fast/images/animated-gif-body-delegated-background-image-expected.txt: Added.
- fast/images/animated-gif-body-delegated-background-image.html: Added.
- fast/images/animated-gif-body-outside-viewport-expected.txt: Added.
- fast/images/animated-gif-body-outside-viewport.html: Added.
- fast/images/animated-gif-html-background-image-expected.txt: Added.
- fast/images/animated-gif-html-background-image.html: Added.
- 2:43 AM WebKitGTK/2.6.x edited by
- (diff)
- 2:42 AM WebKitGTK/2.4.x edited by
- (diff)
- 2:37 AM WebKitGTK/2.6.x edited by
- (diff)
- 2:37 AM WebKitGTK/2.4.x edited by
- (diff)
- 2:32 AM Changeset in webkit [178346] by
-
- 6 edits4 adds in releases/WebKitGTK/webkit-2.6
Merge r177128 - Continuously repainting large parts of Huffington Post.
https://bugs.webkit.org/show_bug.cgi?id=139468
Reviewed by Antti Koivisto.
This patch eliminates redundant repaint requests for inlines when neither the parent
block flow nor any of the inline children are dirty.
Previously,
- simple line layout always recalculated inline content positions regardless of whether
the content needed relayout at all; as a result, it always triggered full repaint.
- inline tree layout ignored the needslayout flag on the last line and treated it dirty
(unless it broke cleanly (<div>foo<br></div>)).
This was an ancient workaround for an editing/insert use case, but it seems not to be the case anymore.
Source/WebCore:
Tests: fast/repaint/implicitly-positioned-block-repaint-complex-line-layout.html
fast/repaint/implicitly-positioned-block-repaint-simple-line-layout.html
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::layoutSimpleLines): Check if we need to trigger layout at all.
- rendering/RenderBlockFlow.h:
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::determineStartPosition): Remove the last line dirty hack. If it
happens to introduce regression, we should fix it at the caller site to make the line dirty.
LayoutTests:
- fast/repaint/implicitly-positioned-block-repaint-complex-line-layout-expected.txt: Added.
- fast/repaint/implicitly-positioned-block-repaint-complex-line-layout.html: Added.
- fast/repaint/implicitly-positioned-block-repaint-simple-line-layout-expected.txt: Added.
- fast/repaint/implicitly-positioned-block-repaint-simple-line-layout.html: Added.
- platform/mac/fast/line-grid/line-align-right-edges-expected.txt:
- 2:22 AM Changeset in webkit [178345] by
-
- 3 edits6 adds in releases/WebKitGTK/webkit-2.6
Merge r177098 - REGRESSION(r164329): Input fields are not honoring the maxlength attribute
https://bugs.webkit.org/show_bug.cgi?id=139447
Reviewed by Benjamin Poulain.
Source/WebCore:
The bug was caused by String::substring being called with the selection's end offset
in the second argument instead of the selection's length in handleBeforeTextInsertedEvent.
Fixed the bug by passing the right second argument to String::substring.
Test: fast/forms/input-maxlength-inserting-in-middle.html
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
LayoutTests:
Added regression tests.
- fast/forms/input-maxlength-inserting-in-middle-expected.txt: Added.
- fast/forms/input-maxlength-inserting-in-middle.html: Added.
- fast/forms/input-maxlength-paste-clusters-in-middle-expected.txt: Added.
- fast/forms/input-maxlength-paste-clusters-in-middle.html: Added.
- fast/forms/input-maxlength-paste-in-middle-expected.txt: Added.
- fast/forms/input-maxlength-paste-in-middle.html: Added.
- 2:19 AM Changeset in webkit [178344] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.6
Merge r177089 - Crash when creating CSSCalcBinaryOperation
https://bugs.webkit.org/show_bug.cgi?id=134886
rdar://problem/17663561
Reviewed by Chris Dumez.
Source/WebCore:
Test: fast/css/calc-binary-operation-crash.html
- css/CSSCalculationValue.cpp:
(WebCore::determineCategory):
Ensure that both axis are within the addSubtractResult table.
Remove unneeded CalcOther test. The call site guarantees it doesn't happen and the normal cases would handle it anyway.
Also strengthen some asserts.
LayoutTests:
- fast/css/calc-binary-operation-crash-expected.txt: Added.
- fast/css/calc-binary-operation-crash.html: Added.
- 2:17 AM Changeset in webkit [178343] by
-
- 5 edits8 adds in releases/WebKitGTK/webkit-2.6
Merge r177050 - Scrolling to anchor tags does nothing in vertical-rl writing mode
https://bugs.webkit.org/show_bug.cgi?id=137838
Reviewed by David Hyatt.
Source/WebCore:
Scroll to a particular tag, and make sure the viewport is rendered as expected.
Tests: fast/events/scroll-to-anchor-vertical-lr-writing-mode.html
fast/events/scroll-to-anchor-vertical-writing-mode-contained-2.html
fast/events/scroll-to-anchor-vertical-writing-mode-contained.html
fast/events/scroll-to-anchor-vertical-writing-mode.html
- page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
- rendering/ScrollBehavior.cpp:
- rendering/ScrollBehavior.h:
LayoutTests:
When we specify the behavior regarding scrolling to anchor tags, we previously had
only described behavior regarding horizontal text. When we have vertical text, we
need to switch the horizontal and vertical scrolling policies.
- fast/events/scroll-to-anchor-vertical-lr-writing-mode-expected.html: Added.
- fast/events/scroll-to-anchor-vertical-lr-writing-mode.html: Added.
- fast/events/scroll-to-anchor-vertical-writing-mode-contained-2-expected.html: Added.
- fast/events/scroll-to-anchor-vertical-writing-mode-contained-2.html: Added.
- fast/events/scroll-to-anchor-vertical-writing-mode-contained-expected.html: Added.
- fast/events/scroll-to-anchor-vertical-writing-mode-contained.html: Added.
- fast/events/scroll-to-anchor-vertical-writing-mode-expected.html: Added.
- fast/events/scroll-to-anchor-vertical-writing-mode.html: Added.
- 2:09 AM Changeset in webkit [178342] by
-
- 3 edits in releases/WebKitGTK/webkit-2.6
Merge r177049 - REGRESSION(r155906): Page content disappears on Tuaw article after loading
https://bugs.webkit.org/show_bug.cgi?id=138100
Reviewed by Simon Fraser.
.:
DRT causes an extra paint which makes it impossible to test this with
an automated test.
- ManualTests/float-layer-not-painting.html: Added.
Source/WebCore:
Test: ManualTests/float-layer-not-painting.html
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::insertFloatingObject): If a layout happens,
it can change whether the float's renderer has a self painting layer.
So in that case, we need to update the flag on the FloatingObject
instance for that float.
- 2:02 AM Changeset in webkit [178341] by
-
- 3 edits5 adds in releases/WebKitGTK/webkit-2.6
Merge r177033 - [WK2] Crash when answering notification permission request after navigating
https://bugs.webkit.org/show_bug.cgi?id=139429
<rdar://problem/18921122>
Reviewed by Andreas Kling.
Source/WebKit2:
When requesting a notification permission, navigating away and then
answering the permission, WebKit2 would crash. This is because upon
navigating, the request is cancelled and removed from the HashMaps
in NotificationPermissionRequestManager. When
didReceiveNotificationPermissionDecision() is later called, it would
look for the request identifier in m_idToOriginMap HashMap. As the
request was cancelled, HashMap::take() call would return null for
the SecurityOrigin*. This security origin pointer is then removed
from m_originToIDMap, but the code was failing to do a null check
first. Calling HashMap::remove(nullptr) would then crash.
This patch adds the missing null check and a layout test to cover
this case.
Test: http/tests/notifications/legacy/notification-request-permission-then-navigate.html
- WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
LayoutTests:
Add layout test to cover the case where the notification permission is
requesting before navigating to a new URL and answered after the page
is navigated away.
- http/tests/notifications/legacy/notification-request-permission-then-navigate-expected.txt: Added.
- http/tests/notifications/legacy/notification-request-permission-then-navigate.html: Added.
- http/tests/notifications/legacy/resources/notify-opener-done.html: Added.
- http/tests/notifications/legacy/resources/request-permission-then-navigate.html: Added.
- 1:59 AM Changeset in webkit [178340] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/Source/WTF
Merge r177023 - Undefined Symbol build error "_objc_registerThreadWithCollector" when building WebKit GTK Mac OS X on Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=58737
Reviewed by Darin Adler.
Replace OS(MAC_OS_X) with PLATFORM(MAC) to prevent using
osx-specific code in WebKitGTK+ builds.
- wtf/ThreadingPthreads.cpp:
(WTF::initializeCurrentThreadInternal):
- 1:58 AM WebKitGTK/2.6.x edited by
- (diff)
- 1:57 AM Changeset in webkit [178339] by
-
- 4 edits in releases/WebKitGTK/webkit-2.6
Merge r177019 - convertToUTF8String converts null string to empty string
https://bugs.webkit.org/show_bug.cgi?id=133904
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Test added to Tools/TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp
Return 0 if the string is null.
- bindings/gobject/ConvertToUTF8String.cpp:
(convertToUTF8String):
Tools:
Test that trying to get the value of a non-existent attribute
returns 0 instead of an empty string.
- TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:
(WebKitDOMNodeTest::testInsertion):
- 1:56 AM WebKitGTK/2.6.x edited by
- (diff)
- 1:54 AM Changeset in webkit [178338] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2
Merge r177016 - [GTK] LDFLAGS is ignored when running g-ir-scanner
https://bugs.webkit.org/show_bug.cgi?id=138832
Patch by Ting-Wei Lan <Ting-Wei Lan> on 2014-12-09
Reviewed by Carlos Garcia Campos.
GTK+ requires libintl on FreeBSD because there is no gettext
implementation in FreeBSD libc. In order to link to libintl, which is
not located in the default search path of the linker, we need to add
the required path via the linker command line. However, LDFLAGS is
ignored when running g-ir-scanner starting from r167873, so we have
to manually pick required flags from CMAKE_SHARED_LINKER_FLAGS and
put them in correct order to prevent g-ir-scanner from linking to
the installed version of libraries.
- PlatformGTK.cmake:
- 1:53 AM Changeset in webkit [178337] by
-
- 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore
Merge r177015 - [Media][GTK][EFL] Reduce style updates (painting) in controls
https://bugs.webkit.org/show_bug.cgi?id=137773
Reviewed by Carlos Garcia Campos.
Don't update media controls if they are not visible, and
initialize slider to a zero value.
- Modules/mediacontrols/mediaControlsBase.js:
(Controller.prototype.createControls):
(Controller.prototype.handleDurationChange):
(Controller.prototype.updateProgress):
(Controller.prototype.updateTime):
- Modules/mediacontrols/mediaControlsGtk.js:
(ControllerGtk.prototype.updateTime):
- 1:46 AM Changeset in webkit [178336] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore
Merge r177083 - Fixes operationPutByIds such that they check that the put didn't
change the structure of the object who's property access is being
cached.
https://bugs.webkit.org/show_bug.cgi?id=139196
Reviewed by Filip Pizlo.
- jit/JITOperations.cpp:
(JSC::operationGetByIdOptimize): changed get to getPropertySlot
(JSC::operationPutByIdStrictBuildList): saved the structure before the put.
(JSC::operationPutByIdNonStrictBuildList): ditto.
(JSC::operationPutByIdDirectStrictBuildList): ditto.
(JSC::operationPutByIdDirectNonStrictBuildList): ditto.
- jit/Repatch.cpp:
(JSC::tryCachePutByID): fixed structure() to use the existant vm.
(JSC::tryBuildPutByIdList): Added a check that the old structure's id
is the same as the new.
(JSC::buildPutByIdList): Added an argument
- jit/Repatch.h:
(JSC::buildPutByIdList): Added an argument
- tests/stress/put-by-id-strict-build-list-order.js: Added.
- 1:43 AM Changeset in webkit [178335] by
-
- 20 edits3 adds1 delete in releases/WebKitGTK/webkit-2.6
Merge r176978 - Inline elements whose parents have small line-height are laid out too low
https://bugs.webkit.org/show_bug.cgi?id=139375
Reviewed by Dave Hyatt.
Source/WebCore:
This is a port of the Blink patch at
https://src.chromium.org/viewvc/blink?revision=155253&view=revision.
When laying out inline elements, we try to align leaf children's parents'
baselines across the entire line. However, if you set line-height: 0px on a
span, the entire InlineBox which represents that span will have a height of
0, and therefore be laid out entirely on the baseline. In addition, we will
try to vertically center the leaf text in the span's InlineBox, which means
the leaf text will be vertically centered on the baseline. All the other
major browsers do not have this behavior; instead, they line up the boxes
as you would expect.
This bug led to a rendering problem on the front page of the New York Times.
Here is the ChangeLog from the Blink patch:
Fix baseline position when it is outside the element's box
Specifically, we shouldn't force the baseline to be inside the element. IE
and FF don't do this, and it's incompatible with the CSS spec:
"The baseline of an 'inline-block' is the baseline of its last line box in
the normal flow, unless it has either no in-flow line boxes or if its
'overflow' property has a computed value other than 'visible', in which case
the baseline is the bottom margin edge."
-- http://www.w3.org/TR/CSS21/visudet.html#leading
It doesn't have a special case for "baseline is outside of the element's
margin box".
Test: fast/text/small-line-height.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::baselinePosition):
LayoutTests:
Add fast/text/small-line-height.html for a simple example. In addition, update
existing tests.
- fast/forms/textfield-overflow-by-value-update-expected.txt:
- fast/regions/cssom/client-rects-inline-complex.html:
- fast/regions/overflow/overflow-region-inline-expected.html:
- fast/text/small-line-height-expected.html: Added.
- fast/text/small-line-height.html: Added.
- platform/mac/fast/box-sizing/box-sizing-expected.png:
- platform/mac/fast/box-sizing/box-sizing-expected.txt:
- platform/mac/fast/forms/search-vertical-alignment-expected.png:
- platform/mac/fast/forms/search-vertical-alignment-expected.txt:
- platform/mac/fast/forms/textfield-overflow-by-value-update-expected.png: Removed.
- platform/mac/fast/multicol/client-rects-expected.png:
- platform/mac/fast/multicol/client-rects-expected.txt:
- platform/mac/fast/multicol/client-rects-spanners-complex-expected.png:
- platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
- platform/mac/fast/multicol/client-rects-spanners-expected.png:
- platform/mac/fast/multicol/client-rects-spanners-expected.txt:
- platform/mac/fast/multicol/layers-split-across-columns-expected.png:
- platform/mac/fast/multicol/layers-split-across-columns-expected.txt:
- platform/mac/fast/multicol/newmulticol/client-rects-expected.png:
- platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
- 1:32 AM Changeset in webkit [178334] by
-
- 3 edits3 adds in releases/WebKitGTK/webkit-2.6
Merge r176972 - CFA wrongly assumes that a speculation for SlowPutArrayStorageShape disallows ArrayStorageShape arrays.
<https://webkit.org/b/139327>
Reviewed by Michael Saboff.
Source/JavaScriptCore:
The code generator and runtime slow paths expects otherwise. This patch fixes
CFA to match the code generator's expectation.
- dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::arrayModesThatPassFiltering):
(JSC::DFG::ArrayMode::arrayModesWithIndexingShapes):
LayoutTests:
- js/dfg-slow-put-array-storage-spec-should-allow-fast-array-storage-expected.txt: Added.
- js/dfg-slow-put-array-storage-spec-should-allow-fast-array-storage.html: Added.
- js/script-tests/dfg-slow-put-array-storage-spec-should-allow-fast-array-storage.js: Added.
(foo):
(test):
- 1:24 AM WebKitGTK/2.6.x edited by
- (diff)
- 1:23 AM Changeset in webkit [178333] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore
Merge r176945 - Webkit using Harfbuzz does not display Arabic script correctly
https://bugs.webkit.org/show_bug.cgi?id=136337
Patch by Doron Wloschowsky <doron_wloschowsky@scee.net> on 2014-12-08
Reviewed by Carlos Garcia Campos.
Using reinterpret_cast to convert hb_codepoint_t* into UChar*
doesn't work on big endian systems.
- platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
(WebCore::harfBuzzGetGlyph):
- 1:22 AM Changeset in webkit [178332] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/gtk/po
Merge r176944 - [as] Updated Assamese translations of WebKitGtk+
https://bugs.webkit.org/show_bug.cgi?id=137487
Patch by Nilamdyuti Goswami <nilamdyuti@gmail.com> on 2014-12-08
Reviewed by Carlos Garcia Campos.
- as.po:
- 1:19 AM Changeset in webkit [178331] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore
Merge r176938 - [GStreamer] Add video/flv to the list of supported mimetypes
https://bugs.webkit.org/show_bug.cgi?id=139344
Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-08
Reviewed by Gustavo Noronha Silva.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeCache):
Add video/flv additional to video/x-flv to the list of supported
mimetypes. It's used on some websites, e.g.
http://www.jwplayer.com/html5/formats/
- 1:18 AM InspectorConsoleSelection edited by
- (diff)
- 1:17 AM InspectorConsoleSelection edited by
- (diff)
- 1:16 AM Changeset in webkit [178330] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore
Merge r176936 - [GStreamer] Add application/x-mpegurl to the list of supported mimetypes.
https://bugs.webkit.org/show_bug.cgi?id=139343
Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-08
Reviewed by Gustavo Noronha Silva.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeCache):
It's an alternative mimetype for the already supported
application/vnd.apple.mpegurl (aka HLS) and adding it
allows all streams on http://www.jwplayer.com/html5/hls/
to be played.
- 1:15 AM InspectorConsoleSelection edited by
- (diff)
- 1:13 AM InspectorConsoleSelection edited by
- (diff)
- 1:12 AM Changeset in webkit [178329] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore
Merge r176931 - [TextureMapper] Normalize pattern transform for pattern compositing
https://bugs.webkit.org/show_bug.cgi?id=139374
Reviewed by Martin Robinson.
In CoordGfx/TexMapGL, pattern compositing (for background image) uses
the patternTransform shader uniform. However, current implementation
miscalculates its transform matrix. It uses simple rectToRect
transformationMatrix which produces unnormalized garbage term.
This causes unexpected behavior at the fragmentation stage in some
mobile GPUs.
It should calculate its scale based on tileSize and contentSize,
and its position based on tilePhase and contentSize.
No new tests because the bug only occurs on some mobile GPUs.
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
- 1:11 AM Changeset in webkit [178328] by
-
- 6 edits4 adds2 deletes in releases/WebKitGTK/webkit-2.6
Merge r176930 - [Soup][Curl] HTTP header values should be treated as latin1, not UTF-8
https://bugs.webkit.org/show_bug.cgi?id=128739
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-12-07
Reviewed by Martin Robinson.
Source/WebCore:
Removed UTF-8 conversion of HTTP header values (SOUP and CURL).
Removed unnecessary UTF-8 conversion of HTTP header names (SOUP).
Changed conversion of HTTP method from UTF-8 to ASCII (SOUP and CURL).
Added explicit UTF-8 conversion of Content-Disposition header to compute download suggested filename.
Test: http/tests/xmlhttprequest/response-special-characters.html
- platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::headerCallback): Removed header conversion.
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback): Ditto.
(WebCore::ResourceHandleManager::initializeHandle): Changed HTTP method conversion to ASCI.
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateFromSoupMessageHeaders): Removed header conversion.
(WebCore::ResourceRequest::updateSoupMessage): Changed HTTP method conversion to ASCII.
(WebCore::ResourceRequest::toSoupMessage): Ditto.
(WebCore::ResourceRequest::updateFromSoupMessage):
- platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessageHeaders): Rmoved header conversion.
(WebCore::ResourceResponse::platformSuggestedFilename): Added explicit conversion of contentDisposition to UTF-8.
LayoutTests:
Tests that non ascii header & reason phrase values are correctly retrieved by the web application.
headers.php script sends a response that includes non ascii header value.
not-ascii-status.php sends a response that includes non ascii reason phrase.
Removed specific gtk/efl expectations as now aligned with regular expectation.
- http/tests/xmlhttprequest/resources/headers.php: Added.
- http/tests/xmlhttprequest/resources/not-ascii-status.php: Added.
- http/tests/xmlhttprequest/response-special-characters-expected.txt: Added.
- http/tests/xmlhttprequest/response-special-characters.html: Added.
- platform/efl/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Removed.
- platform/gtk/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Removed.
- 1:07 AM Changeset in webkit [178327] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/LayoutTests/http/tests/multipart
Merge r176990 - REGRESSION (173394): Support for webcam is broken
https://bugs.webkit.org/show_bug.cgi?id=139313
Test by Antti Koivisto, reviewed and tweaked by Alexey Proskuryakov.
- http/tests/multipart/multipart-image-expected.html: Added.
- http/tests/multipart/multipart-image.html: Added.
- http/tests/multipart/resources/multipart.php: Multiopart boundary must start on
a new line, so make it so. In newwer OS versions, CFNetwork has a workaround that
makes invalid multipart response work, which is why the test was passing locally.
- 1:06 AM InspectorConsoleSelection created by
- 12:54 AM Changeset in webkit [178326] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.6
Merge r176905 - REGRESSION (173394): Support for webcam is broken
https://bugs.webkit.org/show_bug.cgi?id=139313
Reviewed by Alexey Proskuryakov.
Source/WebKit2:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveResponseAsync):
Don't buffer when handling multipart/x-mixed-replace. Multiple calls to didReceiveResponseAsync break assumptions.
LayoutTests:
We had no coverage for actually rendering multipart content.
- http/tests/multipart/multipart-image-expected.html: Added.
- http/tests/multipart/multipart-image.html: Added.
- 12:49 AM Changeset in webkit [178325] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.6
Merge r176903 - Directional single quotation marks are not rotated in vertical text
https://bugs.webkit.org/show_bug.cgi?id=138526
Source/WebCore:
Reviewed by Darin Adler.
In vertical text, directional single quotation marks are not rotated along with
the rest of the letters.
Test: fast/text/vertical-quotation-marks.html
- platform/graphics/FontGlyphs.cpp:
(WebCore::shouldIgnoreRotation):
LayoutTests:
Compare vertical and horizontal renderings.
Reviewed by Darin Adler.
- fast/text/vertical-quotation-marks-expected.html: Added.
- fast/text/vertical-quotation-marks.html: Added.
- 12:44 AM Changeset in webkit [178324] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore
Merge r176874 - Issue repaint at setUnavailablePluginIndicatorIsHidden() only when embedded object's indicator status changes.
https://bugs.webkit.org/show_bug.cgi?id=139311
Reviewed by Tim Horton.
Not testable.
- rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden):
- 12:44 AM WebKitGTK/2.6.x edited by
- (diff)
- 12:32 AM Changeset in webkit [178323] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore
Merge r176824 - REGRESSION(r173188): Text inserted when trying to delete a word from the Twitter message box.
<https://webkit.org/b/139076>
Reviewed by Geoffrey Garen.
The StringImpl* -> Weak<JSString> cache used by the DOM bindings
had a bug where the key could become a stale pointer if the cached
JSString had its internal StringImpl atomicized.
If a new StringImpl was then later constructed at the exact same
address as the stale key, before the Weak<JSString> got booted out
of the string cache, we'd now have a situation where asking the
string cache for that key would return the old JSString.
Solve this by not allowing JSString::toExistingAtomicString() to
change the JSString's internal StringImpl unless it's resolving a
rope string. (The StringImpl nullity determines rope state.)
This means that calling toExistingAtomicString() may now have to
query the AtomicString table on each call rather than just once.
All clients of this API would be forced to do this regardless,
since they return value will be used to key into containers with
AtomicStringImpl* keys.
No test because this relies on malloc putting two StringImpls
at the same address at different points in time and we have no
mechanism to reliably test that.
- runtime/JSString.h:
(JSC::JSString::toExistingAtomicString):
- 12:15 AM Changeset in webkit [178322] by
-
- 5 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2
Merge r176818 - REGRESSION (r173468): Cannot step in WebInspector
https://bugs.webkit.org/show_bug.cgi?id=139260
Reviewed by Alexey Proskuryakov.
Inspector defers all loads and starts a nested runloop when it hits a breakpoint. When continuing it undefers the loads.
If the script execution was triggered from the didFinishLoading callback of the main resource then the main resource would
already be in the finished state in the network process side and setDefersLoading(false) message would end up restarting its load.
Since loads are not meant to restart the generated callbacks would assert or crash the web process when handled in the next
nested inspector runloop.
Fix by taking care that cleaned up NetworkResourceLoaders are always removed from the loader map of
the NetworkConnectionToWebProcess and so can't end up handling late messages.
No test, this requires JS debugger to trigger.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didCleanupResourceLoader):
This is now the only way to remove resource loaders.
It is called from NetworkResourceLoader::cleanup only.
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
Calling abort removes the resource loader (since it calls cleanup) so no need to do it explicitly anymore.
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
We are guaranteed to be reffed by NetworkConnectionToWebProcess until cleanup so the explicit ref/deref can be removed.
(WebKit::NetworkResourceLoader::cleanup):
Call to NetworkConnectionToWebProcess::didCleanupResourceLoader to make the loader unreachable.
- NetworkProcess/NetworkResourceLoader.h:
(WebKit::NetworkResourceLoader::identifier):
- 12:14 AM Changeset in webkit [178321] by
-
- 4 edits6 adds in releases/WebKitGTK/webkit-2.6
Merge r176816 - Groove/inset/outset borders show solid if the color is black
https://bugs.webkit.org/show_bug.cgi?id=58608
Reviewed by Simon Fraser.
Source/WebCore:
Test: fast/borders/mixed-border-style2.html
This patch will lighten/darken the border side colors, handling
border decoration in a similar way as Firefox does.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::RenderObject::calculateBorderStyleColor):
- rendering/RenderObject.h:
LayoutTests:
- fast/borders/mixed-border-style2.html: Added.
- platform/mac-mavericks/fast/borders/mixed-border-style2-expected.png: Added.
- platform/mac-mavericks/fast/borders/mixed-border-style2-expected.txt: Added.
- 12:05 AM Changeset in webkit [178320] by
-
- 4 edits in releases/WebKitGTK/webkit-2.6/Source
Merge r176803 - Serialization of MapData object provides unsafe access to internal types
https://bugs.webkit.org/show_bug.cgi?id=138653
Patch by Oliver Hunt <oliver@apple.com> on 2014-12-04
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Converting these ASSERTs into RELEASE_ASSERTs, as it is now obvious
that despite trying hard to be safe in all cases it's simply to easy
to use an iterator in an unsafe state.
- runtime/MapData.h:
(JSC::MapData::const_iterator::key):
(JSC::MapData::const_iterator::value):
Source/WebCore:
We now keep the value portion of the key/value pair in MapData as a
separate stack. This allows us to maintain the spec semantic of
"atomic" serialisation of the key/value pair without retaining the
use of a potentially invalid iterator.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
- 12:00 AM Changeset in webkit [178319] by
-
- 2 edits in releases/WebKitGTK/webkit-2.6
Merge r176787 - can not find cairo-gl.h when build webkit with gtk on ubuntu 14.04
https://bugs.webkit.org/show_bug.cgi?id=136576
Reviewed by Carlos Garcia Campos.
CMake should complain if Accelerated 2D Canvas is explicitly
enabled but cairo-gl is not found.
- Source/cmake/OptionsGTK.cmake: