Timeline
Jan 7, 2013:
- 11:53 PM Changeset in webkit [139039] by
-
- 2 edits in trunk/Tools
Add chromium.org email address for Steve Block.
Unreviewed.
- Scripts/webkitpy/common/config/committers.py:
- 11:49 PM Changeset in webkit [139038] by
-
- 3 edits2 adds in trunk
REGRESSION(r137406): Text inside an empty optgroup prevents subsequent options from appearing
https://bugs.webkit.org/show_bug.cgi?id=106298
Reviewed by Ryosuke Niwa.
Source/WebCore:
Test: fast/forms/select/select-empty-optgroup.html
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::recalcListItems):
Traverse to the first element within the 'current' only if it exists.
LayoutTests:
- fast/forms/select/select-empty-optgroup-expected.html: Added.
- fast/forms/select/select-empty-optgroup.html: Added.
- 11:46 PM Changeset in webkit [139037] by
-
- 8 edits in trunk/Source
Use toSize() to convert from Int/FloatPoint to Int/FloatSize
https://bugs.webkit.org/show_bug.cgi?id=105992
Patch by Steve Block <steveblock@chromium.org> on 2013-01-07
Reviewed by Kentaro Hara.
Source/WebCore:
Refactoring only, no change in behavior.
- html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::computePath):
- platform/ScrollView.h:
(WebCore::ScrollView::scrollOffset):
- platform/graphics/FloatPoint.h:
(WebCore::toFloatSize):
Add 'inline FloatSize toFloatSize(const FloatPoint&)' to match IntPoint.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
Source/WebKit/chromium:
- src/LinkHighlight.cpp:
(WebKit::LinkHighlight::computeHighlightLayerPathAndPosition):
- src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::minimumScrollOffset):
(WebKit::WebFrameImpl::maximumScrollOffset):
- 11:19 PM Changeset in webkit [139036] by
-
- 10 edits6 adds in trunk
INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of month/day field should respect min/max attributes
https://bugs.webkit.org/show_bug.cgi?id=106212
Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2013-01-07
Reviewed by Kent Tamura.
Source/WebCore:
Make step-up/-down of the month and day fields respect the min/max
attributes of the element.
Note that these fields still accept any keyboard inputs (the element
becomes 'invalid' state when out-of-bounds values entered).
Tests: fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html
fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html
fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html
fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer.html
- css/html.css: Add CSS rules for month and day fields.
- html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditBuilder::visitField):
Compute minimum/maximum values of month/day fields from the min/max
parameters of the element. If minimum, maximum, and current value is
the same, makes the field read-only.
- html/shadow/DateTimeFieldElements.cpp:
(WebCore::DateTimeAMPMFieldElement::DateTimeAMPMFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement): Ditto.
(WebCore::DateTimeDayFieldElement::create): Ditto.
(WebCore::DateTimeDayFieldElement::clampValueForHardLimits): Added.
(WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeMonthFieldElement::create): Ditto.
(WebCore::DateTimeMonthFieldElement::clampValueForHardLimits): Added.
(WebCore::DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeSymbolicMonthFieldElement::create): Ditto.
- html/shadow/DateTimeFieldElements.h:
(DateTimeDayFieldElement): Add mininum/maximum arguments and declare clampValueForHardLimits.
(DateTimeMonthFieldElement): Ditto.
(DateTimeSymbolicMonthFieldElement): Add mininum/maximum arguments.
- html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeSymbolicFieldElement::maximum): Returns m_maximumIndex + 1 as it assumes 1-origin value.
(WebCore::DateTimeSymbolicFieldElement::minimum): Ditto.
(WebCore::DateTimeSymbolicFieldElement::stepDown): Restrict value to m_minimumIndex-m_maximumIndex.
(WebCore::DateTimeSymbolicFieldElement::stepUp): Ditto.
- html/shadow/DateTimeSymbolicFieldElement.h:
(DateTimeSymbolicFieldElement): Add m_minimumIndex and m_maximumIndex.
(WebCore::DateTimeSymbolicFieldElement::isInRange): Added.
LayoutTests:
- fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield-expected.txt:
- fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html: Add tests for month and day fields.
- fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer-expected.txt: Added.
- fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html: Added.
- fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield-expected.txt: Added.
- fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html: Added.
- fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer-expected.txt: Added.
- fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer.html: Added.
- 11:18 PM Changeset in webkit [139035] by
-
- 13 edits in branches/chromium/1364
Merge 138365
Fix typing zero into multiple field input
https://bugs.webkit.org/show_bug.cgi?id=105501
Reviewed by Kent Tamura.
Source/WebCore:
We have a couple of problems when handling zero in a multiple fields
element.
- Typing '02' into a month field will set '12'.
- Typing '0' into 12 hour hour field will set '12' and move to the focus to the next field.
This change adds a type ahead buffer so we can handle these cases
properly. If the value in the type ahead buffer is valid we set it so a
change event will fire.
Added tests to *-multiple-fields-keyboard-events.html.
- html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::didBlur): Clear the type ahead
buffer. handleKeyboardEvent() won't set the type ahead value if it is
not in range, so we set the value here.
(WebCore::DateTimeNumericFieldElement::handleKeyboardEvent):
(WebCore::DateTimeNumericFieldElement::setEmptyValue): Clear type ahead buffer.
(WebCore::DateTimeNumericFieldElement::setValueAsInteger):
(WebCore::DateTimeNumericFieldElement::stepDown): Clear type ahead buffer.
(WebCore::DateTimeNumericFieldElement::stepUp): Clear type ahead buffer.
(WebCore::DateTimeNumericFieldElement::typeAheadValue): Returns integer
value for the type ahead characters.
(WebCore):
(WebCore::DateTimeNumericFieldElement::visibleValue): If we have type
ahead characters, show that.
- html/shadow/DateTimeNumericFieldElement.h:
(DateTimeNumericFieldElement):
LayoutTests:
- fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events-expected.txt:
- fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events.html:
- fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events-expected.txt:
- fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events.html:
- fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events-expected.txt:
- fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events-expected.txt:
- fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html:
- fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events-expected.txt:
- fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events.html:
TBR=keishi@webkit.org
Review URL: https://codereview.chromium.org/11801035
- 11:07 PM Changeset in webkit [139034] by
-
- 4 edits in trunk
[CoordinatedGraphics] compositing/repaint/resize-repaint.html is failing
https://bugs.webkit.org/show_bug.cgi?id=104637
Reviewed by Noam Rosenthal.
Source/WebKit2:
r137526 attempted to fix excessive repainting when compositing layers
change size. However, the fix did not suffice for ports using Coordinated
Graphics because CoordinatedGraphicsLayer::setSize() was calling
setNeedsDisplay() causing a full repaint.
This patch removes the call to setNeedsDisplay() in
CoordinatedGraphicsLayer::setSize() so that we don't unconditionally
repaint CoordinatedGraphics layers when their size changes.
- WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setSize):
LayoutTests:
Unskip compositing/repaint/resize-repaint.html now that Coordinated
Graphics is no longer repainting unconditionally compositing layers
when their size changes.
- platform/efl-wk2/TestExpectations:
- 10:53 PM Changeset in webkit [139033] by
-
- 2 edits in trunk/Source/WebCore
[EFL][WK2][WebGL] The top left side of the screen is shown inside the canvas element
https://bugs.webkit.org/show_bug.cgi?id=105136
Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-01-07
Reviewed by Noam Rosenthal.
Use glXSwapBuffers to force resize of GL surface after X window resize.
Fixes fast/canvas/webgl/webgl-composite-modes.html pixel test on EFL platform.
- platform/graphics/surfaces/glx/X11WindowResources.cpp:
(WebCore::X11OffScreenWindow::reSizeWindow):
- 10:07 PM Changeset in webkit [139032] by
-
- 2 edits in trunk/Source/WebCore
Use explicit constructor to convert from Int/FloatSize to Int/FloatPoint
https://bugs.webkit.org/show_bug.cgi?id=106209
Patch by Steve Block <steveblock@chromium.org> on 2013-01-07
Reviewed by Kentaro Hara.
Refactoring only, no functional change.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
- 10:03 PM Changeset in webkit [139031] by
-
- 5 edits2 adds in trunk
[CoordinatedGraphics] Support invalidation tracking for CoordinatedGraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=106002
Reviewed by Noam Rosenthal.
Source/WebKit2:
Add calls to addRepaintRect() to CoordinatedGraphicsLayer so that
we can track invalidation in the composited layer.
- WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setNeedsDisplay): Pass a FloatRect instead
of an IntRect to setNeedsDisplayInRect() since it is what it expects.
(WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):
LayoutTests:
Unskip several tests that require invalidation tracking for EFL WK2 now that
it is supported by Coordinated Graphics.
- platform/efl-wk2/TestExpectations:
- platform/efl/TestExpectations:
- platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt: Added.
Use same expectation as mac port.
- platform/efl/fast/images/repaint-subrect-grid-expected.txt: Added. We are sometimes
1 pixel off compared to the global expectation likely due to lack for subpixel layout
support.
- 8:58 PM Changeset in webkit [139030] by
-
- 2 edits in trunk/Source/WebCore
[EFL][WebGL] Crash of WebKitTestRunner when running webgl layout tests
https://bugs.webkit.org/show_bug.cgi?id=105936
Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-01-07
Reviewed by Laszlo Gombos.
If canvas window becomes invalid don't create pixmap from it and don't
use it for painting.
Improves stability of existing webgl layout tests.
- platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurfacePrivate::createPixmap):
(WebCore::GraphicsSurfacePrivate::size):
(WebCore::GraphicsSurface::platformGetTextureID):
(WebCore::GraphicsSurface::platformPaintToTextureMapper):
- 8:39 PM Changeset in webkit [139029] by
-
- 4 edits2 adds in trunk
Document::m_activeNode should be always an Element.
https://bugs.webkit.org/show_bug.cgi?id=106193
Reviewed by Ryosuke Niwa.
Source/WebCore:
r137277 tightened an invariant that assumes that active node is
always an element. But Document::updateHoverActiveState() didn't
respect that assumption. This change forces it.
Test: svg/custom/text-use-click-crash.html
- dom/Document.cpp:
(WebCore::Document::removedLastRef):
(WebCore::Document::detach):
(WebCore::Document::setActiveNode):
(WebCore::Document::activeChainNodeDetached):
(WebCore::Document::updateHoverActiveState):
- dom/Document.h:
(WebCore::Document::activeElement): Renamed from m_activeNode for the clarification.
(Document):
LayoutTests:
- svg/custom/text-use-click-crash-expected.txt: Added.
- svg/custom/text-use-click-crash.html: Added.
- 8:24 PM Changeset in webkit [139028] by
-
- 4 edits in trunk/Source/WebKit/chromium
[Chromium] Expose compositedScrollingForFramesEnabled setting in WebKit API
https://bugs.webkit.org/show_bug.cgi?id=106262
Reviewed by James Robinson.
- public/WebSettings.h:
- src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setCompositedScrollingForFramesEnabled):
(WebKit):
- src/WebSettingsImpl.h:
(WebSettingsImpl):
- 7:00 PM Changeset in webkit [139027] by
-
- 4 edits in trunk/Source/WebCore
WebKit should compile on Mac with --shadow-dom
https://bugs.webkit.org/show_bug.cgi?id=105469
Reviewed by Dimitri Glazkov.
No new tests. Just changing build files.
- WebCore.exp.in:
- WebCore.xcodeproj/project.pbxproj:
- dom/Element.idl:
- 6:58 PM Changeset in webkit [139026] by
-
- 7 edits in trunk/Source
Add a flag to control canvas antialiasing.
https://bugs.webkit.org/show_bug.cgi?id=106255
Reviewed by Darin Fisher.
Source/WebCore:
This flag is not exposed through TestRunner or DRT, so no testing is
possible yet.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer):
- page/Settings.in:
Source/WebKit/chromium:
- public/WebSettings.h:
- src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setAntialiased2dCanvasEnabled):
- src/WebSettingsImpl.h:
- 6:41 PM Changeset in webkit [139025] by
-
- 5 edits4 adds in trunk
[CSS Grid Layout] Implement grid items sizing for fixed minmax grid tracks
https://bugs.webkit.org/show_bug.cgi?id=104700
Reviewed by Tony Chang.
Source/WebCore:
This change implements parts of the minmax() track sizing algorithm. The chosen subset enables us
to resolve any sizing function that doesn't size based on the content (min-content, max-content).
Tests: fast/css-grid-layout/minmax-fixed-logical-height-only.html
fast/css-grid-layout/minmax-fixed-logical-width-only.html
- rendering/RenderGrid.cpp:
(WebCore::GridTrack::GridTrack):
Added a new member to hold the maximum track breadth.
(WebCore::RenderGrid::computePreferredLogicalWidths):
(WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
Updated these functions to work on both min and max track breadth. In order to match
the specification, if max track breadth < min track breadth, we ignore the max track breadth.
For computedUsedBreadthOfGridTracks, it also involves calling distributeSpaceToTracks.
(WebCore::RenderGrid::computeUsedBreadthOfLength):
New helper function that compute a single length's size.
(WebCore::sortByGridTrackGrowthPotential):
Ordering function for the sorting the track: it orders the track per increasing potential
growth (defined as the difference between max breadth and the currently used breadth).
(WebCore::RenderGrid::distributeSpaceToTracks):
Added this function that matches the specification's algorithm. Only the relevant bits from
the specification were implemented for now (for example, SubsetOfTracksForGrowthBeyondTrackGrowthConstraint
is always the empty set so it was omitted).
- rendering/RenderGrid.h:
Added the new functions and declared GridTrack as public into the WebCore namespace.
- rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::minTrackBreadth):
(WebCore::GridTrackSize::maxTrackBreadth):
Removed 2 ASSERTs as the layout algorithm doesn't care if the min / max were
set from a single track breadth or through minmax().
LayoutTests:
- fast/css-grid-layout/minmax-fixed-logical-height-only-expected.txt: Added.
- fast/css-grid-layout/minmax-fixed-logical-height-only.html: Added.
- fast/css-grid-layout/minmax-fixed-logical-width-only-expected.txt: Added.
- fast/css-grid-layout/minmax-fixed-logical-width-only.html: Added.
- 5:51 PM Changeset in webkit [139024] by
-
- 7 edits2 adds in trunk
Add a setting to enable composited scrolling for frames
https://bugs.webkit.org/show_bug.cgi?id=104950
Reviewed by James Robinson.
Source/WebCore:
Test: compositing/iframes/iframe-composited-scrolling.html
- page/FrameView.cpp:
(WebCore::FrameView::usesCompositedScrolling): Returns true if compositedScrollingForFramesEnabled and the frame is in forced compositing mode (which is set when forced compositing mode and compositing for scrollable frames are enabled), so that ScrollingCoordinator won't include the region of the frame in the nonFastScrollableRegion.
(WebCore):
- page/FrameView.h:
(FrameView):
- page/Settings.in: Add compositedScrollingForFramesEnabled setting.
- page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated): Changed the comment about which ScrollableAreas are non-fast-scrollable.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidScroll): Let ScrollongCoordinator know when the scrolling changes for a frame with composited scrolling enabled.
LayoutTests:
Test case to ensure iframes are not added into nonFastScrollableRegion when acceleratedCompositingForScrollableFramesEnabled and compositedScrollingForFramesEnabled.
- compositing/iframes/iframe-composited-scrolling-expected.txt: Added.
- compositing/iframes/iframe-composited-scrolling.html: Added.
- 5:45 PM Changeset in webkit [139023] by
-
- 75 edits in trunk/Source/WebKit2
Remove PLATFORM(WIN) #ifdefs
https://bugs.webkit.org/show_bug.cgi?id=106279
Reviewed by Sam Weinig.
- Platform/CoreIPC/BinarySemaphore.cpp:
- Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::waitForSyncReply):
- Platform/CoreIPC/Connection.h:
(Client):
- Platform/Module.cpp:
(WebKit::Module::Module):
- Platform/Module.h:
(Module):
- Platform/PlatformProcessIdentifier.h:
(WebKit):
- Shared/CommandLine.h:
(CommandLine):
- Shared/FontSmoothingLevel.h:
- Shared/LayerTreeContext.h:
(LayerTreeContext):
- Shared/NativeWebKeyboardEvent.h:
(NativeWebKeyboardEvent):
- Shared/NativeWebMouseEvent.h:
(NativeWebMouseEvent):
- Shared/NativeWebWheelEvent.h:
(NativeWebWheelEvent):
- Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::PlatformPopupMenuData):
(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):
- Shared/PlatformPopupMenuData.h:
(PlatformPopupMenuData):
- Shared/Plugins/PluginModuleInfo.h:
(PluginModuleInfo):
(WebKit::PluginModuleInfo::isolatedCopy):
- Shared/ShareableBitmap.h:
(ShareableBitmap):
- Shared/WebCoreArgumentCoders.h:
- Shared/WebEvent.h:
(WebMouseEvent):
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
- Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::encode):
(WebKit::WebMouseEvent::decode):
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
- Shared/WebPreferencesStore.h:
(WebKit):
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
- Shared/WebURLRequest.h:
- Shared/WebURLResponse.h:
- Shared/cg/ShareableBitmapCG.cpp:
(WebKit::ShareableBitmap::makeCGImageCopy):
- UIProcess/API/C/WKAPICast.h:
(WebKit::toFontSmoothingLevel):
(WebKit::toAPI):
- UIProcess/API/C/WKPage.cpp:
- UIProcess/BackingStore.h:
(BackingStore):
- UIProcess/PageClient.h:
(WebKit):
(PageClient):
- UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
- UIProcess/WebContext.h:
(WebContext):
- UIProcess/WebFullScreenManagerProxy.h:
(WebKit):
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::WebInspectorProxy):
- UIProcess/WebInspectorProxy.h:
(WebInspectorProxy):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::performDragControllerAction):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::creationParameters):
(WebKit):
- UIProcess/WebPageProxy.h:
(WebKit):
(WebPageProxy):
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebProcessProxy.h:
(WebProcessProxy):
- WebKit2Prefix.h:
- WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameCopyWebArchiveFilteringSubframes):
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPrivateBrowsingEnabled):
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
- WebProcess/InjectedBundle/InjectedBundle.h:
(WebKit):
(InjectedBundle):
- WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_GetValue):
- WebProcess/Plugins/Netscape/NetscapePlugin.h:
(NetscapePlugin):
- WebProcess/Plugins/PluginController.h:
(PluginController):
- WebProcess/Plugins/PluginView.cpp:
- WebProcess/Plugins/PluginView.h:
(PluginView):
- WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
(WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection):
(WebKit):
- WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
- WebProcess/WebCoreSupport/WebDragClient.cpp:
(WebKit):
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::respondToChangedSelection):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- WebProcess/WebCoreSupport/WebPopupMenu.cpp:
(WebKit::WebPopupMenu::updateFromElement):
- WebProcess/WebKitMain.cpp:
- WebProcess/WebPage/DrawingArea.h:
(WebKit):
(DrawingArea):
- WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::createGraphicsContext):
- WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
- WebProcess/WebPage/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::create):
- WebProcess/WebPage/LayerTreeHost.h:
(WebCore):
(WebKit):
(LayerTreeHost):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit):
- WebProcess/WebPage/WebFrame.h:
(WebFrame):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::installPageOverlay):
(WebKit::WebPage::uninstallPageOverlay):
(WebKit::WebPage::getWebArchiveOfFrame):
(WebKit):
- WebProcess/WebPage/WebPage.h:
(WebPage):
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::ensurePrivateBrowsingSession):
(WebKit::WebProcess::destroyPrivateBrowsingSession):
- WebProcess/WebProcess.h:
(WebProcess):
- WebProcess/WebProcess.messages.in:
- config.h:
- 5:39 PM Changeset in webkit [139022] by
-
- 2 edits3 adds in trunk
Divide gesture scroll delta by scale factor
https://bugs.webkit.org/show_bug.cgi?id=106263
Reviewed by Adam Barth.
Gesture scroll deltas were not being adjusted by the frame's scale
factors, resulting in overly fast main-thread scrolling when zoomed
in.
New test: fast/events/touch/gesture/touch-gesture-scroll-div-scaled.html
- page/EventHandler.cpp:
(WebCore::EventHandler::handleGestureScrollCore):
- 5:23 PM Changeset in webkit [139021] by
-
- 13 edits in trunk
Rationalize closure call heuristics and profiling
https://bugs.webkit.org/show_bug.cgi?id=106270
Source/JavaScriptCore:
Reviewed by Oliver Hunt.
Did a number of things:
- CallLinkInfo now remembers if it was ever a closure call, and CallLinkStatus uses this. Reduces the likelihood that we will inline a closure call as if it was a normal call.
- Made InlineCallFrame print inferred function names, and refactored CodeBlock::inferredName() to better use FunctionExecutable's API.
- Made bytecode dumping print frequent exit sites that led to recompilation.
- Made bytecode dumping for op_call and op_construct print what the CallLinkStatus saw.
- bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::CallLinkInfo):
(CallLinkInfo):
- bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFor):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::inferredName):
(JSC::CodeBlock::dumpBytecodeCommentAndNewLine):
(JSC::CodeBlock::printCallOp):
- bytecode/CodeOrigin.cpp:
(JSC::CodeOrigin::dump):
(JSC::InlineCallFrame::inferredName):
(JSC):
(JSC::InlineCallFrame::dumpBriefFunctionInformation):
(JSC::InlineCallFrame::dump):
- bytecode/CodeOrigin.h:
(InlineCallFrame):
- bytecode/DFGExitProfile.cpp:
(JSC::DFG::ExitProfile::exitSitesFor):
(DFG):
- bytecode/DFGExitProfile.h:
(ExitProfile):
- jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
Source/WTF:
Reviewed by Oliver Hunt.
Add a macro to add a method to a class that returns a dumper. Allows you to have
secondary dump() methods for dumping either more or less information.
- wtf/PrintStream.h:
(WTF):
Tools:
Reviewed by Oliver Hunt.
Add ability to use display-profiler-output via a pipe, and add the ability to dump
all generated code ('display *' or 'd *').
- Scripts/display-profiler-output:
- 5:21 PM Changeset in webkit [139020] by
-
- 14 edits in trunk
HTMLTreeBuilder should not depend on Frame
https://bugs.webkit.org/show_bug.cgi?id=106256
Reviewed by Eric Seidel.
Source/WebCore:
Rather than have the tree builder ask the Frame whether scripting and
plugins are enabled, we now push that information to the tree builder
via HTMLParserOptions, letting us remove the Frame dependency from the
tree builder.
As a consequence of this change, the "script enabled" bit in the parser
is now locked in when the parser starts. This bit doesn't actually
control when script execute, only how the <noscript> element is parsed.
- html/parser/HTMLDocumentParser.cpp:
(WebCore::tokenizerStateForContextElement):
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
- html/parser/HTMLMetaCharsetParser.cpp:
(WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
(WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
- html/parser/HTMLParserOptions.cpp:
(WebCore::HTMLParserOptions::HTMLParserOptions):
- html/parser/HTMLParserOptions.h:
(HTMLParserOptions):
(WebCore::HTMLParserOptions::HTMLParserOptions):
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
(WebCore::HTMLPreloadScanner::processToken):
- html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::HTMLTokenizer::nextToken):
(WebCore::HTMLTokenizer::updateStateFor):
- html/parser/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::create):
(HTMLTokenizer):
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
- html/parser/HTMLTreeBuilder.h:
- html/parser/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
(WebCore::HTMLViewSourceParser::updateTokenizerState):
LayoutTests:
I needed to update this test slightly because now we lock in the
"script enabled" bit for the parser when the parser starts. That means
we'll parse the document in a consistent way even if the "script
enabled" bit gets flipped later.
- fast/parser/noscript-with-javascript-disabled-expected.txt:
- fast/parser/noscript-with-javascript-disabled.html:
- 5:19 PM Changeset in webkit [139019] by
-
- 2 edits2 deletes in trunk/Source/WebKit2
[WK2] Delete more obsolete Keychain code
https://bugs.webkit.org/show_bug.cgi?id=106276
Reviewed by Sam Weinig.
Deleting dead code.
- Shared/mac/KeychainAttribute.cpp: Removed.
- Shared/mac/KeychainAttribute.h: Removed.
- WebKit2.xcodeproj/project.pbxproj:
- 5:17 PM Changeset in webkit [139018] by
-
- 3 edits2 deletes in trunk/Source/WebKit2
[WK2] Merge SecItemShimMethods files into SecItemShim
https://bugs.webkit.org/show_bug.cgi?id=106278
Reviewed by Anders Carlsson.
Now that we have a SecItemShim class, there is no reason to split implementation
into a separate file.
- Shared/mac/SecItemShim.cpp: (WebKit::responseMap): (WebKit::generateSecItemRequestID): (WebKit::sendSecItemRequest): (WebKit::webSecItemCopyMatching): (WebKit::webSecItemAdd): (WebKit::webSecItemUpdate): (WebKit::webSecItemDelete): (WebKit::SecItemShim::secItemResponse): (WebKit::SecItemShim::install):
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/mac/SecItemShimMethods.h: Removed.
- WebProcess/mac/SecItemShimMethods.mm: Removed.
- 5:08 PM Changeset in webkit [139017] by
-
- 2 edits in trunk/Source/WebKit/chromium
Don't use double tap zoom if minimum and maximum page scale is the same
https://bugs.webkit.org/show_bug.cgi?id=106272
Patch by Yusuf Ozuysal <yusufo@google.com> on 2013-01-07
Reviewed by James Robinson.
We should only try to computed relevant scale and scrollOffset and start the animation
if the page is zoomable. This now creates an undesired animation for mobile pages which
are not zoomable.
- src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):
- 5:00 PM Changeset in webkit [139016] by
-
- 8 edits in trunk
Remove more internals.settings that are autogenerated
https://bugs.webkit.org/show_bug.cgi?id=106253
Reviewed by Adam Barth.
Source/WebCore:
Remove 8 methods that are autogenerated by Settings.in.
No new tests, this is a refactor and is convered by existing tests.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup): Remove backup.
(WebCore::InternalSettings::Backup::restoreTo): Remove restore.
- testing/InternalSettings.h:
(Backup): Remove member variables and functions.
(InternalSettings):
- testing/InternalSettings.idl: Remove functions.
LayoutTests:
These tests were manually trying to reset setMediaPlaybackRequiresUserGesture
when the test ended because they weren't using the InternalSettings::Backup to
save/restore the prefs. The autogenerated code will properly reset these prefs
before the next test.
- media/no-autoplay-with-user-gesture-requirement.html:
- media/video-load-require-user-gesture.html:
- media/video-play-require-user-gesture.html:
- 4:59 PM Changeset in webkit [139015] by
-
- 2 edits in trunk/Source/WebCore
Another incremental build fix after r139013.
- mathml/MathMLAllInOne.cpp:
- 4:52 PM Changeset in webkit [139014] by
-
- 2 edits in trunk/Source/WebCore
Incremental build system on Windows port does not necessarily rebuild RenderBox.cpp after r139013.
- rendering/RenderingAllInOne.cpp:
- 4:39 PM Changeset in webkit [139013] by
-
- 5 edits2 adds in trunk
REGRESSION(SUBPIXEL_LAYOUT): el.offsetWidth < el.clientWidth for elements of a certain size
https://bugs.webkit.org/show_bug.cgi?id=106107
Source/WebCore:
Reviewed by Levi Weintraub.
Add overloaded pixelSnappedOffsetWidth|Height methods to
RenderBox that do pixel snapping with the same offset
as clientWidth/height to ensure consistent rounding.
Test: fast/sub-pixel/client-and-offset-width.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::pixelSnappedOffsetWidth):
(WebCore::RenderBox::pixelSnappedOffsetHeight):
Snap using the same offset as the clientWidth/height versions.
- rendering/RenderBox.h:
Remove out of date FIXME and add OVERRIDE keyword.
- rendering/RenderBoxModelObject.h:
Mark pixelSnappedOffsetWidth|Height as virtual.
LayoutTests:
Reviewed by Levi Weintraub.
Add test for clientWidth/offsetWidth rounding.
- fast/sub-pixel/client-and-offset-width-expected.txt: Added.
- fast/sub-pixel/client-and-offset-width.html: Added.
- 4:38 PM Changeset in webkit [139012] by
-
- 6 edits in trunk
Source/JavaScriptCore: Sorted the xcodeproj file.
- JavaScriptCore.xcodeproj/project.pbxproj:
Tools: Sorted more xcodeproj files.
- MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
- 4:38 PM Changeset in webkit [139011] by
-
- 2 edits in trunk/Source/WebKit/chromium
Unreviewed. Rolled DEPS.
- DEPS:
- 4:30 PM Changeset in webkit [139010] by
-
- 9 edits in trunk
Source/WebKit: Sorted the xcodeproj file.
- WebKit.xcodeproj/project.pbxproj:
Source/WebKit2: Sorted the xcodeproj file.
- WebKit2.xcodeproj/project.pbxproj:
Source/WTF: Sorted the xcodeproj file.
- WTF.xcodeproj/project.pbxproj:
Tools: Sorted xcodeprojs files.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- 4:20 PM Changeset in webkit [139009] by
-
- 13 edits6 adds in trunk/Source/WebKit2
[WK2] Make SecItemShim messages work with any process
https://bugs.webkit.org/show_bug.cgi?id=106269
Reviewed by Sam Weinig.
Add SecItemShim and SecItemShimProxy classes to manage message sending, and moved
relevant code from WebProcess(Proxy).
- DerivedSources.make:
- Platform/CoreIPC/MessageID.h:
- UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didFinishLaunching):
- UIProcess/WebProcessProxy.h: (WebProcessProxy):
- UIProcess/WebProcessProxy.messages.in:
- Shared/mac/SecItemShim.cpp: Added. (WebKit::SecItemShim::shared): (WebKit::SecItemShim::SecItemShim): (WebKit::SecItemShim::secItemResponse): (WebKit::SecItemShim::install): (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
- Shared/mac/SecItemShim.h: Added.
- Shared/mac/SecItemShim.messages.in: Added.
- UIProcess/mac/SecItemShimProxy.cpp: Added. (WebKit::SecItemShimProxy::shared): (WebKit::SecItemShimProxy::SecItemShimProxy): (WebKit::handleSecItemRequest): (WebKit::dispatchFunctionOnQueue): (WebKit::SecItemShimProxy::secItemRequest): (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
- UIProcess/mac/SecItemShimProxy.h: Added.
- UIProcess/mac/SecItemShimProxy.messages.in: Added.
- UIProcess/mac/WebProcessProxyMac.mm:
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeConnection):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- WebProcess/mac/SecItemShimMethods.mm: (WebKit::sendSeqItemRequest):
- WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::platformInitializeProcess):
- 4:20 PM Changeset in webkit [139008] by
-
- 14 edits2 adds in trunk/Source/WebCore
Introduce HTMLParserOptions to encapsulate HTML parser options
https://bugs.webkit.org/show_bug.cgi?id=106251
Reviewed by Eric Seidel.
Currently, the HTMLTreeBuilder (and potentially other parts of the
parser) use their Document* to read configuration information from the
Document (such as Settings). This patch introduces the
HTMLParserOptions class to encapsulate that information, making it
easier to move the HTML parser to a background thread (because the
HTMLTreeBuilder won't need to talk to the Document directly).
- CMakeLists.txt:
- GNUmakefile.list.am:
- Target.pri:
- WebCore.gypi:
- WebCore.vcproj/WebCore.vcproj:
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
- html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
- html/parser/HTMLPreloadScanner.h:
(WebCore):
(HTMLPreloadScanner):
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
- html/parser/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::create):
(HTMLTreeBuilder):
- html/parser/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
- 3:59 PM Changeset in webkit [139007] by
-
- 1 edit1 add in trunk/LayoutTests
Add Mac Lion result after r138986.
- platform/mac-lion/platform/mac/fast/text/vertical-no-sideways-expected.txt: Added.
- 3:57 PM Changeset in webkit [139006] by
-
- 2 edits in trunk/Source/WebCore
Minor improvements to HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=105353
Reviewed by Eric Carlson.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canPlayType):
(WebCore::createFileURLForApplicationCacheResource):
(WebCore::stringForNetworkState):
(WebCore::HTMLMediaElement::preload):
(WebCore::HTMLMediaElement::getPluginProxyParams):
Use ASCIILiteral for literal strings becoming WTFStrings.
(WebCore::HTMLMediaElement::setLoop):
By going through setAttribute, parseAttribute would already take care of
updating the disable sleep, so the call here is not needed.
- 3:57 PM Changeset in webkit [139005] by
-
- 4 edits in trunk/Source/WebCore
String improvements in geolocation and notifications modules
https://bugs.webkit.org/show_bug.cgi?id=105352
Reviewed by Sam Weinig.
- Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::GeoNotifier::timerFired):
(WebCore::Geolocation::startRequest):
(WebCore::Geolocation::requestUsesCachedPosition):
(WebCore::Geolocation::makeCachedPositionCallbacks):
(WebCore::Geolocation::setIsAllowed):
(WebCore::Geolocation::cancelRequests):
(WebCore::Geolocation::handlePendingPermissionNotifiers):
- Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::positionChanged):
- Modules/notifications/WorkerContextNotifications.cpp:
Use ASCIILiteral for constant strings becoming WTFStrings.
(WebCore::WorkerContextNotifications::from):
Use AtomicString::ConstructFromLiteral for the static local.
- 3:49 PM Changeset in webkit [139004] by
-
- 10 edits in trunk/Source
Unreviewed, it should be possible to build JSC on ARM.
Source/JavaScriptCore:
- API/JSBase.h:
- jit/JITStubs.cpp:
(JSC::performPlatformSpecificJITAssertions):
(JSC):
- jit/JITStubs.h:
(JSC):
- jit/JITThunks.cpp:
(JSC::JITThunks::JITThunks):
- jit/JITThunks.h:
(JITThunks):
- offlineasm/armv7.rb:
- runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
Source/WTF:
- wtf/FastMalloc.cpp:
(WTF::TCMalloc_PageHeap::IncrementalScavenge):
- 3:35 PM Changeset in webkit [139003] by
-
- 1 edit76 deletes in trunk/Source/WebKit2
Remove Windows files from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=106264
Reviewed by Sam Weinig.
- Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
- Platform/CoreIPC/win/ConnectionWin.cpp: Removed.
- Platform/win/ModuleWin.cpp: Removed.
- Platform/win/SharedMemoryWin.cpp: Removed.
- Platform/win/WorkQueueWin.cpp: Removed.
- Shared/API/c/win/WKBaseWin.h: Removed.
- Shared/API/c/win/WKCertificateInfoWin.cpp: Removed.
- Shared/API/c/win/WKCertificateInfoWin.h: Removed.
- Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Removed.
- Shared/cg/win/ShareableBitmapCGWin.cpp: Removed.
- Shared/win/CoalescedWindowGeometriesUpdater.cpp: Removed.
- Shared/win/CoalescedWindowGeometriesUpdater.h: Removed.
- Shared/win/CommandLineWin.cpp: Removed.
- Shared/win/LayerTreeContextWin.cpp: Removed.
- Shared/win/NativeWebKeyboardEventWin.cpp: Removed.
- Shared/win/NativeWebMouseEventWin.cpp: Removed.
- Shared/win/NativeWebWheelEventWin.cpp: Removed.
- Shared/win/PlatformCertificateInfo.cpp: Removed.
- Shared/win/PlatformCertificateInfo.h: Removed.
- Shared/win/ShareableBitmapWin.cpp: Removed.
- Shared/win/WebCoreArgumentCodersWin.cpp: Removed.
- Shared/win/WebEventFactory.cpp: Removed.
- Shared/win/WebEventFactory.h: Removed.
- Shared/win/WebKitBundle.cpp: Removed.
- Shared/win/WebKitBundle.h: Removed.
- Shared/win/WebURLRequestWin.cpp: Removed.
- Shared/win/WebURLResponseWin.cpp: Removed.
- Shared/win/WindowGeometry.cpp: Removed.
- Shared/win/WindowGeometry.h: Removed.
- UIProcess/API/C/win/WKAPICastWin.h: Removed.
- UIProcess/API/C/win/WKContextPrivateWin.h: Removed.
- UIProcess/API/C/win/WKContextWin.cpp: Removed.
- UIProcess/API/C/win/WKView.cpp: Removed.
- UIProcess/API/C/win/WKView.h: Removed.
- UIProcess/API/C/win/WKViewPrivate.cpp: Removed.
- UIProcess/API/C/win/WKViewPrivate.h: Removed.
- UIProcess/Launcher/win/ProcessLauncherWin.cpp: Removed.
- UIProcess/Plugins/win/PluginInfoStoreWin.cpp: Removed.
- UIProcess/win/BackingStoreWin.cpp: Removed.
- UIProcess/win/TextCheckerWin.cpp: Removed.
- UIProcess/win/WebContextMenuProxyWin.cpp: Removed.
- UIProcess/win/WebContextMenuProxyWin.h: Removed.
- UIProcess/win/WebContextWin.cpp: Removed.
- UIProcess/win/WebFullScreenManagerProxyWin.cpp: Removed.
- UIProcess/win/WebInspectorProxyWin.cpp: Removed.
- UIProcess/win/WebPageProxyWin.cpp: Removed.
- UIProcess/win/WebPopupMenuProxyWin.cpp: Removed.
- UIProcess/win/WebPopupMenuProxyWin.h: Removed.
- UIProcess/win/WebProcessProxyWin.cpp: Removed.
- UIProcess/win/WebUndoClient.cpp: Removed.
- UIProcess/win/WebUndoClient.h: Removed.
- UIProcess/win/WebView.cpp: Removed.
- UIProcess/win/WebView.h: Removed.
- WebProcess/Downloads/cf/win/DownloadCFWin.cpp: Removed.
- WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp: Removed.
- WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Removed.
- WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Removed.
- WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: Removed.
- WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: Removed.
- WebProcess/WebCoreSupport/win/WebDragClientWin.cpp: Removed.
- WebProcess/WebCoreSupport/win/WebDragSource.cpp: Removed.
- WebProcess/WebCoreSupport/win/WebDragSource.h: Removed.
- WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: Removed.
- WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Removed.
- WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Removed.
- WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Removed.
- WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: Removed.
- WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Removed.
- WebProcess/WebPage/ca/win/WKCACFViewWindow.cpp: Removed.
- WebProcess/WebPage/ca/win/WKCACFViewWindow.h: Removed.
- WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Removed.
- WebProcess/WebPage/win/LayerTreeHostWin.cpp: Removed.
- WebProcess/WebPage/win/WebInspectorWin.cpp: Removed.
- WebProcess/WebPage/win/WebPageWin.cpp: Removed.
- WebProcess/win/WebProcessMainWin.cpp: Removed.
- WebProcess/win/WebProcessWin.cpp: Removed.
- 3:32 PM Changeset in webkit [139002] by
-
- 3 edits2 adds in trunk
AX: the text of render counters are not exposed to Accessibility
https://bugs.webkit.org/show_bug.cgi?id=103794
Reviewed by Ryosuke Niwa.
Source/WebCore:
Support RenderText objects that don't have nodes (like RenderCounter).
Test: accessibility/render-counter-text.html
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):
LayoutTests:
- accessibility/render-counter-text-expected.txt: Added.
- accessibility/render-counter-text.html: Added.
- 3:29 PM Changeset in webkit [139001] by
-
- 2 edits in trunk/Source/WebKit/qt
[qt] Fix ENABLE_IFRAME_SEAMLESS=0 builds.
https://bugs.webkit.org/show_bug.cgi?id=106252
Reviewed by Eric Seidel.
Wrap the call to setSeamlessIFramesEnabled in an ifdef in order
to ensure that it's only called when IFRAME_SEAMLESS is enabled.
- WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::setSeamlessIFramesEnabled):
- 3:26 PM Changeset in webkit [139000] by
-
- 7 edits1 add in trunk
[mac] WebKit1 clients can’t tell when a frame has been removed from the hierarchy
https://bugs.webkit.org/show_bug.cgi?id=106261
Reviewed by Simon Fraser.
Source/WebKit/mac:
Test: TestWebKitAPI/Tests/mac/WebViewDidRemoveFrameFromHierarchy.mm.
Added -[WebFrameLoadDelegate webView:didRemoveFrameFromHierarchy:].
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::detachedFromParent2): Added a call to the new frame load delegate
method.
- WebView/WebDelegateImplementationCaching.h:
(WebFrameLoadDelegateImplementationCache): Added the new method to the cache.
- WebView/WebFrameLoadDelegatePrivate.h: Declared the new delegate method.
- WebView/WebView.mm:
(-[WebView _cacheFrameLoadDelegateImplementations]): Added the new method to the cache.
Tools:
Added a test for -[WebFrameLoadDelegate webView:didRemoveFrameFromHierarchy:].
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/mac/WebViewDidRemoveFrameFromHierarchy.mm: Added.
(-[DidRemoveFrameFromHierarchyFrameLoadDelegate webView:didFinishLoadForFrame:]):
(-[DidRemoveFrameFromHierarchyFrameLoadDelegate webView:didRemoveFrameFromHierarchy:]):
(TestWebKitAPI):
(TestWebKitAPI::TEST):
- 3:23 PM Changeset in webkit [138999] by
-
- 5 edits in tags/Safari-537.24.2/Source/WebCore
Merged r138997.
- 3:18 PM Changeset in webkit [138998] by
-
- 2 edits1 copy1 delete in branches/safari-536.28-branch/LayoutTests
Merged r125813.
- 3:17 PM Changeset in webkit [138997] by
-
- 5 edits in trunk/Source/WebCore
Tiled-layer TileCaches shouldn't unparent offscreen tiles
https://bugs.webkit.org/show_bug.cgi?id=106258
<rdar://problem/12969116>
Reviewed by Simon Fraser.
Add a setting on TiledBacking (implemented on TileCache) that controls whether or not
the TileCache should unparent offscreen tiles. We can't use this behavior for tiled-layer TileCaches
currently because m_isInWindow is not updated for tiled-layer TileCaches, and because we haven't
decided exactly what their behavior should be. So, revert to the old behavior for them.
- platform/graphics/TiledBacking.h:
- platform/graphics/ca/mac/TileCache.h:
(TileCache): Add setUnparentsOffscreenTiles/unparentsOffscreenTiles.
- platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::TileCache): m_unparentsOffscreenTiles defaults to false.
(WebCore::TileCache::revalidateTiles):
Return to the old behavior of always adding new layers to the layer tree regardless of m_isInWindow if m_unparentsOffscreenTiles is false.
Return to the old behavior of never unparenting tiles regardless of m_isInWindow if m_unparentsOffscreenTiles is false.
(WebCore::TileCache::ensureTilesForRect): Return to the old behavior of always ensuring tiles regardless of m_isInWindow if m_unparentsOffscreen$
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking): Tell primary TileCaches that it's OK to unparent offscreen tiles.
- 3:04 PM Changeset in webkit [138996] by
-
- 3 edits in trunk/LayoutTests
A couple more rebaselines for http://trac.webkit.org/changeset/138838.
- platform/mac/fast/table/038-vertical-expected.txt:
- platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:
- 2:59 PM Changeset in webkit [138995] by
-
- 2 edits in trunk/Tools
Add the Apple MountainLion bots to garden-o-matic.
Eventually, we really should move away from hardcoding
the list of bots.
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
- 2:56 PM Changeset in webkit [138994] by
-
- 3 edits2 adds in trunk
Fixing memory read after free in CanvasRenderingContext2D::accessFont
https://bugs.webkit.org/show_bug.cgi?id=106244
Reviewed by Abhishek Arya.
Source/WebCore:
Using a temporary String object to hold ref count on string that is
passed by reference in CanvasRenderingContext2D::accessFont.
Test: fast/canvas/canvas-measureText.html
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::accessFont):
LayoutTests:
New test case to verify stability of 2D canvas method measureText.
Test case was causing a DumpRenderTree crash on builds with
AddressSantitizer instrumentation.
- fast/canvas/canvas-measureText-expected.txt: Added.
- fast/canvas/canvas-measureText.html: Added.
- 2:52 PM Changeset in webkit [138993] by
-
- 7 edits in trunk/Tools
[chromium] move web audio related methods to testrunner library
https://bugs.webkit.org/show_bug.cgi?id=106211
Reviewed by Adam Barth.
- DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):
- DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
- DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebKit):
(WebTestRunner::WebTestRunner::shouldDumpAsAudio):
(WebTestRunner::WebTestRunner::audioData):
- DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::shouldDumpAsAudio):
(WebTestRunner):
(WebTestRunner::TestRunner::audioData):
(WebTestRunner::TestRunner::setAudioData):
- DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
- DumpRenderTree/chromium/TestShell.cpp:
(TestShell::dump):
- 2:24 PM Changeset in webkit [138992] by
-
- 2 edits in trunk/Source/WebCore
DOMEvents.h should include DOMProgressEvent.h
https://bugs.webkit.org/show_bug.cgi?id=106250
Reviewed by Sam Weinig.
DOMProgressEvent.h is already installed as a public header, so it should also be included by DOMEvents.h.
- bindings/objc/DOMEvents.h:
- 2:12 PM Changeset in webkit [138991] by
-
- 13 edits in trunk
Add window.internals.nonFastScrollableRects for testing scrollable areas in fast/slow paths
https://bugs.webkit.org/show_bug.cgi?id=105546
Reviewed by James Robinson.
.:
Export the new symbol.
- Source/autotools/symbols.filter:
Source/WebCore:
No new tests. Added test API for new tests of other bugs.
- WebCore.exp.in:
- page/Page.cpp:
(WebCore::Page::nonFastScrollableRects):
(WebCore):
- page/Page.h:
(WebCore):
(Page):
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Change to public to allow Page::nonFastScrollableRects to access.
- page/scrolling/ScrollingCoordinator.h:
(ScrollingCoordinator):
- testing/Internals.cpp:
(WebCore::Internals::nonFastScrollableRects):
(WebCore):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit2:
Export the new symbol.
- win/WebKit2.def.in:
- 2:10 PM Changeset in webkit [138990] by
-
- 2 edits in trunk/Source/WebCore
Document::initSecurityContext() gives parent security context to iframes with invalid URLs.
https://bugs.webkit.org/show_bug.cgi?id=104960
Reviewed by Adam Barth.
Change covers the case of an invalid non-empty URL. We know nothing
about that kind of URL and choose not to inherit origins.
- dom/Document.cpp:
(WebCore::shouldInheritSecurityOriginFromOwner):
- 2:09 PM Changeset in webkit [138989] by
-
- 2 edits in trunk/Source/WebCore
AX: Regression: Contextual menu not following with VO cursor in HTML content when item is scrolled
https://bugs.webkit.org/show_bug.cgi?id=70075
Reviewed by Anders Carlsson.
On WK2 only, when accessibility opens a contextual menu, it does not honor the scroll offset.
On WK1, the attachment views handle this conversion when it's needed, but on WK2 it needs to be done manually
(similar to how the accessibility position is calculated).
No test. Cannot test the location of context menu popups on WK2 yet.
- accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
- 2:07 PM Changeset in webkit [138988] by
-
- 3 edits2 adds in trunk
Heap-buffer-overflow in WebCore::RenderBlock::clone.
https://bugs.webkit.org/show_bug.cgi?id=101984
Reviewed by Julien Chaffraix.
Source/WebCore:
Add a global in RenderBlock to prevent recursion inside splitFlow.
While inside splitFlow (multi-column handling), we move many children
using fullRemoveInsert=true, causing RenderBlock::addChild to be called
and recursing in splitFlow. This messes the tree splitting happening in
RenderBlock::splitBlocks and can cause bad casts.
Test: fast/multicol/recursive-split-flow-crash.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
LayoutTests:
- fast/multicol/recursive-split-flow-crash-expected.txt: Added.
- fast/multicol/recursive-split-flow-crash.html: Added.
- 2:05 PM Changeset in webkit [138987] by
-
- 9 edits in trunk/Source
[chromium] Fix PlatformContextSkia::setDrawingToImageBuffer abuse
https://bugs.webkit.org/show_bug.cgi?id=104956
Reviewed by James Robinson.
Replaced PlatformContextSkia::SetDrawingToImageBuffer with GraphicsContext::setShouldSmoothFonts.
Source/WebCore:
No new tests needed. No change in functionality.
- platform/graphics/chromium/CompositorHUDFontAtlas.cpp:
(WebCore::CompositorHUDFontAtlas::generateFontAtlas):
- platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
(WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
- platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::ImageBuffer):
- platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::couldUseLCDRenderedText):
(WebCore):
Source/WebKit/chromium:
- src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::paintContents):
(WebKit):
(WebKit::NonCompositedContentHost::setShowDebugBorders):
- src/PageWidgetDelegate.cpp:
(WebKit::PageWidgetDelegate::paint):
- src/WebFontImpl.cpp:
(WebKit::WebFontImpl::drawText):
- 2:03 PM Changeset in webkit [138986] by
-
- 4 edits2 adds in trunk
Some characters are not rotated properly in vertical text
https://bugs.webkit.org/show_bug.cgi?id=105663
<rdar://problem/12738911>
Source/WebCore:
Reviewed by Dan Bernstein.
Test: platform/mac/fast/text/vertical-no-sideways.html
- platform/graphics/Font.cpp:
(WebCore::Font::isCJKIdeographOrSymbol): Added several characters to the list.
- platform/graphics/FontFastPath.cpp:
(WebCore::shouldIgnoreRotation): Added
(WebCore::Font::glyphDataAndPageForNonCJKCharacterWithGlyphOrientation): Added logic to avoid
rotation for all the characters listed in shouldIgnoreRotation.
LayoutTests:
Reviewed by Dan Bernstein.
- platform/mac/fast/text/vertical-no-sideways.html: Added.
- platform/mac/platform/mac/fast/text/vertical-no-sideways-expected.txt: Added.
- 2:02 PM Changeset in webkit [138985] by
-
- 3 edits3 adds1 delete in trunk/LayoutTests
Unreviewed gardening. Updating test expectations following r138717.
- platform/chromium-linux/platform/chromium/fast/events/touch: Removed.
- platform/chromium-linux/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Removed.
- platform/chromium-mac/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt:
- platform/chromium-win-xp/platform/chromium/fast/events: Added.
- platform/chromium-win-xp/platform/chromium/fast/events/touch: Added.
- platform/chromium-win-xp/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Added.
- platform/chromium/TestExpectations:
- 1:47 PM Changeset in webkit [138984] by
-
- 2 edits in trunk/LayoutTests
[Chromium] fast/speech/scripted/navigate-away.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=106249
- platform/chromium/TestExpectations: Marked as flaky.
- 1:45 PM Changeset in webkit [138983] by
-
- 35 edits in trunk
Make the IFRAME_SEAMLESS flag runtime-enabled.
https://bugs.webkit.org/show_bug.cgi?id=106213
Reviewed by Ojan Vafai.
Source/WebCore:
Seamless IFrames live behind the IFRAME_SEAMLESS compile-time flag, this
patch adds another layer to that in order to enable runtime decisions
about when it should be active. This will allow ports (Chromium, for
instance) to toggle the feature on/off for particular builds without
recompiling from scratch.
- WebCore.exp.in:
- bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
- bindings/generic/RuntimeEnabledFeatures.h:
(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::seamlessIFramesEnabled):
(WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled):
Add seamless IFrames to the set of runtime controlled features.
- dom/Document.cpp:
(WebCore::Document::shouldDisplaySeamlesslyWithParent):
If seamless IFrames aren't runtime enabled, always return false from
Document::shouldDisplaySeamlesslyWithParent. As this method already
acts as the single gate that controls the rest of the system, it's
the only place we need to make the runtime check.
Source/WebKit/chromium:
- public/WebRuntimeFeatures.h:
(WebRuntimeFeatures):
- src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableSeamlessIFrames):
(WebKit):
(WebKit::WebRuntimeFeatures::areSeamlessIFramesEnabled):
Expose the new runtime feature to the Chromium port.
Source/WebKit/efl:
- WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::setSeamlessIFramesEnabled):
- WebCoreSupport/DumpRenderTreeSupportEfl.h:
- ewk/ewk_view.cpp:
(_ewk_view_priv_new):
Add a toggle for seamless IFrames to EFL's DRTSuport.
Source/WebKit/gtk:
- WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):
Add a toggle for seamless IFrames to GTK's DRTSuport.
Source/WebKit/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(-[WebPreferences seamlessIFramesEnabled]):
(-[WebPreferences setSeamlessIFramesEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Add a seamless IFrame preference to WebPreferences, and use it to
toggle the runtime state of the feature as appropriate.
Source/WebKit/qt:
- WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::setSeamlessIFramesEnabled):
- WebCoreSupport/DumpRenderTreeSupportQt.h:
Add a toggle for seamless IFrames to QT's DRTSuport.
Source/WebKit2:
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetSeamlessIFramesEnabled):
- WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setSeamlessIFramesEnabled):
(WebKit):
- WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
Add a toggle for seamless IFrames to InjectedBundle, and set it to
true when beginning testing.
Tools:
- DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
- DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::resetDefaultsToConsistentValues):
- DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues):
- DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::WebPage::resetSettings):
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
Ensure that seamless IFrames are enabled for layout tests in each of
the ports that support seamless IFrames.
- 1:34 PM Changeset in webkit [138982] by
-
- 4 edits in trunk/Source/WebKit2
[WK2] Remove more obsolete shim code
https://bugs.webkit.org/show_bug.cgi?id=106248
Reviewed by Anders Carlsson.
Removing KeychainItemShimCallbacks, and SecItemRequestData::CopyContent, which was
only needed for that obsolete version of shim.
We now use WebProcessSecItemShimCallbacks.
- Shared/mac/SecItemRequestData.h:
- UIProcess/mac/WebProcessProxyMac.mm: (WebKit::handleSecItemRequest):
- WebProcess/mac/WebProcessShim.h:
- 1:26 PM Changeset in webkit [138981] by
-
- 9 edits1 copy1 add in trunk/Source/WebKit2
Merge child process main functions as much as possible
https://bugs.webkit.org/show_bug.cgi?id=106192
Reviewed by Anders Carlsson.
To reduce copied code, this merges the Mac main functions for the WebProcess,
NetworkProcess, PluginProcess, and SharedWorkerProcess. Since slight variations
are needed, it adds a delegate class for hooks into the main function that each
process can override if necessary.
- NetworkProcess/mac/NetworkProcessMainMac.mm:
(WebKit::NetworkProcessMain):
Remove almost everything with a call to ChildProcessMain with the default delegate.
- PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializeProcess):
Move defaults registration here from PluginProcessMainMac.
- PluginProcess/mac/PluginProcessMainMac.mm:
(PluginProcessMainDelegate):
Add a delegate for the new shared main function that does does PluginProcess
specific work.
(WebKit::PluginProcessMainDelegate::doPreInitializationWork):
Move DYLD_INSERT_LIBRARIES removal and createPluginMIMETypesPreferences special mode
to this pre-initialization hook.
(WebKit::PluginProcessMainDelegate::doPostRunWork):
Move private temporary and cache directories clean up to this post run hook.
(WebKit::PluginProcessMain):
Call the ChildProcessMain shared main function with the PluginProcess as the process
to initialize and PluginProcessMainDelegate as the main delegate.
- Shared/mac/ChildProcessMain.h: Added.
(ChildProcessMainDelegate):
ChildProcessMainDelegate is a helper class that process can subclass to hook into
the main function.
(WebKit::ChildProcessMain):
Add a single version of the "main" function that uses the ChildProcessMainDelegate to
allow processes to hook into it.
- Shared/mac/ChildProcessMain.mm:
(WebKit::ChildProcessMainDelegate::~ChildProcessMainDelegate):
(WebKit::ChildProcessMainDelegate::installSignalHandlers):
(WebKit::ChildProcessMainDelegate::doPreInitializationWork):
(WebKit::ChildProcessMainDelegate::getConnectionIdentifier):
(WebKit::ChildProcessMainDelegate::getClientIdentifier):
(WebKit::ChildProcessMainDelegate::getClientProcessName):
(WebKit::ChildProcessMainDelegate::doPostRunWork):
Add default implementations of the delegate hooks, most processes should be able to
use the defaults.
- SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
Remove almost everything with a call to ChildProcessMain with the default delegate.
- WebKit2.xcodeproj/project.pbxproj:
Add new files.
- WebProcess/mac/WebProcessMainMac.mm:
(WebProcessMainDelegate):
Add a delegate for the new shared main function that does does WebProcess
specific work.
(WebKit::WebProcessMainDelegate::doPreInitializationWork):
Move DYLD_INSERT_LIBRARIES removal to this this pre-initialization hook.
(WebKit::WebProcessMainDelegate::getConnectionIdentifier):
A custom getConnectionIdentifier is necessary for the WebProcess to keep support for having the WebProcess
be able to launch the UIProcess (for debugging purposes).
(WebKit::WebProcessMainDelegate::getClientIdentifier):
For the same reasons as about, a custom getClientIdentifier is needed.
(WebKit::WebProcessMain):
Call the ChildProcessMain shared main function with the WebProcess as the process
to initialize and WebProcessMainDelegate as the main delegate.
- 1:21 PM Changeset in webkit [138980] by
-
- 6 edits in trunk/Tools
[chromium] move dumpAsText and friends to the TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=106222
Reviewed by Adam Barth.
This moves dumpAsText, dumpChildFramesAsText, and dumpChildFrameScrollPositions to the TestRunner library.
- DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):
- DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
- DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::shouldDumpAsText):
(WebTestRunner::WebTestRunner::setShouldDumpAsText):
(WebTestRunner::WebTestRunner::shouldGeneratePixelResults):
(WebTestRunner::WebTestRunner::setShouldGeneratePixelResults):
(WebTestRunner::WebTestRunner::shouldDumpChildFrameScrollPositions):
(WebTestRunner::WebTestRunner::shouldDumpChildFramesAsText):
- DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::shouldDumpAsText):
(WebTestRunner):
(WebTestRunner::TestRunner::setShouldDumpAsText):
(WebTestRunner::TestRunner::shouldGeneratePixelResults):
(WebTestRunner::TestRunner::setShouldGeneratePixelResults):
(WebTestRunner::TestRunner::shouldDumpChildFrameScrollPositions):
(WebTestRunner::TestRunner::shouldDumpChildFramesAsText):
(WebTestRunner::TestRunner::dumpAsText):
(WebTestRunner::TestRunner::dumpChildFrameScrollPositions):
(WebTestRunner::TestRunner::dumpChildFramesAsText):
- DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
- 12:58 PM Changeset in webkit [138979] by
-
- 2 edits in trunk/Source/WebKit/blackberry
[BlackBerry] Touch Events are falling through fullscreen video
https://bugs.webkit.org/show_bug.cgi?id=106112
Patch by Genevieve Mak <gmak@rim.com> on 2013-01-07
Reviewed by Rob Buis.
Reviewed Internally by Jakob Petsovits.
PR #274326
Do not do viewport centering calculations if in fullscreen video.
The offset should be zero.
- Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- 12:53 PM Changeset in webkit [138978] by
-
- 2 edits in trunk/Source/WebCore
LayoutUnit(unsigned long long value) compile failure
https://bugs.webkit.org/show_bug.cgi?id=106239
Cast the result of ('unsigned long long' * 'int') to an int before storing in m_value
to avoid compile failure on some platforms.
Reviewed by Ryosuke Niwa.
- platform/LayoutUnit.h:
(WebCore::LayoutUnit::LayoutUnit): Cast to int after multiplication.
- 12:47 PM Changeset in webkit [138977] by
-
- 3 edits in trunk/Source/WebCore
[BlackBerry] Handle the new AuthRetry result code in NetworkJob::notifyAuthReceived
https://bugs.webkit.org/show_bug.cgi?id=106233
Patch by Joe Mason <jmason@rim.com> on 2013-01-07
Reviewed by Rob Buis.
Internal PR: 270683
FilterStream::notifyAuthReceived has a new result code, AuthRetry. When it's received we
need to handle it by resending the request with the same credentials.
Reviewed internally by Leo Yang.
- platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::notifyAuthReceived):
- platform/network/blackberry/NetworkJob.h:
(NetworkJob):
- 12:33 PM Changeset in webkit [138976] by
-
- 2 edits in trunk/Source/WebCore
Clear pending container size requests as early as possible
https://bugs.webkit.org/show_bug.cgi?id=106162
Reviewed by Eric Seidel.
http://trac.webkit.org/changeset/137981 contained a bug where pending container size
requests were only cleared for images that use container sizes. Bitmap images do not use
container sizes so these requests were not being cleared. This patch does the trivial
refactoring so that container size requests are cleared as early as possible.
No new tests as this is just a refactoring of some messy code added in r137981.
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::createImage):
- 12:23 PM Changeset in webkit [138975] by
-
- 1 edit1 move in trunk/LayoutTests
[Chromium] Rebaseline webaudio/realtimeanalyser-fft-sizing.html.
- platform/chromium-win/webaudio/realtimeanalyser-fft-sizing-expected.txt: Renamed from LayoutTests/platform/chromium-win-xp/webaudio/realtimeanalyser-fft-sizing-expected.txt.
- 11:52 AM Changeset in webkit [138974] by
-
- 3 edits2 deletes in trunk
Unreviewed, rolling out r137632.
http://trac.webkit.org/changeset/137632
https://bugs.webkit.org/show_bug.cgi?id=106237
Caused major security regressions on ClusterFuzz (Requested by
inferno-sec on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-07
Source/WebCore:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::startDelayUpdateScrollInfo):
(WebCore::RenderBlock::finishDelayUpdateScrollInfo):
LayoutTests:
- mathml/mo-stretch-crash-expected.txt: Removed.
- mathml/mo-stretch-crash.html: Removed.
- 11:52 AM Changeset in webkit [138973] by
-
- 12 edits in trunk/Source/WebKit2
Make WKViews work when layer-backed
https://bugs.webkit.org/show_bug.cgi?id=106166
Reviewed by Sam Weinig.
When not in TileCache mode, WebKit2 views had redraw problems on scrolling,
if layer-backed.
The issue is that the DrawingAreaProxy code tries to optimize scrolling by
calling -scrollRect:by: on the WKView (an NSView) to copy bits, rather than
repainting the entire view. However, -scrollRect:by: does nothing for NSViews
that have layers.
Fix by plumbing through a canScrollView() function which PageClientImpl()
implements, returning true if the view does not have layer backing.
When canScrollView() is false, DrawingAreaProxyImpl::incorporateUpdate()
dirties the entire view.
- UIProcess/API/gtk/PageClientImpl.h:
(WebKit::PageClientImpl::canScrollView):
- UIProcess/API/mac/PageClientImpl.h:
(PageClientImpl):
- UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::canScrollView):
- UIProcess/API/qt/raw/qrawwebview_p_p.h:
(QRawWebViewPrivate::canScrollView):
- UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::incorporateUpdate):
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::canScrollView):
- UIProcess/WebPageProxy.h:
- UIProcess/efl/PageClientBase.h:
(WebKit::PageClientBase::canScrollView):
- UIProcess/qt/QtPageClient.h:
(WebKit::QtPageClient::canScrollView):
- UIProcess/win/WebView.h:
(WebKit::WebView::canScrollView):
- 11:44 AM Changeset in webkit [138972] by
-
- 2 edits in trunk/LayoutTests
[Chromium] Rebaseline svg/W3C-SVG-1.1/paths-data-03-f.svg.
- platform/chromium-win/svg/W3C-SVG-1.1/paths-data-03-f-expected.png: Updated expectation.
- 11:41 AM Changeset in webkit [138971] by
-
- 2 edits in trunk/LayoutTests
[Chromium] Tests in svg/dynamic-updates are flaky..
https://bugs.webkit.org/show_bug.cgi?id=106238
- platform/chromium/TestExpectations: Marked as flaky.
- 11:40 AM Changeset in webkit [138970] by
-
- 12 edits1 add in trunk/Source
MIPS LLInt implementation.
https://bugs.webkit.org/show_bug.cgi?id=99706
Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-01-07
Reviewed by Filip Pizlo.
LLInt implementation for MIPS.
Source/JavaScriptCore:
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::jump):
- dfg/DFGOperations.cpp:
(JSC):
- jit/JITStubs.cpp:
(JSC):
- jit/JITStubs.h:
(JITStackFrame):
- llint/LLIntOfflineAsmConfig.h:
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- offlineasm/backends.rb:
- offlineasm/instructions.rb:
- offlineasm/mips.rb: Added.
Source/WTF:
- wtf/Platform.h:
- 11:36 AM Changeset in webkit [138969] by
-
- 1 edit2 deletes in branches/chromium/1312
Revert 137759
Review URL: https://codereview.chromium.org/11784026
- 11:31 AM Changeset in webkit [138968] by
-
- 2 edits in trunk/Source/WebKit/blackberry
[BlackBerry] Roll out r136173 as there are alternative approaches from the client sides now
https://bugs.webkit.org/show_bug.cgi?id=106236
Unreviewed, rolling out r136173.
This becomes unnecessary now as there are alternative approaches to
solve the issue from the client sides.
- WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::createWindow):
- 11:24 AM Changeset in webkit [138967] by
-
- 20 edits2 copies1 move8 adds in trunk/LayoutTests
Rebaselines after http://trac.webkit.org/changeset/138838.
- platform/chromium-mac-lion/fast/ruby/base-shorter-than-text-expected.txt:
- platform/chromium-mac-lion/fast/table/038-vertical-expected.png:
- platform/chromium-mac-lion/fast/table/border-collapsing/004-vertical-expected.png:
- platform/chromium-mac-snowleopard/fast/table/038-vertical-expected.png:
- platform/chromium-mac-snowleopard/fast/table/border-collapsing/004-vertical-expected.png:
- platform/chromium-mac/fast/ruby/base-shorter-than-text-expected.txt:
- platform/chromium-mac/fast/table/038-vertical-expected.png:
- platform/chromium-mac/fast/table/038-vertical-expected.txt: Copied from LayoutTests/platform/chromium/fast/table/038-vertical-expected.txt.
- platform/chromium-mac/fast/table/border-collapsing/004-vertical-expected.png:
- platform/chromium-mac/fast/table/border-collapsing/004-vertical-expected.txt:
- platform/chromium-win-xp/fast/ruby/base-shorter-than-text-expected.txt:
- platform/chromium-win-xp/fast/table/038-vertical-expected.png: Added.
- platform/chromium-win-xp/fast/table/border-collapsing/004-vertical-expected.png: Added.
- platform/chromium/TestExpectations:
- platform/gtk/TestExpectations:
- platform/gtk/fast/ruby/base-shorter-than-text-expected.txt:
- platform/gtk/fast/table/038-vertical-expected.txt:
- platform/gtk/fast/table/border-collapsing/004-vertical-expected.txt:
- platform/mac-lion/fast/table/038-vertical-expected.txt: Copied from LayoutTests/platform/chromium/fast/table/038-vertical-expected.txt.
- platform/mac-lion/fast/table/border-collapsing/004-vertical-expected.txt: Added.
- platform/mac-wk2/fast/table/038-vertical-expected.txt: Renamed from LayoutTests/platform/chromium/fast/table/038-vertical-expected.txt.
- platform/mac-wk2/fast/table/border-collapsing/004-vertical-expected.txt: Added.
- platform/mac/TestExpectations:
- platform/qt/TestExpectations:
- platform/qt/fast/table/038-vertical-expected.txt:
- platform/qt/fast/table/border-collapsing/004-vertical-expected.txt:
- 11:21 AM Changeset in webkit [138966] by
-
- 3 edits2 adds in trunk
[Track] Rendering crash
https://bugs.webkit.org/show_bug.cgi?id=106199
Reviewed by Eric Carlson.
Source/WebCore:
The browser is crashing if a text track is added through JavaScript,
due to the fact that the containing block is not marked as inline at
the time RenderTextTrackCue::layout() is called. The fix consists
of ensuring that the pseudo id is set, even if the track isn't
yet visible.
Test: media/track/track-cue-inline-assertion-crash.html
- html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::updateDisplayTree): The pseudo-id should
be set when the display tree is generated.
(WebCore::TextTrackCue::getDisplayTree): Added extra check to not
do unneccessary logic if the track will never be displayed.
LayoutTests:
- media/track/track-cue-inline-assertion-crash-expected.txt: Added.
- media/track/track-cue-inline-assertion-crash.html: Added.
- 11:04 AM Changeset in webkit [138965] by
-
- 2 edits in trunk/Tools
Build fix attempt after r138810.
Apparently python 2.6 is really bad at floating point computation.
- Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
(MainTest.test_run_memory_test):
- 11:03 AM Changeset in webkit [138964] by
-
- 8 edits in trunk
[JSC] Copy non-index properties of arrays in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=105575
Patch by Michael Pruett <michael@68k.org> on 2013-01-07
Reviewed by Oliver Hunt.
The structured cloning algorithm requires copying all properties of
array objects, including non-index properties.
Source/WebCore:
Tests: fast/storage/serialized-script-value.html
storage/indexeddb/structured-clone.html
- bindings/js/SerializedScriptValue.cpp:
(WebCore):
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::putProperty):
(WebCore::CloneDeserializer::deserialize):
LayoutTests:
- fast/storage/resources/serialized-script-value.js:
- fast/storage/serialized-script-value-expected.txt:
- fast/storage/serialized-script-value.html:
- platform/chromium/fast/storage/serialized-script-value-expected.txt:
- platform/chromium/fast/storage/serialized-script-value.html:
- 10:53 AM Changeset in webkit [138963] by
-
- 10 edits in trunk/Source
IndexedDB: Stub out async IDBDatabaseBackendInterface::createObjectStore
https://bugs.webkit.org/show_bug.cgi?id=106148
Reviewed by Adam Barth.
Source/WebCore:
These methods are becoming async in multiprocess ports, so stub out
versions that have no return values.
- Modules/indexeddb/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
- Modules/indexeddb/IDBDatabaseBackendInterface.h:
(IDBDatabaseBackendInterface):
Source/WebKit/chromium:
Stub out WebKit API for async createObjectStore.
- public/WebIDBDatabase.h:
(WebIDBDatabase):
- src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::createObjectStore):
(WebKit):
(WebKit::IDBDatabaseBackendProxy::deleteObjectStore):
- src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
- src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::createObjectStore):
(WebKit):
(WebKit::WebIDBDatabaseImpl::deleteObjectStore):
- src/WebIDBDatabaseImpl.h:
(WebIDBDatabaseImpl):
- 10:40 AM Changeset in webkit [138962] by
-
- 15 edits in trunk/Source/WebCore
ResourceHandle::willLoadFromCache is evil
https://bugs.webkit.org/show_bug.cgi?id=106147
Reviewed by Brady Eidson.
For back/forward navigations to a page that's a result of form submission, we may
never silently re-submit the form. So, we show a warning dialog when about to re-submit,
but try to load from cache if possible.
This patch changes the logic so that we always try to fetch from cache, without
any preflighting. If cache load fails, we restart the load as a known re-submit.
No behavior change expected, so no tests.
- html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::handleClick): Added a FIXME.
- loader/DocumentLoader.cpp: (WebCore::DocumentLoader::startLoadingMainResource): Amended a FIXME with some information about why this call may still be needed.
- loader/FrameLoader.h:
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadURLIntoChildFrame): Pass an explicit argument for unchanged caching behavior. (WebCore::FrameLoader::reloadWithOverrideEncoding): Added a FIXME. This function can silently re-submit a form. (WebCore::FrameLoader::addExtraFieldsToMainResourceRequest): Added a FIXME about an incorrect use of current load type. (WebCore::FrameLoader::addExtraFieldsToRequest): Make sure that a correct caching policy is used for subresources even if main resource was loaded from cache. We didn't need that before because initial request had wrong extra fields due to a use of m_loadType when it was first called. Removed code to change caching policy for b/f navigations. This function does not have enough context to decide what the policy should be. (WebCore::FrameLoader::loadDifferentDocumentItem): Added an argument telling the function whether it should attempt loading from cache. It should do that on first attempt to navigate to a form submission result, but not if that failed. Pass a correct loadType - m_loadType is one for _previous_ load. Removed a special case for https - we've long stopped prohibiting caching of https resources, and using a resource that's already cached should definitely be allowed. (WebCore::FrameLoader::loadItem): Pass an explicit argument for unchanged caching behavior. (WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad): Added.
- loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::notifyFinished): Removed a check for m_resource being null, because we were immediately dereferencing it anyway. Call retryAfterFailedCacheOnlyMainResourceLoad() to let FrameLoader restart the navigation.
- platform/network/ResourceHandle.h:
- platform/network/blackberry/ResourceHandleBlackBerry.cpp:
- platform/network/cf/ResourceHandleCFNet.cpp:
- platform/network/chromium/ResourceHandle.cpp:
- platform/network/curl/ResourceHandleCurl.cpp:
- platform/network/mac/ResourceHandleMac.mm:
- platform/network/qt/ResourceHandleQt.cpp:
- platform/network/soup/ResourceHandleSoup.cpp:
- platform/network/win/ResourceHandleWin.cpp: Removed willLoadFromCache() - the new logic is cross-platform.
- 10:36 AM Changeset in webkit [138961] by
-
- 2 edits1 add13 deletes in trunk/LayoutTests
[CSS Regions] LayoutTests/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html has repainting issues
https://bugs.webkit.org/show_bug.cgi?id=97208
Reviewed by Tony Chang.
Following the fix for https://bugs.webkit.org/show_bug.cgi?id=105893, i converted this to a ref test.
Used a defined monospace font for similar results on all platforms.
- fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.html: Added.
- fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
- fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html:
- platform/chromium-linux/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
- platform/chromium-mac-lion/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
- platform/chromium-mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
- platform/chromium-win/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
- platform/chromium-win/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
- platform/chromium/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
- platform/efl/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
- platform/gtk/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
- platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
- platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
- platform/qt/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
- platform/qt/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
- 10:34 AM Changeset in webkit [138960] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Disable deprecation warnings for GStaticRecMutex
https://bugs.webkit.org/show_bug.cgi?id=105918
Patch by Alberto Garcia <agarcia@igalia.com> on 2013-01-07
Reviewed by Philippe Normand.
GStaticRecMutex is deprecated since glib 2.32, but we can't remove
it because it's needed by GStreamer 0.10. The solution is to
disable the deprecation warnings for that code alone.
- platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
- 10:33 AM Changeset in webkit [138959] by
-
- 2 edits in trunk/LayoutTests
[Chromium] Marked WebAudio tests that are failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=106232
- platform/chromium/TestExpectations: Marked.
- 10:32 AM Changeset in webkit [138958] by
-
- 2 edits in trunk/Source/WebCore
Refactor client removal in CachedResource::switchClientsToRevalidatedResource
https://bugs.webkit.org/show_bug.cgi?id=106206
Previously switchClientsToRevalidatedResource() failed to call didRemoveClient() for each
client and instead simply cleared m_clients. This patch removes an incorrect comment and
refactors the code so that removeClient() and didRemoveClient() are properly called.
Reviewed by Nate Chapin.
No new tests as there are no observable changes from this refactoring.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::switchClientsToRevalidatedResource):
- 10:31 AM Changeset in webkit [138957] by
-
- 2 edits1 move in trunk/Source/JavaScriptCore
testapi is failing with a block-related error in the Objc API
https://bugs.webkit.org/show_bug.cgi?id=106055
Reviewed by Geoffrey Garen.
Casting a block to a bool will always return true, which isn't the behavior that is intended here.
Instead we need to call the block, but C semantics don't allow this, so we need to change
testapi.m to be Objective-C++ and therefore testapi.mm.
- API/tests/testapi.m: Removed.
- API/tests/testapi.mm: Copied from Source/JavaScriptCore/API/tests/testapi.m.
(blockSignatureContainsClass):
- JavaScriptCore.xcodeproj/project.pbxproj:
- 10:28 AM Changeset in webkit [138956] by
-
- 2 edits in trunk/Source/WebKit/blackberry
[BlackBerry] Never avoid blitting when one-shot drawing sync is involved.
https://bugs.webkit.org/show_bug.cgi?id=106225
RIM PR 274948
Reviewed by George Staikos.
Based on a patch by Chris Guan.
didRenderContent() has a mechanism to avoid double blits;
when scrolling or zooming is enabled then we don't issue
blitContents() as the client would (continually) do that
already.
However, since r138024, didRenderContents() also deals
with one-shot drawing synchronization and commits.
When these are required, we can't just skip out or the
backingstore and overlaying composited layers are likely
to get out of sync. The condition also doesn't make much
sense for direct rendering as no blit calls are issued
at all when it is enabled.
Fix the issue by limiting the impact of the scroll/zoom
early return to only regular blit operations.
- Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
- 10:28 AM Changeset in webkit [138955] by
-
- 3 edits in trunk/Tools
Extract a class to represent a test result to simplify PerfTest.parse_output and PageLoadPerfTest._run_with_driver
https://bugs.webkit.org/show_bug.cgi?id=106172
Reviewed by Tony Chang.
Extracted PerfTestMetric, which represents a test result and knows how to compute statistics and convert itself
to a dictionary. A metric is a type of measurement each test makes such as "Time", "Malloc", and "JSHeap".
A single test (e.g. html5-full-render.html) may have multiple metrics, each of which is reported as a separate
test on perf-o-matic and perf. test's results page.
Also, use python's compute_statistics instead of reading statistics off of DriverOutput to simplify the code.
- Scripts/webkitpy/performance_tests/perftest.py:
(PerfTestMetric): Added.
(PerfTestMetric.init): Added.
(PerfTestMetric.metric): Added.
(PerfTestMetric.has_values): Added.
(PerfTestMetric.legacy_chromium_bot_compatible_test_name): Added. Following the legacy convention, "Malloc" and
"JSHeap" will use "test_name:Malloc" whereas "Time" uses "test_name" itself. We should eventually move these
conversions to be done on the client side (perf-o-matic and results page).
(PerfTestMetric.append): Added.
(PerfTestMetric.to_dict): Added. Computes the statistics and generates the dictionary object that represents
a result for this metric.
(PerfTestMetric.metric_to_unit): Added. Each metric maps to exactly one unit (it's not one-to-one).
(PerfTestMetric.compute_statistics): Moved from PerfTest.
(PerfTest._create_driver): Extracted from PerfTest.run.
(PerfTest.run): Given an array of PerfTestMetric, generate the results dictionary. Also print out results
as needed.
(PerfTest._run_with_driver):
(PerfTest): Removed _result_classes and _result_class_regex. "result class" is the old name for "metric".
(PerfTest.parse_output): Dramatically simplified. We now just return an array of PerfTestMetric's. Also ignore
all keys except "values". We rely on PerfTestMetric to compute the statistics for us.
(ChromiumStylePerfTest.run): Added and merged _run_with_driver. Since chromium style perf tests are so different
from other perf tests, there isn't much point in sharing the code here.
(PageLoadingPerfTest._run_with_driver): Simplified. Just create an array of PerfTestMetric's without computing
statistics for the measured values.
- Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPerfTestMetric): Added.
(TestPerfTestMetric.test_init_set_missing_unit): Added.
(TestPerfTestMetric.test_legacy_chromium_bot_compatible_test_name): Added.
(TestPerfTestMetric.test_has_values): Added.
(TestPerfTestMetric.test_append): Added.
(TestPerfTestMetric.test_compute_statistics.compute_statistics):
(TestPerfTestMetric.test_compute_statistics): Added a trivial test case.
(TestPerfTest._assert_results_are_correct): Updated as needed.
(TestPageLoadingPerfTest.test_run): Ditto. Notice that we no longer log anything in _run_with_driver. It's done
in PerfTest.run now after generating the results dictionary.
(TestPageLoadingPerfTest.test_run_with_memory_output): Ditto.
- 10:27 AM Changeset in webkit [138954] by
-
- 2 edits in trunk/LayoutTests
Mark fast/block/float/max-width-clear-float-with-overflow-hidden.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=47975
- platform/chromium/TestExpectations: Marked.
- 10:18 AM Changeset in webkit [138953] by
-
- 2 edits in trunk/LayoutTests
[Chromium] Update bug numbers and organize bug lines.
- platform/chromium/TestExpectations: Organizzazzed.
- 9:25 AM Changeset in webkit [138952] by
-
- 4 edits in trunk
Support size_t multiplication and division operators on LayoutUnit
https://bugs.webkit.org/show_bug.cgi?id=83848
Reviewed by Emil A Eklund.
Source/WebCore:
Per Darin's suggestion, adding a version of the operator for most unsigned types (excluding
only unsigned char). This should automatically cover size_t as it should be one of these.
Test: TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp
- platform/LayoutUnit.h:
(WebCore::LayoutUnit::LayoutUnit):
(WebCore::operator*):
(WebCore::operator/):
Added the operators and (possibly saturating) constructors for unsigned short, unsigned long,
unsigned long long.
Tools:
- TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:
Added some simple tests for the new operators using size_t.
- 9:15 AM Changeset in webkit [138951] by
-
- 3 edits in trunk/Tools
[Qt] run-webkit-tests cleanup for parallel NRWT
https://bugs.webkit.org/show_bug.cgi?id=106220
Reviewed by Dirk Pranke.
- Scripts/run-webkit-tests:
(useNewRunWebKitTests):
- Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort):
(QtPort.default_child_processes):
- 9:02 AM Changeset in webkit [138950] by
-
- 2 edits in trunk/Source/WebKit/chromium
Add comment to WebKit skia gyp
Unreviewed additon of a comment.
- skia_webkit.gyp: Some changes should not yet be committed. Commented to that effect.
- 8:54 AM Changeset in webkit [138949] by
-
- 2 edits in trunk/Source/WebKit/chromium
Add Skia build flags to WebKit skia gyp
Unreviewed change to enable easy layout test rebaselining.
- skia_webkit.gyp: Added SK_IGNORE_QUAD_STROKE_FIX and SK_IGNORE_TREAT_AS_SPRITE
- 8:40 AM Changeset in webkit [138948] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r138944.
http://trac.webkit.org/changeset/138944
https://bugs.webkit.org/show_bug.cgi?id=106223
It made 28 tests crash (Requested by Ossy on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-07
- plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo):
(WebCore::PluginPackage::load):
- 8:32 AM Changeset in webkit [138947] by
-
- 3 edits in trunk/Source/WebCore
[WinCairo] Build fixes after r138413
https://bugs.webkit.org/show_bug.cgi?id=106087
Patch by peavo@outlook.com <peavo@outlook.com> on 2013-01-07
Reviewed by Alexey Proskuryakov.
- WebCore.vcproj/WebCore.vcproj: Added NetworkStorageSessionStub.cpp,
and removed NetworkStorageSessionCFNet.cpp for WinCairo build.
- platform/win/TemporaryLinkStubs.cpp: Include fix.
- 7:51 AM Changeset in webkit [138946] by
-
- 2 edits in trunk/Source/WebKit/qt
[Qt] Apply correct patch for the scrolling issue from bug 105014
https://bugs.webkit.org/show_bug.cgi?id=106219
Correct the if condition when overwriting the layout direction option
with the values from the facade options to only overwrite if the facade
direction is not equal to LayoutDirectionAuto.
Reviewed by Allan Sandfeld Jensen.
- WidgetSupport/QStyleFacadeImp.cpp:
(WebKit::initGenericStyleOption):
- 7:45 AM Changeset in webkit [138945] by
-
- 2 edits in trunk/Tools
Create a GStreamerAudio watchlist and add myself to it.
Unreviewed.
- Scripts/webkitpy/common/config/watchlist:
- 7:40 AM Changeset in webkit [138944] by
-
- 2 edits in trunk/Source/WebCore
[Qt] Major performance improvement in Qt's PluginDatabase implementation
https://bugs.webkit.org/show_bug.cgi?id=106140
Patch by David Faure <faure@kde.org> on 2013-01-07
Reviewed by Simon Hausmann.
No new tests, only a performance improvement.
- plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo): Don't do a full-fledged load(), load the module directly.
(WebCore::PluginPackage::load): Use existing module if fetchInfo created it.
- 7:33 AM Changeset in webkit [138943] by
-
- 13 edits in tags/Safari-537.24.2/Source
Merged r138858.
- 7:25 AM Changeset in webkit [138942] by
-
- 4 edits in tags/Safari-537.24.2/Source
Versioning.
- 7:23 AM Changeset in webkit [138941] by
-
- 1 copy in tags/Safari-537.24.2
New Tag.
- 7:21 AM Changeset in webkit [138940] by
-
- 3 edits2 copies in branches/chromium/1364
Merge 137964
Regression causing DOM objects to have unstable NPObject* references with v8 bindings
https://bugs.webkit.org/show_bug.cgi?id=104921
Source/WebCore:
Patch by Matthew Dempsky <mdempsky@google.com> on 2012-12-17
Reviewed by Kentaro Hara.
Fix regression introduced by changeset 135804 resulting in
unstable NPObject* references for v8 objects. In the iter !=
v8NPObjectMap->end() code path, objectVector was left unassigned
if the for loop terminated without returning.
Also, V8Object::GetIdentityHash() is documented as not being guaranteed
as unique. As such, don't ASSERT() that two objects with the same hash
must therefor be the same object.
Tests: plugins/npruntime/embed-property-iframe-equality.html
- bindings/v8/NPV8Object.cpp:
(WebCore::npCreateV8ScriptObject): Fix.
LayoutTests:
Patch by Mathew Dempsky <mdempsky@google.com> on 2012-12-17
Reviewed by Kentaro Hara.
Add variant of embed-property-equality test to verify that the
test still passes when the object being tested for equality
has already been remembered by a plugin from a different
JavaScript context.
- plugins/npruntime/embed-property-iframe-equality.html: Added.
- plugins/npruntime/embed-property-iframe-equality-expected.txt: Added.
TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11791021
- 7:13 AM Changeset in webkit [138939] by
-
- 3 edits in trunk/LayoutTests
Unreviewed. Unskip tests fixed in http://trac.webkit.org/changeset/138937.
- 7:13 AM Changeset in webkit [138938] by
-
- 1 edit in branches/chromium/1312/Source/WebKit/chromium/features.gypi
[chromium] Unreviewed. Toggling ENABLE_IFRAME_SEAMLESS off for M24.
BUG=168555
- 6:47 AM Changeset in webkit [138937] by
-
- 5 edits in trunk/LayoutTests
[GTK][EFL][Qt] New tests fast/regions/region-rule-nested-region-rule.html, fast/regions/region-styling-mediaquery.html are failing
https://bugs.webkit.org/show_bug.cgi?id=106168
Reviewed by Csaba Osztrogonác.
Specify a margin-top: 0 both for the h1 element that is flowed into region and the h1 element in the ref test to ensure
the h1 element is displayed at the same position in the region and in the containing article element.
Also, cleaned up the tests a little.
- fast/regions/region-rule-nested-region-rule-expected.html:
- fast/regions/region-rule-nested-region-rule.html:
- fast/regions/region-styling-mediaquery-expected.html:
- fast/regions/region-styling-mediaquery.html:
- 6:31 AM Changeset in webkit [138936] by
-
- 3 edits in trunk/Source/WebCore
Optimizing RGBA16, RGB16, ARGB16, BGRA16 unpacking functions with NEON intrinsics
https://bugs.webkit.org/show_bug.cgi?id=103614
Reviewed by Zoltan Herczeg.
Optimizing RGBA16, RGB16, ARGB16, BGRA16 unpacking functions in GraphicsContext3D
with ARM NEON intrinsics. The optimized functions are 2-3x faster than the origin.
- platform/graphics/GraphicsContext3D.cpp:
(WebCore):
- platform/graphics/cpu/arm/GraphicsContext3DNEON.h:
(WebCore::SIMD::unpackOneRowOfRGBA16LittleToRGBA8):
(SIMD):
(WebCore::SIMD::unpackOneRowOfRGB16LittleToRGBA8):
(WebCore::SIMD::unpackOneRowOfARGB16LittleToRGBA8):
(WebCore::SIMD::unpackOneRowOfBGRA16LittleToRGBA8):
- 5:26 AM Changeset in webkit [138935] by
-
- 4 edits in trunk
Regression(r138786): Causes webaudio tests to crash
https://bugs.webkit.org/show_bug.cgi?id=106182
Reviewed by Philippe Normand.
Source/WebCore:
Partially revert r138786 since it causes crashes in webaudio
tests. The WebProcess would actually become unresponsive due
to source element never going to PLAYING state.
Only the changes to webKitWebAudioSrcChangeState() were reverted.
No new tests, already covered by existing tests.
- platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcChangeState):
LayoutTests:
Unskip several webaudio tests for EFL WK2 now that the
regression was fixed.
- platform/efl-wk2/TestExpectations:
- 3:26 AM Changeset in webkit [138934] by
-
- 3 edits in trunk/LayoutTests
[Qt] Gardening.
r138820: Skipped a test because track feature is not functional yet.
r138838: Added new baseline to fast/writing-mode/table-percent-width-quirk-expected.txt.
Reviewed by Csaba Osztrogonác.
- platform/qt/TestExpectations:
- platform/qt/fast/writing-mode/table-percent-width-quirk-expected.txt:
- 2:09 AM Changeset in webkit [138933] by
-
- 6 edits2 adds in trunk/Source/WebKit/qt
[Qt] Horizontal scrollbars events are offseted making them difficult to use
https://bugs.webkit.org/show_bug.cgi?id=105014
Reviewed by Allan Sandfeld Jensen.
Patch co-authored by Simon Hausmann.
Only copy the layout direction from the facade options if the
current option is Qt::LayoutDirectionAuto in order to prevent
misinterpretations as different layout direction when hit testing.
Tests added to tst_qwebview and tst_qgraphicswebview to verify
that the view actually is scrolled in the right direction.
- WidgetSupport/QStyleFacadeImp.cpp:
(WebKit::initGenericStyleOption):
- tests/qgraphicswebview/resources/scrolltest_page.html: Added.
- tests/qgraphicswebview/tst_qgraphicswebview.cpp:
(tst_QGraphicsWebView):
(tst_QGraphicsWebView::horizontalScrollbarTest):
- tests/qgraphicswebview/tst_qgraphicswebview.qrc:
- tests/qwebview/resources/scrolltest_page.html: Added.
- tests/qwebview/tst_qwebview.cpp:
(tst_QWebView):
(tst_QWebView::horizontalScrollbarTest):
- tests/qwebview/tst_qwebview.qrc:
- 2:01 AM Changeset in webkit [138932] by
-
- 2 edits9 adds in trunk/LayoutTests
Unskip now passing ruby tests.
Unreviewed gardening.
Verified to match rendering in other ports.
- platform/qt/TestExpectations:
- platform/qt/fast/ruby/ruby-beforeafter-expected.txt: Added.
- platform/qt/fast/ruby/ruby-empty-rt-expected.txt: Added.
- platform/qt/fast/ruby/ruby-length-expected.txt: Added.
- platform/qt/fast/ruby/ruby-run-break-expected.txt: Added.
- platform/qt/fast/ruby/ruby-runs-expected.txt: Added.
- platform/qt/fast/ruby/ruby-runs-spans-expected.txt: Added.
- platform/qt/fast/ruby/ruby-simple-expected.txt: Added.
- platform/qt/fast/ruby/ruby-simple-rp-expected.txt: Added.
- platform/qt/fast/ruby/ruby-trailing-expected.txt: Added.
- 1:18 AM Changeset in webkit [138931] by
-
- 2 edits in trunk/LayoutTests
Unreviewed EFL gardening.
Mark 2 fast/regions ref tests as failing for EFL
port. Those tests were introduced in r138854.
- platform/efl/TestExpectations:
- 1:13 AM Changeset in webkit [138930] by
-
- 2 edits in trunk/LayoutTests
Unreviewed EFL gardening.
Mark several webaudio tests as crashing on WK2 EFL
due to a regression in r138786.
- platform/efl-wk2/TestExpectations:
- 1:07 AM Changeset in webkit [138929] by
-
- 2 edits in trunk/Source/WebCore
Cannot compile with ENABLE_SHADOW_DOM=0 and ENABLE_STYLE_SCOPED=1
https://bugs.webkit.org/show_bug.cgi?id=106207
Reviewed by Hajime Morita.
Guard StyleScopeResolver::addHostRule with SHADOW_DOM flag.
No tests, as no change in behavior.
- css/StyleScopeResolver.cpp:
(WebCore):
- 12:12 AM Changeset in webkit [138928] by
-
- 3 edits in trunk/Source/WebCore
Missing amendments to r138927. Amend Changelog to remove item about Timer.h, which was not changed.
- rendering/RenderSnapshottedPlugIn.cpp: Rename stopAndRestartDelayTimer() to resetDelayTimer().
(WebCore::RenderSnapshottedPlugIn::updateSnapshot):
(WebCore::RenderSnapshottedPlugIn::handleEvent):
(WebCore::RenderSnapshottedPlugIn::resetDelayTimer):
- rendering/RenderSnapshottedPlugIn.h:
Jan 6, 2013:
- 11:28 PM Changeset in webkit [138927] by
-
- 4 edits in trunk/Source/WebCore
Show label automatically for plug-ins of significant size
https://bugs.webkit.org/show_bug.cgi?id=106146
<rdar://problem/12783010>
Reviewed by Simon Fraser.
For significantly sized plug-ins, trigger a timer that displays the label automatically
without requiring the user to mouse over the element first. The trickiness of the logic
here is that there are two delays involved-- one for whether the user mouses over (shorter),
and one for when the label is shown automatically (longer). Mousing over a plug-in that is
marked to show it automatically should have the timer delay switched. And if the label
showed automatically, mousing in and out of the element should not change that label's
state.
- html/HTMLPlugInImageElement.cpp:
(WebCore): Add constants that determine whether the plug-in is of a significant size.
(WebCore::shouldPlugInShowLabelAutomatically): Based on the size of the frame view and the
clipped plug-in size, determine whether the label should show automatically. If the plug-in is
not contained within the bounds of the frame view, or is not at least as large as the threshold
size, then do not show the label automatically.
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): After we've determined that
the plug-in should not auto-start, make a check to see if the label should show automatically.
Also, update some of the logging.
(WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Update the logging.
- platform/Timer.h:
(WebCore::DeferrableOneShotTimer::setDelay): Added to allow changing the delay of the timer. It
does not change any currently set timer, but should change the delay for the next one.
- rendering/RenderSnapshottedPlugIn.h: Rename the timer to m_showLabelDelayTimer since
it can fire for two different reasons. Add some additional state variables, and an enum
to explain why the label appeared.
- rendering/RenderSnapshottedPlugIn.cpp:
(WebCore): Change hoverDelay to showLabelAfterMouseOverDelay. Add a new, longer delay for
when the plug-in is supposed to auto-show the label.
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Initialize the member variables.
(WebCore::RenderSnapshottedPlugIn::updateSnapshot): When the snapshot image is updated,
start the timer to auto-show the label.
(WebCore::RenderSnapshottedPlugIn::paintLabel): Avoid painting the label only if the element
is not hovered and the user was mousing over the plug-in. Otherwise, the plug-in is supposed
to show automatically, and we should paint. Mark the renderer as having showed the label at
least once.
(WebCore::RenderSnapshottedPlugIn::showLabelDelayTimerFired): Renamed to reflect the
purpose of the timer.
(WebCore::RenderSnapshottedPlugIn::setShouldShowLabelAutomatically): Set the variable that
determines whether, in general, this plug-in should show the label automatically even
without user input.
(WebCore::RenderSnapshottedPlugIn::handleEvent): If the user mouses over the plug-in,
only reset the show timer is the label has never appeared before, or if it has, that
it's not because the label was supposed to show automatically. That is, if the label is
supposed to show automatically, the label should remain visible. This is also true when
the user mouses out of the plug-in. If the user moused out before the time had a chance
to fire and show the label for the first time, then we check to see if the plug-in should
be displaying the label automatically, and if so, restart the timer using the longer delay.
(WebCore::RenderSnapshottedPlugIn::stopAndRestartDelayTimer): Convenience function to
update the m_showReason variable, and reset the timer with the appropriate delay.
- 11:15 PM Changeset in webkit [138926] by
-
- 4 edits2 adds in trunk
Heap-use-after-free in DocumentLoader::stopLoading
https://bugs.webkit.org/show_bug.cgi?id=103656
Reviewed by Eric Seidel.
Source/WebCore:
Test: fast/dom/ready-state-change-crash.html
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::prepareToStopParsing): Bail out
if the parser is detached due to mutation event.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoading): Move the protectors for
frame and document loader to the start of the function. Call to
m_frame->loader()->stopLoading() can change document ready state
and fire mutation event which might blow the document loader from
underneath.
LayoutTests:
- fast/dom/ready-state-change-crash-expected.txt: Added.
- fast/dom/ready-state-change-crash.html: Added.
- 10:45 PM Changeset in webkit [138925] by
-
- 6 edits in branches/chromium/1364
Merge 138165
Expose WebKitShadowRoot constructor to DOMWindow.
https://bugs.webkit.org/show_bug.cgi?id=105385
Reviewed by Dimitri Glazkov.
Source/WebCore:
This is a follow-up patch for r137870. WebKitShadowRoot
constructor should be in DOMWindow, just like all of the other
not-callable-constructors like HTMLDivElement, etc. We need it
for instanceof tests and so on.
Test: fast/dom/shadow/shadow-root-js-api.html
fast/js/global-constructors-expected.html
- page/DOMWindow.idl:
LayoutTests:
- fast/dom/shadow/shadow-root-js-api-expected.txt:
- fast/dom/shadow/shadow-root-js-api.html:
- fast/js/global-constructors-expected.txt:
- platform/efl/fast/js/global-constructors-expected.txt:
- platform/gtk/fast/js/global-constructors-expected.txt:
TBR=hayato@chromium.org
Review URL: https://codereview.chromium.org/11776020
- 10:34 PM Changeset in webkit [138924] by
-
- 5 edits in trunk/Source/JavaScriptCore
Simplify slow case profiling
https://bugs.webkit.org/show_bug.cgi?id=106208
Reviewed by Mark Rowe.
Removing the minimum execution ratio portion of slow case profiling, which allows
the removal of a field from CodeBlock. This appears to be performance neutral,
implying that the complexity incurred by the previous heuristic was purely
harmful: it made the code more complicated, and it made CodeBlock larger, without
resulting in any measurable benefits.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::likelyToTakeSlowCase):
(JSC::CodeBlock::couldTakeSlowCase):
(JSC::CodeBlock::likelyToTakeSpecialFastCase):
(JSC::CodeBlock::couldTakeSpecialFastCase):
(JSC::CodeBlock::likelyToTakeDeepestSlowCase):
(JSC::CodeBlock::likelyToTakeAnySlowCase):
- jit/JIT.cpp:
(JSC::JIT::privateCompile):
- runtime/Options.h:
- 10:10 PM Changeset in webkit [138923] by
-
- 2 edits in trunk/Source/WebCore
[Shadow DOM]: crash in WebCore::ElementShadow::setValidityUndetermined
https://bugs.webkit.org/show_bug.cgi?id=106203
Reviewed by Hajime Morita.
InsertionPoint should check whether ElementShadow is available or not
before invoking its methods.
No new tests. Webcomponents_fuzzer reported this bug. Would like to
use the fuzzer to check this issue.
- html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::getDistributedNodes):
(WebCore::InsertionPoint::childrenChanged):
(WebCore::InsertionPoint::insertedInto):
Added ifs to check whether ElementShadow is available or not before
invoking ElementShadow's methods, i.e. setValidityUndetermined,
invalidateDistribution, and ensureDistributionDocument.
- 10:03 PM Changeset in webkit [138922] by
-
- 2 edits in trunk/Source/WebCore
RenderImage should not use shadowAncestorNode
https://bugs.webkit.org/show_bug.cgi?id=97871
Reviewed by Dimitri Glazkov.
Since shadowAncestorNode() does not return 0, this if-condition will never hold.
shadowHost() should be used instead.
No change in logic, refactoring.
- rendering/RenderImage.cpp:
(WebCore::RenderImage::hostImageElement):
- 6:24 PM Changeset in webkit [138921] by
-
- 18 edits in trunk/Source/JavaScriptCore
DFG should inline closure calls
https://bugs.webkit.org/show_bug.cgi?id=106067
Reviewed by Gavin Barraclough.
This adds initial support for inlining closure calls to the DFG. A call is considered
to be a closure call when the JSFunction* varies, but always has the same executable.
We already have closure call inline caching in both JITs, which works by checking that
the callee has an expected structure (as a cheap way of detecting that it is in fact
a JSFunction) and an expected executable. Closure call inlining uses profiling data
aggregated by CallLinkStatus to decide when to specialize the call to the particular
structure/executable, and inline the call rather than emitting a call sequence. When
we choose to do a closure inline rather than an ordinary inline, a number of things
change about how inlining is performed:
- The inline is guarded by a CheckStructure/CheckExecutable rather than a CheckFunction.
- Instead of propagating a constant value for the scope, we emit GetMyScope every time that the scope is needed, which loads the scope from a local variable. We do similar things for the callee.
- The prologue of the inlined code includes SetMyScope and SetCallee nodes to eagerly plant the scope and callee into the "true call frame", i.e. the place on the stack where the call frame would have been if the call had been actually performed. This allows GetMyScope/GetCallee to work as they would if the code wasn't inlined. It also allows for trivial handling of scope and callee for call frame reconstruction upon stack introspection and during OSR.
- A new node called GetScope is introduced, which just gets the scope of a function. This node has the expected CSE support. This allows for the SetMyScope(GetScope(@function)) sequence to set up the scope in the true call frame.
- GetMyScope/GetCallee CSE can match against SetMyScope/SetCallee, which means that the GetMyScope/GetCallee nodes emitted during parsing are often removed during CSE, if we can prove that it is safe to do so.
- Inlining heuristics are adjusted to grok the cost of inlining a closure. We are less likely to inline a closure call than we are to inline a normal call, since we end up emitting more code for closures due to CheckStructure, CheckExecutable, GetScope, SetMyScope, and SetCallee.
Additionally, I've fixed the VariableEventStream to ensure that we don't attempt to
plant Undefined into the true call frames. This was previously a harmless oversight,
but it becomes quite bad if OSR is relying on the scope/callee already having been
set and not subsequently clobbered by the OSR itself.
This is a ~60% speed-up on programs that frequently make calls to closures. It's
neutral on V8v7 and other major benchmark suites.
The lack of a definite speed-up is likely due the fact that closure inlining currently
does not do any cardinality [1] optimizations. We don't observe when a closure was
constructed within its caller, and so used the scope from its caller; and furthermore
we have no facility to detect when the scope is single. All scoped variable accesses
are assumed to be multiple instead. A subsequent step will be to ensure that closure
call inlining will be single and loving it.
[1] Single and loving it: Must-alias analysis for higher-order languages. Suresh
Jagannathan, Peter Thiemann, Stephen Weeks, and Andrew Wright. In POPL '98.
- bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::dump):
- bytecode/CallLinkStatus.h:
(JSC::CallLinkStatus::isClosureCall):
(CallLinkStatus):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::globalObjectFor):
(JSC):
- bytecode/CodeBlock.h:
(CodeBlock):
- bytecode/CodeOrigin.cpp:
(JSC::InlineCallFrame::dump):
- dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
- dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::handleInlining):
- dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::pureCSE):
(CSEPhase):
(JSC::DFG::CSEPhase::getCalleeLoadElimination):
(JSC::DFG::CSEPhase::checkExecutableElimination):
(JSC::DFG::CSEPhase::getMyScopeLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::mightInlineFunctionForClosureCall):
- dfg/DFGCapabilities.h:
(DFG):
(JSC::DFG::mightInlineFunctionForClosureCall):
(JSC::DFG::canInlineFunctionForClosureCall):
(JSC::DFG::canInlineFunctionFor):
- dfg/DFGNode.h:
(Node):
(JSC::DFG::Node::hasExecutable):
(JSC::DFG::Node::executable):
- dfg/DFGNodeType.h:
(DFG):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGVariableEventStream.cpp:
(JSC::DFG::VariableEventStream::reconstruct):
- runtime/Options.h:
(JSC):
- 3:58 PM Changeset in webkit [138920] by
-
- 2 edits in branches/chromium/1364/Source/WebKit/chromium
Merge 138302
[chromium] Disable color profile support for WebImageSkia users
https://bugs.webkit.org/show_bug.cgi?id=105493
Reviewed by Eric Seidel.
Disable color profiles to prevent null pointer dereference under some
conditions. Tested by unittests at src.chromium.org.
- src/WebImageSkia.cpp:
(WebKit::WebImage::fromData):
(WebKit::WebImage::framesFromData):
TBR=noel.gordon@gmail.com
Review URL: https://codereview.chromium.org/11785017
- 12:26 PM Changeset in webkit [138919] by
-
- 2 edits in trunk/Source/WebCore
Bug 106177 - [GStreamer] Don't call gst_video_info_from_caps() with non-fixed caps
https://bugs.webkit.org/show_bug.cgi?id=106177
Patch by Sebastian Dröge <sebastian.droege@collabora.co.uk> on 2013-01-06
Reviewed by Martin Robinson.
- platform/graphics/gstreamer/GStreamerVersioning.cpp:
(getVideoSizeAndFormatFromCaps):
Don't call gst_video_info_from_caps() with non-fixed caps as
it will cause assertions.
- 10:53 AM Changeset in webkit [138918] by
-
- 3 edits2 adds in trunk
Heap-use-after-free in WebCore::Document::implicitClose
https://bugs.webkit.org/show_bug.cgi?id=105655
Reviewed by Eric Seidel.
Source/WebCore:
Test: fast/dom/window-load-crash.html
- dom/Document.cpp:
(WebCore::Document::implicitClose): RefPtr protect |this| document since it
can be destroyed in the dispatchWindowLoadEvent call.
LayoutTests:
- fast/dom/window-load-crash-expected.txt: Added.
- fast/dom/window-load-crash.html: Added.
- 3:18 AM BuildingGtk edited by
- (diff)
- 3:17 AM BuildingGtk edited by
- (diff)
- 1:43 AM Changeset in webkit [138917] by
-
- 4 edits in trunk
Seamless: IFrame's padding isn't taken into account when calculating its height.
https://bugs.webkit.org/show_bug.cgi?id=106167
Reviewed by Eric Seidel.
Source/WebCore:
IFrames rendered seamlessly don't currently calculate their height
correctly when padding is applied to the frame itself. This patch adds
padding calculations to RenderIFrame::layoutSeamlessly to ensure that
the seamless frame is correctly sized.
- rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::layoutSeamlessly):
LayoutTests:
- fast/frames/seamless/seamless-border-padding-expected.txt:
Adjusts the previously failing expectations to the correct values.