In case of empty rect, it leads to unsigned int overflow. Overflow value makes the associated for loop run with invalid values. Also, return early, if no focus ring found. Refactor generation of Selection IntRectRegion to avoid the need for IntRectRegion's helper functions which were not available when using it as a container without unioning the rects. This greatly speeds up rendering by maintaining the distinct rects as the union operation was length with large numbers of rects.
Geolocation now uses the Supplement interface instead of keeping an instance variable on Page. Geolocation is now a Supplement in Page so the interface has changed for setting up the page's geolocation client initially and accessing the controller later. Rebaseline due to wkbug. Also copy the windowGroup and rootGroup strings in PluginViewPrivate instead of just saving a pointer to the returned memory, which could become invalid at any time. One more unreviewed gardening after r Chromium garden-o-matic rebaselines for expected failures.
JSC -Mac bots paint repaint shadow at a slightly different shade. With this change, turning on compositing borders also turn on a tiny indicator in the top left corner.
This indicator uses color coding to show where wheel events are handled and where the scroll layer position is updated:. WebKit::DrawingArea::updatePreferences : Add a hook for letting drawing area subclasses know when preferences change. WebKit::TiledCoreAnimationDrawingArea::updatePreferences : If compositing borders are enabled, create a debug root layer and tell the scrolling tree about it. Web Inspector: CodeGeneratorInspector. Type validator generator is extended to support missing InspectorObject type and made more accurate for "int" type.
ValidateMethodParams : RawTypes. Int : RawTypes. Merge - Unreviewed rebaseline after r The layer's clipRect and usesLayerClipping information was not being initialized for layers that created a renderSurface.
It was, however, being initialized for the renderSurface itself. This patch adds a unit test that reproduces that this is an error, other unit tests to tightly test the value of clipRect being initialized, and adds the logic to properly initialize the clipRect.
Before this patch, this bug was causing flashing on tab-switch on the apple iphone page. Even worse, with partial swap enabled, the layers would simply disappear, because the first frame the clipRect is uninitialized and the layer is not drawn, and the second frame onwards, the damage tracker correctly things nothing is damaged, so it doesn't draw that layer again until other damage causes it to be redrawn.
Added 3 more unit tests. One reproduces the clipRect problem in an integrated manner, the other two directly test that clipRects are properly initialized.
Build fix after r Unreviewed rebaseline after r Merge - [chromium] Ensure framebuffer exists at the start of beginDrawingFrame. Certain emoji characters should not be displayed in user-visible URL strings. This change implements the Chromium-specific code for overriding the device metrics, such as screen size by setting the FrameView size and font zoom factor necessary for certain emulated devices, and for painting the gutter overlay covering the WebView area not occupied by the associated FrameView.
Merge - Web Inspector: breakpoints are not shown in sidebar pane after reload. We should iterate over existing breakpoints and add them to sidebar pane. Skip two lineboxcontain tests. Script could be selected by space in ScriptsNavigator now. This patch also polishes focus behavior when using ScriptsNavigator. Split up top-level.
Merge - Web Inspector: ScriptsNavigator should open scripts with single click not double click. Modify the include declarations for several WinCE-related files so that the wtf types are included using the full path.
Merge - Web Inspector: [Regression] Execution line is not revealed after pretty print. Web Inspector: undo-ing edit that consists of a Tab does not work. We should never modify the range returned by the edit operation manually. And we should clone ranges that get into the model so that subsequent edits don't mutate them. Drive-by: restore selection after undo via selecting all the text that undo operation produced.
Update ChromiumOS bot names in builders. This change is a follow-up of bug which initially disabled for other modules of the set. Unreviewed gardening after r Implement API for calculating the best zoomable area for a tap-to-zoom gesture. It picks the area with the largest intersection with the touch. In most cases this will be all areas fully containing the area, and returns the smallest inner-most of these.
Web Inspector: do not issue attributes modified event if actual values were not changed. When style attribute is invalidated, we re-fetch the attributes values. There is no point in further dispatching attrs modified event if model stays the same.
Added a test to exercise hit testing on an ellipse, and on an ellipse's stroke, to make sure the formulae in this patch are correct. Web Inspector: [Regression] Execution line is not revealed after pretty print. Reading from object fields takes a noticable time when the only other thing you do is just manipulating on big several million elements Uint32Array array cells.
Unreviewed, rolling out r Tentatively introduces a lot of webfont-related test flakiness on Snow Leopard Requested by apavlov on webkit. Web Inspector: ScriptsNavigator should open scripts with single click not double click. Upstreaming feature enablers in cmakeconfig. Current behaviour is argument name is not parsed hence shows empty spaces instead. SkipFunction : Skip functions for specific type. SkipAttribute : Skip functions for specific type.
Distinguishing between the two allowed properly detecting the preferred line endings. TextEditorCommand : WebInspector. TextEditorModel : WebInspector. WebCore::AudioFileReader::handleBuffer : Calculate the audio buffer duration and frames number from the buffer and caps instead of relying on the buffer offets that are not always correctly set depending on the audio file format. Unreviewed, GTK rebaseline after r and r I've added ContextSensitivePropertyFilter and changed RenderStyle::diff to use it when the filter property is changed.
WebCore::RenderLayer::styleChanged : Making sure that the backing store is repainted when filters fallback to hardware. Repaint was not triggered when the filter property was changed. I've added two tests, one for software and one for composited mode.
Both tests are triggering all the possible scenarios of changing the filter property. With this workaround, when the deviceScaleFactor is 1, we have an old-school gradient bezel in text fields whether they are styled or not. This is good and matches shipping Safari. When the deviceScaleFactor is greater than 1, text fields will have newer, AppKit-matching gradients that look much more appropriate at the higher resolutions.
However, if the text field is styled in any way, we'll revert to the old-school bezel, which doesn't look great in HiDPI, but it looks better than the CSS border, which is the only alternative until is resolved. Use the old gradient always unless we are an unstyled text field in HiDPI.
However, some platforms such as Windows lack support for all the capabilities WebKit requires for vertical flow and the text-orientation property to work correctly. Reading OpenType tables directly also gives benefits in consistent behavior among the WebKit platforms. This patch is for any platforms that want to parse OpenType tables directly, but it's currently included only in CGWin and isn't on any code path even on CGWin yet.
Caller's side change for CGWin and support for other platforms will be in separate bugs. This patch is adding blackberry specific members to PlatformMouseEvent. PlatformMouseEvent : BlackBerry specific constructor. Updating CSS property names for wrap-shape-inside and wrap-shape-outside to shape-inside and shape-outside, per the current exclusions spec. Renaming some parsing functions in CSSParser for clarity. No new functionality.
Renaming prefixed wrap-shape-inside and wrap-shape-outside to prefixed shape-inside and shape-outside. Updating the tests to reflect the change. Remove PluginDataGtk. This change is performance neutral on the JS benchmarks we track.
It's mostly to improve page load performance, which currently does at least a couple full GCs per navigation. JSC::Heap::discardAllCompiledCode : Rename recompileAllJSFunctions to discardAllCompiledCode because the function doesn't actually recompile anything and never did ; it simply throws code away for it to be recompiled later if we determine we should do so. Move to the WK1 skipped list which WK2 picks up. We don't need to check whether the image or contentsRect are updated, since assignImageToLayer is a cheap operation after the LayerBackingStore refactor.
Add new chrome. Adds a path for transfering an active wheel fling animation out to the embedder from the compositor and back in to a WebViewImpl via the embedder. This is used when we start a wheel fling animation on the compositor thread but then hit a condition that we can't handle from the compositor, such as registered wheel event listeners or a scrollable area we can't handle.
Skipping a failing test on Lion. Restored change log entries that were accidentally deleted in r Simplify reporting a main resource error to DocumentLoader and FrameLoader. We can always add it back in later as necessary. When a RenderFullScreen object is inserted between a child and parent renderer, make sure the parent renderer deletes its line boxes by calling setNeedsLayoutAndPrefWidthsRecalc.
This forces its InlineBox renderers to be removed from the line boxes and their parents in the correct order, fixing a double-delete crash. The same is true when unwrapping the RenderFullScreen object, and when creating and inserting the full screen placeholder. Now we will ignore any decoding errors. After the change to client based geolocation, the method positionChangedInternal is called only by positionChanged. This patch remove this extra indirection.
Skipping 3 inspector tests on Mac. Updating the code to reflect this. Functionality is covered by existing tests. Skipping plugin mouse events tests failing on Mac platforms. Skipping 5 failing webarchive tests. Skipping crashing workers tests. This is a regression from r I wrongly thought we should call ensureLayer if we create our RenderOverflow.
However the current overflow code removes the before and start overflows like in horizontal writing mode with ltr direction, we never have a top or a left overflow. Because of that we would not get a RenderLayer as expected and the overflow clip rects would be wrong on our RenderLayer children. WebCore::RenderBox::addLayoutOverflow : Moved the ensureLayer call after the check that we do have some overflow but before we remove the overflow in some directions. Have exitStatus detect when the process fail to exit cleanly possibly because of a crash , and return a non-zero exit code in that case.
These tests don't depend on the ahem font and after r , we seem to be hitting a race condition on the Mac bots where we are checking baselines while the font is still being loaded. Speculatively fix by removing the webfont. Build fix for WinCE after r However cleanUpAfterCallback will only execute if the bridge's callback has executed on the worker thread, and this might not be the case if the worker terminates. This ensures that bridge is not deleted while observer is alive. Commit scale factor changes before dirty rect changes, since setting the scale factor can lead to more rects being dirtied when using the tile cache.
Caused selection regression in calculations due to misconstructed IntRectRegion. Requested by mfenton on webkit.
Running Javascriptcore tests through jhbuild for consistency with run-webkit-tests and in order to avoid confusing libraries when facing regressions. We should be able to call to the interpreter after having already checked the character type, without having to re-package the character pointer back up into a string!
Using this technique lets us avoid making changes in the embedder during the transition. This patch adds a --timing option that will display the time each test takes. It also removes the --silent option, since probably no one ever used it, and cleans up the logging option parsing code to be easier to follow.
Updating expected results. The output has an additional blank line. No changes in the actual results. Update code to use AddResult instead of a pair. This struct contains contains 'iterator' and 'isNewEntry' members, that are more readable at callsites than previous 'first' and 'second'. TimelineVerticalOverview : WebInspector. Web Inspector: chromium: DRT --no-timeout option doesn't work.
This was broken by r and the sequence became opposite. Sync up WebKit TraceEvent. The problem was that content document subtree was not unbound upon iframe re-push. Upon owner element refresh content document was not sent to the frontend since backend assumed that front-end has already had the up-to-date version.
The current occlusion was exposed on the occlusion tracker for the transition over to culling 2. It still had one use in unit tests which is moved to a test subclass. Above test subclass already existed in the occlusion tracker tests, so pulled it out to a common file CCOcclusionTrackerTestCommon.
WebCore::SliderThumbElement::defaultEventHandler : A slider can toggle its readonly or disabled state while in the middle of dragging, in those cases we should cancel the drag and perform cleanup. This patch factors out the "post-insertion" logic that deals with notifying parents that their children changed and notifying children that they've been added to the tree. Besides reducing code duplication, this is in preparation for moving this post-insertion notification later in the insertion process.
WebCore::ContainerNode::replaceChild : ditto. WebCore::ContainerNode::appendChild : ditto. The failing tests need a new baseline. Note that we don't need to relayout on stretch because alignChildren will do that for us only auto size needs stretching.
Updated the old multiline tests to have -webkit-flex-line-pack: start, which was the previous default behavior. The correct default behavior is stretch. String: Subscript operator shouldn't force conversion to bit characters. Forward String::operator[] to StringImpl::operator[] instead of indexing into characters.
Web Inspector: SnippetsScriptMapping should process existing snippets on load. SnippetsScriptMapping now loads existing snippets on creation. Otherwise scripts panel shows snippets created during current session only. Drive-by ScriptsNavigator closure compilation fix. SnippetsScriptMapping : WebInspector. Web Inspector: check more likely condition first in HeapSnapshot. Present go to previous panel shortcut "Cmd - Left" is painful to support since we have more and more free flow editing capabilities where Cmd - Left is handled by the editor.
This will change with a followup patch on bug This gets converted to unsigned internally. StylePropertySet :. Build fix for! Fix the accidental r fix. This is needed to show snippets that are loaded before scripts panel creation and are not removed on navigation.
Add Qt5 specific expected files. TimelineOverviewWindow : Explicitly handle single click on overview by creating a minimal window around cursor.
Instead of calling the macro to generate the version number, the version is expressed directly. TimelineOverviewPane : WebInspector. Remove redundant updateViewportArguments call when page is restored from page cache.
Document::updateViewportArguments is called twice, while restoring a page from page cache. First, it is called when the document is set on the mainframe and later, it is called when page cache finished the restoration.
Since viewport arguments don't change between the 2 calls, it's safe to remove the second. When heap snapshot is completely loaded move nodes and containment edges into two separate arrays.
All front-end code was switched to the new representation. Updated heap profiler test after switching heap profiler front-end to the new representation of nodes and edges. WebCore :. Construct the wrapper vector and wrappers themselves on demand. Keep the vectors in sync during mutations. Fieldset disabled attribute does not work. Unskip tests, add new baselines.
Unlike gcc and clang, MSVC pads each consecutive member variables of the same type in bitfields. Fixed the bug by packing all bitfields in InlineBox into InlineBoxBitfields and always using either unsigned or int.
Let focus navigation be compliant with Shadow DOM spec. Re-landing r Fixed an assertion failure on ReifiedTreeTraversal. Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently. Implementation notes: Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable. Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2.
To support this behavior, this patch introduced adjustedTabIndex locally in FocusController so that it does not skip a non-focusable shadow host in current focus scope. Add two helper methods for creating isolated filesystem to the PlatformSupport interface. This is all platform-specific implementation detail and all the changes are in chromium directory. Remove custom bindings form Internals. No new tests. This change will be needed for Bug No new tests because of no behavior changes yet.
This code change doesn't affect non-Chromium ports for now. WebCore::ShadowRoot::create : Remove unnecessary assertion. We should allow multiple UA shadow roots. This function adds another ShadowRoot, and it contains one flexible box container. The container contains existin ShadowRoot content and the decoration element. These are APIs that WebKit uses to call "down" to manipulate the underlying platform rather than "up" to the client to make decisions.
These headers are now just forwarding headers to the new location of these headers. These forwarding headers exist to avoid breaking existing users of the API. They will likely be removed or changed in the future once we've updated all folks using them. Fix Windows build after r This change avoids updating the filters, if we are in the "destroyed" state.
As Bug comment 71, NavigatorBattery. Document can be used instead of ScriptExecutionContext. We shouldn't overwrite cookies of response if there are more than one header of Set-Cookie.
The application of the color profile is not guaranteed for images used as textures in WebGL. Also change shouldBeTrue to shouldBeTrueQuiet in the boilerplate idb layout test preamble to remove a bunch of clutter from the -expected.
For layout, use the rest of the fallback list while webfonts are loading. If the webfont is loading, it will be given an invalid Unicode Range so that font selection mechansim doesn't use the webfont for layout.
Add a test that checks fallback fonts are used for layout while webfonts are loading. The current reserved bits test case only support extension case, Improve test case to cover both no-extension and extension scenarios.
AssociatedURLLoader's internal adapter now overrides didFailRedirectCheck, which cancels the load, causing didFail to notify the client that the load failed.
WebCore::MediaControlRootElementChromium::create : Added an anonymous div container for the mute button and volume slider to be displayed on top of each other. LayoutTests: Added relevant test to support video controls display:none toggling. The patch leaks the DOM when audio elements are used Requested by sundiamonde on webkit. Rely on toll-free bridging and implementation details to make this work without duplicating code.
Note that httpBodyFromStream is confusing - I don't see how it can work when sending serialized requests across process boundary.
We probably only get away with this because we don't attempt to send requests to UI process once they already have streams associated with them. TilingData::numTiles is calculated as the product of two ints and so can potentially overflow, causing numTiles to be incorrect. To avoid calling code accidentally falling into this trap, remove this function and all code that uses tile index from TilingData.
Additionally, TilingData::numTiles has long been a confusing function name in some contexts, so rename to bool hasEmptyBounds. Also, remove TilingData::intersectDrawQuad because there are no clients of that function. Add test for updating a huge layer that would assert prior to this code.
Fix up TilingData tests to use a testing class that provides a safe version of numTiles. Rebaseline this test after the nodes were removed in r FilterOperations::getOutsets calculates the outsets using integers and the values are guranteed to be set to full-pixel values.
By changing the function signature we communicate this fact better and avoid unnecessary type conversions in some cases. Remove dispatchDidLoadMainResource callback, since no port implements it. Reviewed by Brady Eidson. This change fixes the way data is read from the pasteboard for the same pasteboard type. The assertion happened when length type is Undefined in valueForLength function but the assertion for Undefined length type in RenderBox::computeLogicalWidthInRegionUsing which calls the above said function did not get hit.
This patch passes Length structure as const reference to Length calculation functions which avoids the call to the copy-constructor. And it ensures that the Length structure is not getting modified during copy-construction.
More Chromium rebaselines from the expected failures tab in garden-o-matic. They all looked like straightforward text-rendering, form-control rendering or anti-aliasing issues, except for some where the new results were clearly just more correct. Defer waiting for the web process to update the page size until we're actually going to display the layer. This matches what we do in the non-tiled code path. Yarr: if we're not using the output array, don't populate it!
Add a new variant of the match method to RegExp that returns a MatchResult, and modify YarrJIT to be able to compile code that doesn't use an output vector. It derives from RenderFlowThread. This allows RenderFlowThread to be a simple base class that involves maintaining the regions themselves. Reviewed by Julien Chaffraix.
Other platforms should update results accordingly. Remove rounding that is no longer required now that borderBoxRect returns an IntRect. Whether an abort comes back as didWrite, didTruncate, or didFail, handle it appropriately. Before this fix, the Chromium implementation would assert in two cases:. If the user calls abort, then write, then abort before the backend catches up, we'd send both aborts to the backend, even though it hadn't received the write yet.
Chromium's backend asserts if there's an abort with no write in progress. We now record that we've sent an abort and are waiting for the response. Again, this leads to an abort call to the backend with no write in progress, and an assert. We're changing our behavior to match TextEdit and Firefox in this patch.
The behavior is tested by an existing test, which was renamed to deleting-text-rests-typing-style. Rebaselined the tests per behavior changes.
Also renamed If a bot has an overly large amount of failing tests, then storing runs' worth takes a lot of memory and CPU time to process and we end up getting killed by AppEngine; this cases data corruption and confusion down the road when we have to retry the upload of the data and the tests show up as multiple runs. They all looked like straightforward text-rendering or anti-aliasing issues, except for some where the new results were clearly just more correct.
Forward non-zero exit code from subprocesses so that the master can detect any failures and bail out early. Foreign content needs to be hit-tested atomically due to the pseudo stacking context established by FOs. This patch adds support for specifying files, directories, and packages to test-webkitpy along with the already existing support for modules, test classes, and individual test names. When we're in the slow mode and have to update the scroll layer position on the main thread, get it from the scrolling thread so we'll be in sync with the scrolling tree when the main thread is busy.
Missing array of int specialization is added. Code generator now has a check against misspelled non-existing domain names. This change makes that contract explicit and allows the removal of the comment.
In addition, for ConstructorCallbacks, this change slightly reduces refcount churn by passing on the initial ref via RefPtr::release. GenerateConstructorCallback : Use RefPtr::release to avoid refcount churn and remove explicit ref call. GenerateNamedConstructorCallback : ditto. I'm not sure the naming is perfect as it's not clear to me if markParents is used to mean the same thing in these 3 functions , but hopefully this code is more clear.
I welcome further suggested adjustment from layout experts. Instead of manually creating the method in DOM. Also, maintain scroll offsets when returning to a tab. This makes addressing expected failures considerably easier when dealing with below-the-fold tests. Remove the href so that clicking on the accordion item does not modify window. Since r column width in fixed layout tables is set to the width of the cell plus its left padding plus its right padding plus half its left border plus half its right border in the collapsing border model.
The layout of the panel headers in the inspector depended on pre- r behaviour, so ended up misaligned with the content below. To cater for the new method of calculating column width enforce a fixed width for the corner column by removing padding and borders except collapsed borders from adjacent cells and specify the expected width 15px minus the expected width of the collapsed borders 1px.
Web Inspector: Implement snippets renaming in scripts navigator. This was caused by the fix in r Revert that change and fix the original bug by notifying the UI process that the plug-in lost focus when it's destroyed.
This will correctly reset the text input state merely setting the text input state to PluginComplexTextInputDisabled doesn't reset the state correctly. Web Inspector: Add context menu for snippets control. This is a preliminary implementation of snippets control using context menu. We might want to add a more discoverable one before taking snippets out of experiments.
Web Inspector: ScriptsNavigator should save scroll position when switching tabs. This patch makes them used in ScriptsNavigator. ScriptsNavigator : WebInspector. Switch timeline overview to using raw records, thus removing dependency on instance members of TimelinePresentationModel. TimelineModel : WebInspector. HeapGraph : WebInspector. TimelineAggregatedRecord : WebInspector.
TimelinePanel : WebInspector. TimelineCalculator : WebInspector. TimelinePresentationModel : WebInspector. Record : WebInspector. However, it only ever sets the opaque flag for image layers and color layers, never for content layers.
This was no big deal, because contentsOpaque is currently false for all layers except the root layer, which we always drew using the BlackBerry::WebKit::BackingStore anyway. SkippedTest : Add SkippedTest class to store more information about skipped tests. Tests in the skipped list that don't have a list of failing test cases are not run at all. Tests in the skipped list that contain a list of test cases are run with gtester -s to skip the individual test cases.
Web Inspector: nuke HeapGraph. DebuggerPresentationModel : WebInspector. PlatformStrategiesGtk::initialize : Initialize platform strategies. PlatformStrategiesGtk::getPluginInfo : Initialize plugins and populate the given vector with plugins information. PlatformStrategiesGtk::isLinkVisited : Return whether the given hash is a visited link of the page group. Web Inspector: [Regression] TabIndex is not correctly restored after editing.
This fixes incorrect usage of isNaN that returns false for null value. Being not Android specific but generally Linux related, symlink and bind mount see "Creating a bind mount" are out of the scope of this question, as the question is about emulation part mainly. Why the emulation is here?
Emulated filesystem is an abstraction layer on actual filesystem ext4 or f2fs that serves basically two purposes:. Early Android devices were short on internal storage and relied on physically external SD cards that traditionally use FAT family of filesystem to ensure compatibility with most of the PCs refer to Microsoft's dominance on PC world.
When the internal storage grew in size, same filesystem was shifted to internal still called "external" SD card. Execute following commands:. See the difference in permissions of same files and directories. This seems not to be simply possible without emulation on a native Linux filesystem when there are hundreds of apps users to be dealt with simultaneously.
This is the filesystem emulation that lets the same file to be exposed with three different sets of permissions at same time independent of it's original permissions on actual filesystem:. Python Javascript Linux Cheat sheet Contact.
0コメント