- 20 Oct, 2014 4 commits
-
-
zhaoze.zhou@partner.samsung.com authored
These forward references are not needed anymore. After this patch, Source/web has no unneeded forward references any more. Review URL: https://codereview.chromium.org/663893002 git-svn-id: svn://svn.chromium.org/blink/trunk@183958 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dstockwell@chromium.org authored
This also seems to indicate that it's not yet possible to composite an animation with a negative playback rate and infinite duration. BUG=422432 Review URL: https://codereview.chromium.org/667633003 git-svn-id: svn://svn.chromium.org/blink/trunk@183957 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dstockwell@chromium.org authored
NOTRY=true TBR=michaeln@chromium.org BUG=424974 Review URL: https://codereview.chromium.org/661363002 git-svn-id: svn://svn.chromium.org/blink/trunk@183956 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
rune@opera.com authored
Add invalidation features to a set for :-webkit-autofill and move CSSSelector::PseudoAutofill away from the list of pseudo classes requiring subtree style recalc. The pseudo type cases in invalidationSetForSelector were re-ordered to match the enum order. R=chrishtr@chromium.org,esprehn@chromium.org BUG=424581 Review URL: https://codereview.chromium.org/660273002 git-svn-id: svn://svn.chromium.org/blink/trunk@183955 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
- 19 Oct, 2014 7 commits
-
-
dstockwell@chromium.org authored
Revert of Implement suspend/resume for AudioContext (patchset #13 id:260001 of https://codereview.chromium.org/625363004/) Reason for revert: Breaks webaudio/oscillator-sine.html on Windows Original issue's description: > Implement suspend/resume for AudioContext > > WebAudio is adding a suspend()/resume() API: > > https://github.com/WebAudio/web-audio-api/issues/361 > https://github.com/WebAudio/web-audio-api/issues/317 > > In more detail, here is the proposed additions to the spec: > > New attribute "state" with values: > paused > Currently paused (time is not proceeding, audio hardware may be powered down/released). > running > Audio is being processed. > released > AudioContext has been released, and can no longer be used to process audio. All system resources should be released. > > void suspend() > Suspends the progression of time in the audio context, allows any current buffer contents to be played to the destination and then allows the system to power down and/or release audio hardware. If the context has been released, an InvalidStateError MUST be thrown. This is generally useful when the application knows it will not need the AudioContext for some time, and wishes to let the audio hardware power down. > > While the system is suspend, MediaStreams will have their output ignored; that is, data will be lost by the real time nature of media streams. HTMLMediaElements will similarly have their output ignored until the system is resumed. Audio Workers and ScriptProcessorNodes will simply not fire their onaudioprocess events while suspended, but will resume when resumed. For the purpose of AnalyserNode window functions, the data is considered as a continuous stream - i.e. the resume()/suspend() does not cause silence to appear in the AnalyserNode's stream of data. > > Promise resume() > Resumes the progression of time in the audio context, which may involve re-priming the frame buffer contents. The promise resolves when the system has re-acquired (if necessary) access to audio hardware and has begun streaming to the destination, or immediately (with no other effect) if the context is already running. The promise is rejected if the context has been released. > > BUG=420106 > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=183916 TBR=haraken@chromium.org,tkent@chromium.org,yhirano@chromium.org,rtoy@chromium.org NOTREECHECKS=true NOTRY=true BUG=420106 Review URL: https://codereview.chromium.org/663003002 git-svn-id: svn://svn.chromium.org/blink/trunk@183953 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dstockwell@chromium.org authored
Revert of Refactor Script(Loader|Runner): don't access Resources all over the place... (patchset #5 id:80001 of https://codereview.chromium.org/656113002/) Reason for revert: Introduced leaks in the following tests: fast/dom/HTMLScriptElement/append-child-adopt-node-error-crash.html fast/dom/HTMLScriptElement/script-async-attr.html fast/dom/HTMLScriptElement/script-load-events.html fast/dom/URL-attribute-reflection.html fast/events/onerror-bubbling.html http/tests/cache/loaded-from-cache-after-reload.html http/tests/cache/subresource-expiration-2.html http/tests/cache/subresource-multiple-instances.html http/tests/htmlimports/import-script-block-crossorigin-dynamic.html http/tests/loading/script-priorities.html Original issue's description: > Refactor Script(Loader|Runner): don't access Resources all over the place... > > ... but use proper layering instead. > > PendingScript holds a Resource, and many places in the code are using both the > PendingScript and the underlying Resource. For example, ScriptRunner holds a > collection of PendingScripts, and ScriptLoaders then listen to the underlying > Resources. This is confusing and error prone. > > The Resource - ScriptLoader - PendingScript - Element love quadrangle is messy > in general. Both ScriptLoader and PendingScript refer to the Resource. The way > to get ScriptLoader from PendingScript is via Element which PendingScript also > holds. But there's no way to get PendingScript from ScriptLoader. > > This CL makes ScriptRunner access the ScriptLoaders directly and moves the > PendingScript to ScriptLoader. In addition, it makes ScriptRunner not access the > Resource of the ScriptLoader directly. > > This CL also cancels the hack from https://bugs.webkit.org/show_bug.cgi?id=92211 > (r139942) where it was speculated that a crash can be caused by ScriptLoader > getting the notifyFinished notification twice because it doesn't unsubscribe yet > when it gets the first one. The speculative fix was to made it nullify > ScriptLoader::m_resource and check for the nullity later. This is pretty > surprising, since the obvious solution would've been to just unsubscribe early > enough (which is done by this CL). > > Note a behavioral change: It's OK to call Resource::addClient even if the > Resource is finished, and in that case, the client will be notified > immediately. But PendingScript used to ASSERT that the Resource is not > finished. This CL removes that restriction (the underlying Resource already > handles adding clients to finished resources + made ScriptStreamer handle it > too). > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=183873 TBR=jochen@chromium.org,haraken@chromium.org,morrita@chromium.org,sigbjornf@opera.com,marja@chromium.org NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/669503003 git-svn-id: svn://svn.chromium.org/blink/trunk@183952 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dstockwell@chromium.org authored
Revert of Oilpan: move ScriptLoader to the heap. (patchset #3 id:2 of https://codereview.chromium.org/660233002/) Reason for revert: Depends on https://codereview.chromium.org/656113002 which introduced memory leaks. Original issue's description: > Oilpan: move ScriptLoader to the heap. > > So as to be able to trace its PendingScript part object. > > R=haraken > BUG= > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=183909 TBR=oilpan-reviews@chromium.org,haraken@chromium.org,sigbjornf@opera.com NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/656413003 git-svn-id: svn://svn.chromium.org/blink/trunk@183951 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dstockwell@chromium.org authored
This is required for Blink to track the synchronized starting of groups of animations. Depends on a change in chromium: https://codereview.chromium.org/653563003 Follow on usage: https://codereview.chromium.org/651103002 BUG=423265 Review URL: https://codereview.chromium.org/652593003 git-svn-id: svn://svn.chromium.org/blink/trunk@183950 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
senorblanco@chromium.org authored
R=junov@chromium.org BUG= Review URL: https://codereview.chromium.org/658653003 git-svn-id: svn://svn.chromium.org/blink/trunk@183949 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
Review URL: https://codereview.chromium.org/661103002 git-svn-id: svn://svn.chromium.org/blink/trunk@183948 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
bratell@opera.com authored
Vector has several code paths depending on whether the encapsulated object can be handled with memmove/memcpy/memset or not. The fast path with memops is used by many objects, but unfortunately that requires manual hinting in every class because the type traits used are not strong enough. By using type trait functions available in all modern compilers it's possible to more intelligently select the most optimal code path. Preferably the code would use the new type traits in C++ 11 but unfortunately that requires a modern c++ library. Luckily, those libraries are mostly just thin wrappers on top of de facto-standard compiler extension functions anyway. With clang this cuts away 105 KB of machine code in blink. Mostly by no longer needing copy constructor and assignment operators in many classes so those can be stripped from the binary. With gcc the changes are differently. The binary is smaller but only by 5 KB. It's clear that many Vector methods have become more compact but it seems gcc compensated by spending that space elsewhere (more inlining?). I don't have as good measurement tools for Visual Studio but there was no huge difference in footprint. Performance, all this is from a noisy development computer with a non-stable cpu clock frequency (turbo ftl...): In LayoutTests most changes are within noise levels. But it looks like large tables and flexboxes might be 1-5% faster. In ParserTests html5-full-render (macro-benchmark) became 2-3% faster. There were also indications that some micro-benchmarks became 30% faster since reverting an earlier version of this caused that size performance regressions. clang footprint numbers: Total change: -109940 bytes =========================== 14 added, totalling +3397 bytes across 8 sources 19 removed, totalling -13302 bytes across 6 sources 8 grown, for a net change of +578 bytes (2268 bytes before, 2846 bytes after) across 6 sources 230 shrunk, for a net change of -100613 bytes (190909 bytes before, 90296 bytes after) across 49 sources Biggest changes: -84410 - Source: /home/bratell/src/chromium/src/third_party/WebKit/Source/wtf/Vector.h - (gained 784, lost 85194) -6934 - Source: /home/bratell/src/chromium/src/third_party/WebKit/Source/wtf/Deque.h - (gained 0, lost 6934) -2267 - Source: /home/bratell/src/chromium/src/third_party/WebKit/Source/core/animation/css/CSSAnimationData.cpp - (gained 904, lost 3171) ... +245 - Source: /home/bratell/src/chromium/src/third_party/WebKit/Source/core/svg/animation/SVGSMILElement.cpp - (gained 245, lost 0) BUG= R=jochen@chromium.org Review URL: https://codereview.chromium.org/594023002 git-svn-id: svn://svn.chromium.org/blink/trunk@183947 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
- 18 Oct, 2014 13 commits
-
-
jungjik.lee@samsung.com authored
setupScrollbarLayer passes scrollbarLayer to GraphicsLayer::m_contentsLayer. so if we want to change the property of scrollbarLayer, we should set the property after calling setupScrollbarLayer. currently we didn't set the scrollbarLayer as opaque. this causes to draw unnecessary quads which are not occluded in occlusion tracker. Bug=None Review URL: https://codereview.chromium.org/649563002 git-svn-id: svn://svn.chromium.org/blink/trunk@183946 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
haraken@chromium.org authored
DOM wrappers don't need to create persistent handles to keep corresponding DOM objects alive. Given that V8 already knows a list of DOM wrappers, we can just iterate the DOM wrappers and trace corresponding DOM objects. The key change of this CL is in V8GCController.cpp. V8GCController::traceDOMWrappers is called in ThreadState::visitPersistents. V8GCController::traceDOMWrappers iterates all DOM wrappers using v8::PersistentHandleVisitor and traces corresponding DOM objects. This CL significantly improves performance of various benchmarks in oilpan. query-selector-*.html: ~32% better create-element.html: 15% better indexed-getter.html: 26% better usr-parser.html: 13% better ... Also this CL removes a lot of complexity from the code base, e.g., WrapperPersistentNode, setNativeInfoWithPersistentHandle, setNativeInfoForHiddenWrapper etc. BUG=420515 Review URL: https://codereview.chromium.org/651713002 git-svn-id: svn://svn.chromium.org/blink/trunk@183944 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
sigbjornf@opera.com authored
If the RenderTextFragment is being destroyed, make sure the pseudo element is unlinked (Oilpan or not) during destroy() instead. R=haraken BUG=391288 Review URL: https://codereview.chromium.org/660413002 git-svn-id: svn://svn.chromium.org/blink/trunk@183943 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
loislo@chromium.org authored
profilingLock was replaced with WebInspector.targetManager.suspendAllTargets/resumeAllTargets calls and TargetManager.Events.SuspendStateChanged event. BUG= Review URL: https://codereview.chromium.org/614323003 git-svn-id: svn://svn.chromium.org/blink/trunk@183942 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
samli@chromium.org authored
BUG=421268 Review URL: https://codereview.chromium.org/637763002 git-svn-id: svn://svn.chromium.org/blink/trunk@183941 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
haraken@chromium.org authored
tiny-innerHTML.html allocates a ton of persistent handles in InspectorInstrumentationCookie(). I thought this might be a cause of the regression in tiny-innerHTML.html, but it wasn't. Thus this is just a cleanup CL. BUG=340522 Review URL: https://codereview.chromium.org/668453003 git-svn-id: svn://svn.chromium.org/blink/trunk@183940 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
je_julie.kim@samsung.com authored
The html spec requires the output element be mapped to role=status http://goo.gl/Fe89Dh BUG=323143 Review URL: https://codereview.chromium.org/663783002 git-svn-id: svn://svn.chromium.org/blink/trunk@183939 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
vartul.k@samsung.com authored
v8::Handle<T> is just an alias of v8::Local<T> BUG=424445 Review URL: https://codereview.chromium.org/660243003 git-svn-id: svn://svn.chromium.org/blink/trunk@183938 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
je_julie.kim@samsung.com authored
The related CL: https://codereview.chromium.org/609793002/ BUG=226505 Review URL: https://codereview.chromium.org/623693002 git-svn-id: svn://svn.chromium.org/blink/trunk@183937 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
je_julie.kim@samsung.com authored
BUG=141116 Review URL: https://codereview.chromium.org/657293002 git-svn-id: svn://svn.chromium.org/blink/trunk@183936 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
rob.buis@samsung.com authored
These forward references are not needed anymore. After this patch, Source/core/events has no unneeded forward references any more. Review URL: https://codereview.chromium.org/656683009 git-svn-id: svn://svn.chromium.org/blink/trunk@183935 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
l.gombos@samsung.com authored
Tightened int types to unsigned in TextRun to make it easier to reason about the code and in the process removed some casts and some ASSERTS that are no longer needed. Also made the getter type consistent with the corresponding member type for for consistency where applicable. Review URL: https://codereview.chromium.org/652483002 git-svn-id: svn://svn.chromium.org/blink/trunk@183934 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
chrishtr@chromium.org authored
Review URL: https://codereview.chromium.org/663923002 git-svn-id: svn://svn.chromium.org/blink/trunk@183933 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
- 17 Oct, 2014 16 commits
-
-
dmazzoni@chromium.org authored
The code already avoided scrolling if an object was already visible. This extends that logic so that if the object is larger than the viewport, it avoids scrolling if the subfocus is already visible. BUG=374316, 424691 Review URL: https://codereview.chromium.org/657903004 git-svn-id: svn://svn.chromium.org/blink/trunk@183932 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
mek@chromium.org authored
This still leaves the old codepaths for the geofencing API in place, those will be cleaned up in a followup CL. BUG=383125 Review URL: https://codereview.chromium.org/623813002 git-svn-id: svn://svn.chromium.org/blink/trunk@183931 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eae@chromium.org authored
ASSERT that the m_glyphToCharacterIndexes vector is available in the characterIndexForXPosition method. BUG=423649 R=jln@chromium.org Review URL: https://codereview.chromium.org/666613002 git-svn-id: svn://svn.chromium.org/blink/trunk@183930 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
adamk@chromium.org authored
Also mark the test as Pass/Fail until the next V8 roll lands (at which point it'll start passing again). TBR=dslomov@chromium.org BUG=424756 Review URL: https://codereview.chromium.org/662873002 git-svn-id: svn://svn.chromium.org/blink/trunk@183929 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
sigbjornf@opera.com authored
TBR=oilpan-reviews,haraken BUG=391288 NOTRY=true Review URL: https://codereview.chromium.org/659953004 git-svn-id: svn://svn.chromium.org/blink/trunk@183928 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
wangxianzhu@chromium.org authored
http://src.chromium.org/viewvc/blink?view=revision&revision=183917 BUG=295848 TBR=ambarish.r@samsung.com Review URL: https://codereview.chromium.org/662683004 git-svn-id: svn://svn.chromium.org/blink/trunk@183927 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dmazzoni@chromium.org authored
The particular broken case is when the object to be made visible is inside of a scrollable container that's larger than the viewport (window). Previously, the code scrolled the object to be visible within the container, then recursively scrolled the container to be visible within the viewport. That doesn't necessarily work if the container is larger than the viewport. Now it passes the coordinates of the original object up recursively as the "subfocus". In addition, this change centers the object within the viewport, rather than scrolling minimally to get it in view. This more closely matches how the browser normally behaves when you focus something offscreen, and makes for a better experience on Android, where we use this function extensively every time you move accessibility focus. Well-covered by existing tests, plus a new test for the case that didn't previously work. BUG=374316,424691 Review URL: https://codereview.chromium.org/661183002 git-svn-id: svn://svn.chromium.org/blink/trunk@183926 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
hongchan@chromium.org authored
The HRTF panner uses significant memory for the responses and requires a fair amount of processing to implement. For low-end mobile devices, this can be an issue. Since the default panner model is HRTF, the creation of the panner can cause the responses to be loaded. Perhaps the default should be changed to equalpower, which doesn't consume significant memory and is much less intensive in processing power. This is an incompatible change with the current spec. See also: https://github.com/WebAudio/web-audio-api/issues/368 BUG=424356 Review URL: https://codereview.chromium.org/652073003 git-svn-id: svn://svn.chromium.org/blink/trunk@183925 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aboxhall@chromium.org authored
NOTRY=true TBR=adamk BUG=424736 Review URL: https://codereview.chromium.org/644993004 git-svn-id: svn://svn.chromium.org/blink/trunk@183924 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
rijubrata.bhaumik@intel.com authored
Improves code readabilty BUG=none TEST=no layout test failures Review URL: https://codereview.chromium.org/645513003 git-svn-id: svn://svn.chromium.org/blink/trunk@183923 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
rune@opera.com authored
No need to fall back to subtree recalc for: ::-webkit-scrollbar ::-webkit-scrollbar-button ::-webkit-scrollbar-thumb ::-webkit-scrollbar-track ::-webkit-scrollbar-track-piece R=chrishtr@chromium.org,esprehn@chromium.org BUG=424546 Review URL: https://codereview.chromium.org/653423003 git-svn-id: svn://svn.chromium.org/blink/trunk@183922 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
wangxianzhu@chromium.org authored
http://src.chromium.org/viewvc/blink?view=revision&revision=183913 BUG=391288 TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/661073004 git-svn-id: svn://svn.chromium.org/blink/trunk@183921 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
wangxianzhu@chromium.org authored
http://src.chromium.org/viewvc/blink?view=revision&revision=183910 BUG=422812 TBR=wangxianzhu@chromium.org Review URL: https://codereview.chromium.org/635273005 git-svn-id: svn://svn.chromium.org/blink/trunk@183920 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
vollick@chromium.org authored
This CL checks used total size before computing the thumb size. If it's zero, we'll show no thumb. BUG=421869 Review URL: https://codereview.chromium.org/662593004 git-svn-id: svn://svn.chromium.org/blink/trunk@183919 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ambarish.r@samsung.com authored
Element::scrollIntoViewIfNeeded computes the scroll bounding box by calling containerNode::boundingBox(), for performing autoscroll. This bounding box rect is passed to RenderLayerScrollableArea::exposeRect(), where actual scroll parent rect to be scrolled is computed. This bound is computed by using two factors. current Scroll Offset and the target Scroll Offset. target scroll offset is Y position of the element which has to be scrolled into view. This Y position computation includes top border of the parent container. for example. in the bug reported page. Parent grid has border of 5 px so, the position of first child would be 5 and the position of second child would be 55 and so on But [current]scroll offset is independent of top border. When target bounding box is computed, target scroll offset is substracted from current scroll offset which results in incorrect scroll offset. for example. in the bug reported page 1. When page loads grid is scrolled to 200. 2. Parents top border is 5, 3. Position of 2nd child is 55 4. so the target scroll offset is computed as, 55 - 200 = -145 , which is incorrect & should be, 50 - 200 = -150 5. Hence the borderTop included in the position causes the issue, and needs to be removed from computed scroll offset value. BUG=295848 Review URL: https://codereview.chromium.org/568453002 git-svn-id: svn://svn.chromium.org/blink/trunk@183917 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
rtoy@chromium.org authored
WebAudio is adding a suspend()/resume() API: https://github.com/WebAudio/web-audio-api/issues/361 https://github.com/WebAudio/web-audio-api/issues/317 In more detail, here is the proposed additions to the spec: New attribute "state" with values: paused Currently paused (time is not proceeding, audio hardware may be powered down/released). running Audio is being processed. released AudioContext has been released, and can no longer be used to process audio. All system resources should be released. void suspend() Suspends the progression of time in the audio context, allows any current buffer contents to be played to the destination and then allows the system to power down and/or release audio hardware. If the context has been released, an InvalidStateError MUST be thrown. This is generally useful when the application knows it will not need the AudioContext for some time, and wishes to let the audio hardware power down. While the system is suspend, MediaStreams will have their output ignored; that is, data will be lost by the real time nature of media streams. HTMLMediaElements will similarly have their output ignored until the system is resumed. Audio Workers and ScriptProcessorNodes will simply not fire their onaudioprocess events while suspended, but will resume when resumed. For the purpose of AnalyserNode window functions, the data is considered as a continuous stream - i.e. the resume()/suspend() does not cause silence to appear in the AnalyserNode's stream of data. Promise resume() Resumes the progression of time in the audio context, which may involve re-priming the frame buffer contents. The promise resolves when the system has re-acquired (if necessary) access to audio hardware and has begun streaming to the destination, or immediately (with no other effect) if the context is already running. The promise is rejected if the context has been released. BUG=420106 Review URL: https://codereview.chromium.org/625363004 git-svn-id: svn://svn.chromium.org/blink/trunk@183916 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-