- 18 Mar, 2014 40 commits
-
-
sigbjornf@opera.com authored
Revert of Explicit notification and removal of lifecycle observers. (https://codereview.chromium.org/194923007/) Reason for revert: http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20Blink&tests=fast/workers/storage/interrupt-database.html,http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_dedicated_worker.html,http/tests/xmlhttprequest/workers/referer.html,http/tests/xmlhttprequest/workers/xmlhttprequest-response-type-blob.html Original issue's description: > Explicit notification and removal of lifecycle observers. > > To help make disposing of execution contexts cleaner in a setting > where both a context and its lifetime observers are being finalized > by a garbage collector, add support for explicitly clearing out > all lifecycle observers: > > protected: > void LifecycleNotifier<T>::removeAndNotifyAllObservers() > > Notifying them that the context has been destroyed while doing so. > An operation that was previously (only) done by the LifecycleNotifier > destructor. > > Also provide a convenience method over ExecutionContext for clearing > out its observers: > > void ExecutionContext::removeAllLifecycleObservers() > > The operation is used here when shutting down and finalizing a worker > thread and its global scope -- explicitly severing the connection > of all observers to its execution context before performing the > final garbage collection. > > Doing so ensures that all observer objects being finalized during that > garbage collection will not have access to its execution context object. > A heap object that may or may not have been finalized by the garbage > collector already. > > R=haraken@chromium.org,ager@chromium.org,abarth@chromium.org > BUG=340522 > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=169435 TBR=oilpan-reviews@chromium.org,abarth@chromium.org,haraken@chromium.org,ager@chromium.org,eseidel@chromium.org,tkent@chromium.org NOTREECHECKS=true NOTRY=true BUG=340522 Review URL: https://codereview.chromium.org/203393002 git-svn-id: svn://svn.chromium.org/blink/trunk@169444 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
DevTools: once migrated to document-based stylesheet processing there is no need to track changes to frames. Review URL: https://codereview.chromium.org/203153002 git-svn-id: svn://svn.chromium.org/blink/trunk@169443 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
vsevik@chromium.org authored
R=lushnikov, pfeldman Review URL: https://codereview.chromium.org/201293007 git-svn-id: svn://svn.chromium.org/blink/trunk@169442 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
R=apavlov BUG=353016 Review URL: https://codereview.chromium.org/197283031 git-svn-id: svn://svn.chromium.org/blink/trunk@169441 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
terry@google.com authored
This makes run-bindings-tests faster by doing more work in Python, instead of going out to the OS. Notably: calling Python compiler directly (reusing a compiler object), instead of launching separate processes, and avoiding a temporary file for interfaces_info. (Earlier versions had many refactoring changes, which improve support for Dart CG and other backends, which Nils broke off and committed separately.) R=nbarth Review URL: https://codereview.chromium.org/169743005 git-svn-id: svn://svn.chromium.org/blink/trunk@169440 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
fred.wang@free.fr authored
Display MathML fallback content when it is specified and take into account inline/display modes for mathematical formulas. This is important for Web authors because Blink does not support MathML yet. R=ojan@chromium.org,eseidel@chromium.org,jchaffraix@chromium.org BUG=chromium:324764,chromium:152430 Review URL: https://codereview.chromium.org/138383003 git-svn-id: svn://svn.chromium.org/blink/trunk@169439 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
bratell@opera.com authored
it from being reused as-is from the binary. This changes it to make the storage more compact by replacing pointers with offsets into a shared string. Also switching to more compact data types. The new database will look like: static const LChar staticEntityStringStorage[] = { 'A', 'E', 'l', 'i', 'g', ';', 'A', 'M', 'P', ';', 'A', 'a', 'c', 'u', 't', 'e', ';', ... static const HTMLEntityTableEntry staticEntityTable[2231] = { { 0x000C6, 0, 0, 5 }, // Æ { 0x000C6, 0, 0, 6 }, // Æ { 0x00026, 0, 6, 3 }, // & { 0x00026, 0, 6, 4 }, // & { 0x000C1, 0, 10, 6 }, // Á ... The binary will shrink by about 20-35 KB (depending on architecture), the memory usage should shrink by similar numbers for every renderer (since the memory now can be shared between renderers) and there will be a tiny startup time improvement due to fewer relocation blocks and less to read from disk. It accomplishes the savings by avoiding pointers in the data (resolving pointers during startup is expensive), using one string instead of 2000+, not storing the trailing NUL byte, ordering the members for minimum padding, using minimal size data types and reusing the same string space for things like "amp;" and "amp". BUG=352141 R= Review URL: https://codereview.chromium.org/199103002 git-svn-id: svn://svn.chromium.org/blink/trunk@169438 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
alancutter@chromium.org authored
FontBuilder must be properly initialised before font properties can be applied to a RenderStyle. BUG=352505,352506 Review URL: https://codereview.chromium.org/203193002 git-svn-id: svn://svn.chromium.org/blink/trunk@169437 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
habib.virji@samsung.com authored
Since test return will be aync, introduced function to test query string return value. This test fixes isuse introduced by fix for bug196640 R=keishi1, tkent BUG=353066 TEST=Automated Review URL: https://codereview.chromium.org/200613004 git-svn-id: svn://svn.chromium.org/blink/trunk@169436 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
sigbjornf@opera.com authored
To help make disposing of execution contexts cleaner in a setting where both a context and its lifetime observers are being finalized by a garbage collector, add support for explicitly clearing out all lifecycle observers: protected: void LifecycleNotifier<T>::removeAndNotifyAllObservers() Notifying them that the context has been destroyed while doing so. An operation that was previously (only) done by the LifecycleNotifier destructor. Also provide a convenience method over ExecutionContext for clearing out its observers: void ExecutionContext::removeAllLifecycleObservers() The operation is used here when shutting down and finalizing a worker thread and its global scope -- explicitly severing the connection of all observers to its execution context before performing the final garbage collection. Doing so ensures that all observer objects being finalized during that garbage collection will not have access to its execution context object. A heap object that may or may not have been finalized by the garbage collector already. R=haraken@chromium.org,ager@chromium.org,abarth@chromium.org BUG=340522 Review URL: https://codereview.chromium.org/194923007 git-svn-id: svn://svn.chromium.org/blink/trunk@169435 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
mnaganov@chromium.org authored
As --enable-memory-info flag and web preference were removed from Chrome, remove the corresponding WebSetting. The internal setting is used by PerfTestRunner, so leave it, but rename to "preciseMemoryInfoEnabled" for clarity. BUG=350339 Review URL: https://codereview.chromium.org/196533018 git-svn-id: svn://svn.chromium.org/blink/trunk@169434 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
apavlov@chromium.org authored
R=vsevik@chromium.org, aandrey, eustas, vsevik Review URL: https://codereview.chromium.org/202623004 git-svn-id: svn://svn.chromium.org/blink/trunk@169433 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
yurys@chromium.org authored
Similar to the CPU profiler there are top-down and bottom up allocation profile views. Data structures are renamed to use correponding naming scheme. BUG=277984 R=alph@chromium.org Review URL: https://codereview.chromium.org/202953003 git-svn-id: svn://svn.chromium.org/blink/trunk@169432 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
g.czajkowski@samsung.com authored
ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder should take a const reference to InsertedNodes This method doesn't modify InsertedNodes object so that it can take a const reference. BUG= Review URL: https://codereview.chromium.org/200613003 git-svn-id: svn://svn.chromium.org/blink/trunk@169431 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
hayato@chromium.org authored
BUG=353087 Review URL: https://codereview.chromium.org/201683003 git-svn-id: svn://svn.chromium.org/blink/trunk@169430 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
philipj@opera.com authored
There were three problems: 1. When fullScreenEnabled() was false, HTMLMediaElement's enterFullscreen() was used as a fallback, but that function checks the setting and does nothing. This has been the case since cleanup from April 2013, r149489: https://codereview.chromium.org/14670004 2. MediaController's hasVideo() returned true if any of the slave elements had video, which could show the button for a video element with no video. 3. The fullscreen button didn't do anything for slaved media elements. The added tests verify that (1) no fullscreen button is shown when the fullscreen feature is disabled or (2) when there is no video track, and (3) that clicking the fullscreen button actually enters fullscreen. BUG=351661 Review URL: https://codereview.chromium.org/196793021 git-svn-id: svn://svn.chromium.org/blink/trunk@169429 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
tkent@chromium.org authored
We need to rollback a transaction if SQLTransactionBackendSync is dying and its transaction is in progress. However Oilpan architecture doesn't allow us to touch associated DatabaseSync in ~SQLTransactionBackendSync. This CL adds a PersistentHeapHashMap<WeakMember<T>, U> to DatabaseSync to manage SQLTransactionSync, and it makes possible to call SQLTransactionSync::rollbackIfInProgress before the destruction. Note: - m_database->executionContext() can be null in some functions because on-heap objects can live after dissociation of ExecutionContext. - Change the argument of DatabaseSync::rollbackTransaction to a reference because PassRefPtr is unnecessary here and the argument is always non-null. BUG=347902 Review URL: https://codereview.chromium.org/198793003 git-svn-id: svn://svn.chromium.org/blink/trunk@169428 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
yurys@chromium.org authored
BUG=v8:3213 Review URL: https://codereview.chromium.org/196423009 git-svn-id: svn://svn.chromium.org/blink/trunk@169427 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
esprehn@chromium.org authored
Instead of exposing tons of getters and setters on Element we can use an enum of flags and treat the bits inside ElementRareData as just a flag field like we do in Node. This removes a lot of boilerplate code and also makes the check for style sharing a lot simpler since now we can just OR the flags that disable sharing together. That's good since that check is super hot in profiles. This also lets us make all the other "flag reading" methods into simple inline getters that call hasElementFlag() which early outs on not having any rare data. Review URL: https://codereview.chromium.org/202633006 git-svn-id: svn://svn.chromium.org/blink/trunk@169426 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
esprehn@chromium.org authored
1.5% of the time in the peacekeeper benchmark (and 2% of the recalcStyle time) is spent inside adjustRenderStyle. This patch is the start of trying to make adjustRenderStyle do less work in the common cases. This patch moves the logic for adjusting the style based on the display property out into a function and adds an early return for when the element is display: block and is not floating since none of the other sections of the function are needed then. Review URL: https://codereview.chromium.org/202283003 git-svn-id: svn://svn.chromium.org/blink/trunk@169425 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
alancutter@chromium.org authored
This patch fixes a bug where resources in element.animate() calls were not being fetched. This resulted in StylePendingImages leaking out of the style resolving stage and into rendering which causes a crash. This patch fixes the bug by ensuring StylePendingImages introduced in applyAnimatedProperties() will be resolved as non-pending StyleImages through an additional call to loadPendingResources(). This patch also modifies AnimatableImage to be a wrapper of CSSValues instead of StyleImages in order to follow the same resource caching logic as typical CSS image values. This patch also updates EffectInput::convert() to pass the document's StyleSheetContents to MutableStylePropertySet::setProperty() so that relative URLs are correctly resolved to absolute URLs. BUG=353385 Review URL: https://codereview.chromium.org/196573030 git-svn-id: svn://svn.chromium.org/blink/trunk@169424 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
raymes@chromium.org authored
This makes it possible to override the default tickmark behavior for a frame. The default behavior is to display tickmarks for find results. However the PDF plugin handles finding itself but still wants to set tickmarks. This CL makes it possible to specify an array of tickmarks to display. BUG=303491 Review URL: https://codereview.chromium.org/198683002 git-svn-id: svn://svn.chromium.org/blink/trunk@169423 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
BUG=353257 TBR=vsevik Review URL: https://codereview.chromium.org/202893003 git-svn-id: svn://svn.chromium.org/blink/trunk@169422 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
BUG=353257 TBR=vsevik Review URL: https://codereview.chromium.org/203043003 git-svn-id: svn://svn.chromium.org/blink/trunk@169421 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
Revert of Reapply 169354 "DevTools: track stylesheets by document, not local frame" (https://codereview.chromium.org/202623003/) Reason for revert: Seems like there are more failures. Original issue's description: > Reapply 169354 "DevTools: track stylesheets by document, not local frame" > > BUG= 353257 > TBR=vsevik > > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=169413 TBR=vsevik@chromium.org NOTREECHECKS=true NOTRY=true BUG= 353257 Review URL: https://codereview.chromium.org/203113002 git-svn-id: svn://svn.chromium.org/blink/trunk@169420 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eae@chromium.org authored
Remove unused word width hypen code from computePreferredLogicalWidths as it is no longer used. TBR=leviw@chromium.org BUG= Review URL: https://codereview.chromium.org/195973008 git-svn-id: svn://svn.chromium.org/blink/trunk@169419 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eae@chromium.org authored
Remove unused constructTextRunInternal function from RenderBlockFlow. TBR=dglazkov@chromium.org BUG= Review URL: https://codereview.chromium.org/197283029 git-svn-id: svn://svn.chromium.org/blink/trunk@169418 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eae@chromium.org authored
Unskip complex text tests failures caused by harfbuzz upgrade as the harfbuzz version has been rolled back. BUG=353015 TBR=wangxianzhu@chromium.org Review URL: https://codereview.chromium.org/202153004 git-svn-id: svn://svn.chromium.org/blink/trunk@169417 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
lushnikov@chromium.org authored
This patch sets default 'flex' property for resource-view items so that the won't shrink and overlap. BUG=352254 Review URL: https://codereview.chromium.org/196343022 git-svn-id: svn://svn.chromium.org/blink/trunk@169416 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
nbarth@chromium.org authored
This is the last inconsistent use of |imp| instead of |impl| in Chromium C++. (There are a few Objective C++ uses that I'm not touching.) Followup to Rename |imp| => |impl| in bindings generation https://codereview.chromium.org/202203009/ TBR=abarth Review URL: https://codereview.chromium.org/203073002 git-svn-id: svn://svn.chromium.org/blink/trunk@169415 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
tasak@google.com authored
Blink should not share StyleSheetContents cache between different WebFrames. If shares, WebFrameImpl::reload uses StyleSheetContents created by another WebFrameImpl. So when changing allowImage setting (controlled by chrome) and reloading some page, the reloaded frame might use StyleSheetContents cache. Since StyleImages are cached in CSSValues and are not managed by FrameLoader, allowImage change doesn't work. BUG=346264 TEST=fast/css/background-image-reload.html, fast/css/two-different-iframe-not-share-style-image.html Review URL: https://codereview.chromium.org/179873014 git-svn-id: svn://svn.chromium.org/blink/trunk@169414 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
BUG= 353257 TBR=vsevik Review URL: https://codereview.chromium.org/202623003 git-svn-id: svn://svn.chromium.org/blink/trunk@169413 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ch.dumez@samsung.com authored
Replace elementHasLegalLinkAttribute() helper with virtual function on Element: hasLegalLinkAttribute(). elementHasLegalLinkAttribute() was a bit complex due to all the branching. Using a virtual function distributes the code to each class and results in clearer code. R=tkent, adamk Review URL: https://codereview.chromium.org/202893002 git-svn-id: svn://svn.chromium.org/blink/trunk@169412 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
philipj@opera.com authored
Now slightly fewer files are recompiled when touching the header. BUG=none Review URL: https://codereview.chromium.org/196353003 git-svn-id: svn://svn.chromium.org/blink/trunk@169411 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
keonho07.kim@samsung.com authored
Blink is calling new API createAudioDevice(). It needs to remove. TODO(crogers): remove deprecated API as soon as WebKit calls new API. This patch is related with https://codereview.chromium.org/201303006/ BUG=353110 Review URL: https://codereview.chromium.org/201723003 git-svn-id: svn://svn.chromium.org/blink/trunk@169410 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
esprehn@chromium.org authored
1.6% of the overall profile, and 2% of the recalcStyle, in the PeaceKeeper benchmark is spent inside cacheUserAgentBorderAndBackground() because even though there is an appearance guard on the constructor, we still run constructors and destructors for all the members which aren't free since lots of them have a lot of fields to initialize (ex. FillLayers and BorderData). This patch moves the check from the constructor of CachedUAStyle into cacheUserAgentBorderAndBackground() so that we can skip all the initialization for the common case where the element has no appearance. Review URL: https://codereview.chromium.org/202223002 git-svn-id: svn://svn.chromium.org/blink/trunk@169408 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
philipj@opera.com authored
One type testing mechanism to rule them all. BUG=none Review URL: https://codereview.chromium.org/200713004 git-svn-id: svn://svn.chromium.org/blink/trunk@169407 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
esprehn@chromium.org authored
adjustRenderStyle is 2% of the recalcStyle cost and 1.5% of the time in the peacekeeper benchmark. This patch adds an early out when adjusting the element's style based on the tagName since after one match on the tagName no other cases can match. It also adds a check for <div> and <span> which are the most common elements and never need adjustment to skip all the rest of the tagName checks. Review URL: https://codereview.chromium.org/202343003 git-svn-id: svn://svn.chromium.org/blink/trunk@169406 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
philipj@opera.com authored
Involving the media controller plainly does not make sense. There was no test coverage for the CC button with a media controller present, and adding a negative test for it does not seem useful. Note that what remains is still not great since it doesn't allow you to pick between multiple tracks, but that will be fixed at a later time. BUG=341813 TEST=LayoutTests/media/audio-controls-captions.html LayoutTests/media/video-controls-captions.html Review URL: https://codereview.chromium.org/201123004 git-svn-id: svn://svn.chromium.org/blink/trunk@169405 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
michaelbai@chromium.org authored
This patch parse the sizes attribute into vector of IntSize, also added sizes in WebIconURL, so it could be used by chromium BUG=349039 Review URL: https://codereview.chromium.org/196743002 git-svn-id: svn://svn.chromium.org/blink/trunk@169404 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-