Timeline



Mar 11, 2013:

11:52 PM Changeset in webkit [145490] by vsevik@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed test flakiness fix.

  • inspector/debugger/xhr-breakpoints.html:
  • platform/chromium/TestExpectations:
11:43 PM Changeset in webkit [145489] by fpizlo@apple.com
  • 16 edits
    8 adds in trunk

DFG overflow check elimination is too smart for its own good
https://bugs.webkit.org/show_bug.cgi?id=111832

Source/JavaScriptCore:

Reviewed by Oliver Hunt and Gavin Barraclough.

Rolling this back in after fixing accidental misuse of JSValue. The code was doing value < someInt
rather than value.asInt32() < someInt. This "worked" when isWithinPowerOfTwo wasn't templatized.
It worked by always being false and always disabling the relvant optimization.

This improves overflow check elimination in three ways:

1) It reduces the amount of time the compiler will spend doing it.

2) It fixes bugs where overflow check elimination was overzealous. Precisely, for a binary operation

over @a and @b where both @a and @b will type check that their inputs (@a->children, @b->children)
are int32's and then perform a possibly-overflowing operation, we must be careful not to assume
that @a's non-int32 parts don't matter if at the point that @a runs we have as yet not proved that
@b->children are int32's and that hence @b might produce a large enough result that doubles would
start chopping low bits. The specific implication of this is that for a binary operation to not
propagate that it cares about non-int32 parts (NodeUsedAsNumber), we must prove that at least one
of the inputs is guaranteed to produce a result within 232 and that there won't be a tower of such
operations large enough to ultimately produce a double greater than 2
52 (roughly). We achieve the
latter by disabling this optimization for very large basic blocks. It's noteworthy that blocks that
large won't even make it into the DFG currently.


3) It makes the overflow check elimination more precise for cases where the inputs to an Add or Sub

are the outputs of a bit-op. For example in (@a + (@b | 0)) | 0, we don't need to propagate
NodeUsedAsNumber to either @a or @b.


This is neutral on V8v7 and a slight speed-up on compile time benchmarks.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::refine):

  • dfg/DFGBackwardsPropagationPhase.cpp: Added.

(DFG):
(BackwardsPropagationPhase):
(JSC::DFG::BackwardsPropagationPhase::BackwardsPropagationPhase):
(JSC::DFG::BackwardsPropagationPhase::run):
(JSC::DFG::BackwardsPropagationPhase::isNotNegZero):
(JSC::DFG::BackwardsPropagationPhase::isNotZero):
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwoForConstant):
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwoNonRecursive):
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwo):
(JSC::DFG::BackwardsPropagationPhase::mergeDefaultFlags):
(JSC::DFG::BackwardsPropagationPhase::propagate):
(JSC::DFG::performBackwardsPropagation):

  • dfg/DFGBackwardsPropagationPhase.h: Added.

(DFG):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::run):
(JSC::DFG::CPSRethreadingPhase::clearIsLoadedFrom):
(CPSRethreadingPhase):
(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor):
(JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::dumpNodeFlags):
(DFG):

  • dfg/DFGNodeFlags.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(PredictionPropagationPhase):
(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGUnificationPhase.cpp:

(JSC::DFG::UnificationPhase::run):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::mergeIsLoadedFrom):
(VariableAccessData):
(JSC::DFG::VariableAccessData::setIsLoadedFrom):
(JSC::DFG::VariableAccessData::isLoadedFrom):

LayoutTests:

Reviewed by Oliver Hunt and Gavin Barraclough.

  • fast/js/dfg-arith-add-overflow-check-elimination-predicted-but-not-proven-int-expected.txt: Added.
  • fast/js/dfg-arith-add-overflow-check-elimination-predicted-but-not-proven-int.html: Added.
  • fast/js/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers-expected.txt: Added.
  • fast/js/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-arith-add-overflow-check-elimination-predicted-but-not-proven-int.js: Added.

(foo):
(bar):

  • fast/js/script-tests/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers.js: Added.

(foo):
(bar):

11:26 PM Changeset in webkit [145488] by pfeldman@chromium.org
  • 3 edits
    2 deletes in trunk/LayoutTests

Not reviewed: Chromium expectations updated.

  • platform/chromium-linux/media/track/track-cue-rendering-horizontal-expected.txt: Removed.
  • platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.txt: Removed.
  • platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/chromium-win/media/track/track-cue-rendering-vertical-expected.txt:
11:20 PM Changeset in webkit [145487] by pfeldman@chromium.org
  • 3 edits in trunk/LayoutTests

Not reviewed: Chromium expectations updated.

  • platform/chromium-mac/fast/borders/border-radius-with-box-shadow-expected.png:
  • platform/chromium-win/fast/borders/border-radius-with-box-shadow-expected.png:
11:20 PM Changeset in webkit [145486] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

We'll get there eventually.

  • platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
11:12 PM Changeset in webkit [145485] by beidson@apple.com
  • 7 edits in trunk/Source/WebKit2

Loads are never canceled in the NetworkProcess
<rdar://problem/12890500> and https://bugs.webkit.org/show_bug.cgi?id=112103

Reviewed by Alexey Proskuryakov.

If a connection to a WebProcess is closed (gracefully or by crashing) then:

  • All scheduled loads for that connection should be forgotten.
  • All in-progress loads for that connection should be aborted asap.
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::requestsToCleanupMutex): The "request to stop" mechanism is now called "request to cleanup"
(WebKit::requestsToCleanup):
(WebKit::NetworkResourceLoader::scheduleCleanupOnMainThread):
(WebKit::NetworkResourceLoader::performCleanups):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFail):

(WebKit::NetworkResourceLoader::connectionToWebProcessDidClose): If there is a resource handle, let

the loading thread notice the connection is invalid. Otherwise request to cleanup the loader.

(WebKit::NetworkResourceLoader::sendAbortingOnFailure):
(WebKit::NetworkResourceLoader::sendSyncAbortingOnFailure):
(WebKit::NetworkResourceLoader::abortInProgressLoad): Cancel the resource handle and schedule main thread cleanup.
(WebKit::NetworkResourceLoader::didReceiveResponse): Use sendAbortingOnFailure instead of send.
(WebKit::NetworkResourceLoader::didReceiveData): Ditto.

(WebKit::NetworkResourceLoader::willSendRequest): Call abortInProgressLoad if the sync message failed.
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace): Ditto.

  • NetworkProcess/NetworkResourceLoader.h:

Make connectionToWebProcessDidClose() pure virtual, moving its implementation to the subclasses:

  • NetworkProcess/SchedulableLoader.cpp:
  • NetworkProcess/SchedulableLoader.h:
  • NetworkProcess/SyncNetworkResourceLoader.cpp:

(WebKit::SyncNetworkResourceLoader::start): Call cleanup().
(WebKit::SyncNetworkResourceLoader::connectionToWebProcessDidClose): Call cleanup().
(WebKit::SyncNetworkResourceLoader::cleanup): Factor out the sync loader cleanup code.

  • NetworkProcess/SyncNetworkResourceLoader.h:
11:10 PM Changeset in webkit [145484] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fumbled adding new files to the vcproj. Fixing.

  • WebCore.vcproj/WebCore.vcproj:
10:51 PM Changeset in webkit [145483] by Simon Fraser
  • 3 edits
    1 copy in trunk/Source/WebCore

Fix the Windows build by providing implementations of PlatformCAFilters::setFiltersOnLayer(),
PlatformCAFilters::numAnimatedFilterProperties() and PlatformCAFilters::animatedFilterPropertyName(),
adding PlatformCAFiltersWin.cpp to the vcproj.

  • WebCore.vcproj/WebCore.vcproj:
  • platform/graphics/ca/PlatformCAFilters.h:

(PlatformCAFilters):

  • platform/graphics/ca/win/PlatformCAFiltersWin.cpp: Copied from Source/WebCore/platform/graphics/ca/PlatformCAFilters.h.

(PlatformCAFilters::setFiltersOnLayer):
(PlatformCAFilters::numAnimatedFilterProperties):
(PlatformCAFilters::animatedFilterPropertyName):

10:51 PM Changeset in webkit [145482] by oliver@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Harden JSStringJoiner
https://bugs.webkit.org/show_bug.cgi?id=112093

Reviewed by Filip Pizlo.

Harden JSStringJoiner, make it use our CheckedArithmetic
class to simplify everything.

  • runtime/JSStringJoiner.cpp:

(JSC::JSStringJoiner::build):

  • runtime/JSStringJoiner.h:

(JSStringJoiner):
(JSC::JSStringJoiner::JSStringJoiner):
(JSC::JSStringJoiner::append):

10:45 PM Changeset in webkit [145481] by jochen@chromium.org
  • 5 edits
    2 adds in trunk

Don't create multiple user gesture indicators when forwarding events to sub frames
https://bugs.webkit.org/show_bug.cgi?id=111923

Reviewed by Adam Barth.

Ports that implement consumable user gestures depend on a single user
gesture indicator being created in response to a single user gesture.

Source/WebCore:

Test: platform/chromium/fast/events/popup-allowed-from-gesture-only-once-iframes.html

  • dom/UserGestureIndicator.cpp:

(WebCore::isDefinite):
(WebCore::UserGestureIndicator::UserGestureIndicator):
(WebCore::UserGestureIndicator::processingUserGesture):

  • dom/UserGestureIndicator.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTouchEvent):

LayoutTests:

  • platform/chromium/fast/events/popup-allowed-from-gesture-only-once-iframes-expected.txt: Added.
  • platform/chromium/fast/events/popup-allowed-from-gesture-only-once-iframes.html: Added.
10:37 PM Changeset in webkit [145480] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix Windows build.

  • platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
10:23 PM Changeset in webkit [145479] by pfeldman@chromium.org
  • 2 edits in trunk/LayoutTests

Not reviewed: Chromium expectations updated.

  • platform/chromium/TestExpectations:
10:10 PM Changeset in webkit [145478] by pfeldman@chromium.org
  • 1 edit
    2 moves
    10 deletes in trunk/LayoutTests

Not reviewed: Chromium rebaselines.

  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Removed.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Removed.
  • platform/chromium-mac-lion/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Removed.
  • platform/chromium-mac-lion/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Removed.
  • platform/chromium-mac/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Removed.
  • platform/chromium-mac/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Removed.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Removed.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Removed.
  • platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Renamed from LayoutTests/platform/chromium-linux/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
  • platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Renamed from LayoutTests/platform/chromium-linux/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.
10:10 PM Changeset in webkit [145477] by timothy_horton@apple.com
  • 16 edits in trunk/Source/WebKit2

PDFPlugin: Return PDFKit's data instead of the original resource data for save/etc.
https://bugs.webkit.org/show_bug.cgi?id=111956
<rdar://problem/13352282>

Reviewed by Alexey Proskuryakov.

If we return the original resource data, we lose changes made to annotations.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::pdfDocumentDidLoad): Adopt the renamed rawData().
(WebKit::PDFPlugin::saveToPDF): Use liveData so that "Save to PDF" persists changes to annotations.
(WebKit::PDFPlugin::openWithNativeApplication): Use liveData so that "Open With [native application]" persists changes to annotations.

  • WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
  • WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:

(WebKit::PDFPluginAnnotation::commit): Added, inform PDFPlugin that we're mutating the document.

  • WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:

(WebKit::PDFPluginChoiceAnnotation::commit): Let PDFPluginAnnotation do what it needs to inform PDFPlugin that we're going to mutate the document.

  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:

(WebKit::PDFPluginTextAnnotation::commit): Let PDFPluginAnnotation do what it needs to inform PDFPlugin that we're going to mutate the document.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.h:

(WebKit::SimplePDFPlugin::didMutatePDFDocument): Added.
(WebKit::SimplePDFPlugin::liveData): Added.
(WebKit::SimplePDFPlugin::rawData): Renamed from data(). Return NSData for consistency.
(WebKit::SimplePDFPlugin::pdfDocumentWasMutated): Added.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.mm:

(WebKit::SimplePDFPlugin::liveData): Return PDFKit's data if the user has mutated the
document, otherwise the raw data. This way, PDFs that PDFKit can't process will still
be downloadable as long as the user doesn't interact with annotations.
(WebKit::SimplePDFPlugin::liveResourceData): Return a SharedData wrapping the PDFDocument's data.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/PDF/SimplePDFPlugin.h:
  • WebProcess/Plugins/Plugin.h:
  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginView.cpp:
  • WebProcess/Plugins/PluginView.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::getMainResourceDataOfFrame):
Use a SharedData instead of raw data for getResourceData, and rename it liveResourceData().

10:00 PM Changeset in webkit [145476] by pfeldman@chromium.org
  • 4 edits in trunk/LayoutTests

Not reviewed: Chromium rebaselines.

  • platform/chromium/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
  • platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-paint-phases-expected.txt:
  • platform/chromium/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-paint-phases-expected.txt:
9:58 PM Changeset in webkit [145475] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after http://trac.webkit.org/changeset/145472.

  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm:

(PlatformCAFilters::colorMatrixValueForFilter):

9:55 PM Changeset in webkit [145474] by tasak@google.com
  • 4 edits
    2 adds in trunk

[CSS] shadow from radius has wrong render in webkit
https://bugs.webkit.org/show_bug.cgi?id=99928

Reviewed by Simon Fraser.

Source/WebCore:

No rounded cornder should be expanded in the mixed case, i.e. some
corners are rounded, but others are not rounded.
Need to look at each corner independently,
i.e. top-left, top-right, bottom-left and bottom-right, and
to expand corners whose width and height are larger than 0.

Test: fast/box-shadow/box-shadow-with-zero-radius.html

  • platform/graphics/RoundedRect.cpp:

(WebCore::RoundedRect::Radii::expand):

LayoutTests:

  • fast/box-shadow/box-shadow-with-zero-radius-expected.html: Added.
  • fast/box-shadow/box-shadow-with-zero-radius.html: Added.
  • platform/chromium-linux/fast/borders/border-radius-with-box-shadow-expected.png:

Rebaselined. Comparing the old one with the new one, both ones look almost
the same.

9:22 PM Changeset in webkit [145473] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[chromium] Fix flaky timeouts in platform/chromium/events/fast/events/intercept-postmessage.html
https://bugs.webkit.org/show_bug.cgi?id=112089

Patch by James Robinson <jamesr@chromium.org> on 2013-03-11
Reviewed by Adam Barth.

This test had a few problems. The most serious is it raced a window.postMessage() from an inline <script> in the
<head> with the HTML parser processing the rest of the testcase. If the HTML parser yielded before parsing out
the <pre id="console">, function recvMsg1 would generate an error accessing the undefined pre. The test also
set up a setTimeout with a timeout of 50ms to run after a postMessage handler. There's no need to wait after
yielding for a timeout, these events are processed in order.

  • platform/chromium/fast/events/intercept-postmessage.html:
9:02 PM Changeset in webkit [145472] by Simon Fraser
  • 8 edits
    2 adds in trunk/Source/WebCore

[CA] Animations of CSS filters don't work correctly
https://bugs.webkit.org/show_bug.cgi?id=111905

Reviewed by Dean Jackson.

Fix various issues with transitions of composited filters on Mac,
most of which stemmed from the conversion to use CAFilter.

Put the Mac CA filter-related code into a new file, PlatformCAFilters,
to group code that creates filter properties into a single place.

Animations of CIFilters using multiple values never worked correctly,
because we would clobber all but the last property for each filter,
so fix that.

Changes in the moved filter code:

  • Made use of sepiaFullConstants in the CIFilter and CAFilter code.
  • For CI, return CIVectors instead of NSArrays of NSNumbers.
  • Fudge the inputColor for the CI grayscale filter to better match software filters.
  • fix some cases where the behavior was wrong in the isDefault() case.
  • WebCore.xcodeproj/project.pbxproj: Add PlatformCAFilters.h, PlatformCAFiltersMac.mm.
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::animationNameForTransition): This function was creating a string
containing non-ASCII characters.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::animationIdentifier): To handle CIFilter animations, we need to tack another
index onto the animation identifier, since some animations require animating multiple
properties of the same CIFilter. Add "subIndex" for this.
(WebCore::GraphicsLayerCA::moveOrCopyAnimations): Ditto.
(WebCore::GraphicsLayerCA::updateAnimations): Ditto.
(WebCore::GraphicsLayerCA::setAnimationOnLayer): Ditto.
(WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): Ditto.
(WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): Ditto.
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes): Ditto.
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Ditto.

  • platform/graphics/ca/GraphicsLayerCA.h: Ditto.

(WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):
(LayerPropertyAnimation):

  • platform/graphics/ca/PlatformCAAnimation.h:

(PlatformCAAnimation): Functions moved.

  • platform/graphics/ca/PlatformCAFilters.h: Added.

(PlatformCAFilters):

  • platform/graphics/ca/mac/PlatformCAAnimationMac.mm:

(PlatformCAAnimation::setFromValue):
(PlatformCAAnimation::setToValue):
(PlatformCAAnimation::setValues):

  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Added.

(PlatformCAFilters::filterValueForOperation):
(PlatformCAFilters::colorMatrixValueForFilter):
(PlatformCAFilters::numAnimatedFilterProperties):
(PlatformCAFilters::animatedFilterPropertyName):

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayer::PlatformCALayer):
(PlatformCALayer::addAnimationForKey):
(PlatformCALayer::setFilters):
(PlatformCALayer::filtersCanBeComposited):

8:00 PM Changeset in webkit [145471] by commit-queue@webkit.org
  • 29 edits in trunk/Source

Unreviewed, rolling out r145462.
http://trac.webkit.org/changeset/145462
https://bugs.webkit.org/show_bug.cgi?id=112097

Compilation failure in PluginView.cpp (Requested by jamesr_ on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-11

Source/WebCore:

  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::canSetFocusAttribute):

  • bindings/objc/DOM.mm:

(kitClass):

  • bindings/v8/V8LazyEventListener.cpp:

(WebCore::V8LazyEventListener::prepareListenerObject):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • editing/ApplyStyleCommand.cpp:

(WebCore::isLegacyAppleStyleSpan):
(WebCore::isEmptyFontTag):
(WebCore::ApplyStyleCommand::applyBlockStyle):

  • editing/FormatBlockCommand.cpp:

(WebCore::isElementForFormatBlock):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::isMailPasteAsQuotationNode):
(WebCore::haveSameTagName):
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):

  • history/CachedPage.cpp:

(WebCore::CachedPage::restore):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::suggestions):

  • html/HTMLTableRowsCollection.cpp:

(WebCore::isInHead):
(WebCore::isInBody):
(WebCore::isInFoot):

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::innerPatchNode):

  • page/PageSerializer.cpp:

(WebCore::SerializerMarkupAccumulator::appendCustomAttributes):

  • plugins/PluginView.cpp:

(WebCore::PluginView::getValue):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::paintContents):
(WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::name):

  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::mediaElement):

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::autosaveName):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::textFormControlElement):
(WebCore::updateUserModifyProperty):

  • rendering/mathml/RenderMathMLFenced.cpp:

(WebCore::RenderMathMLFenced::updateFromElement):

  • rendering/mathml/RenderMathMLFraction.cpp:

(WebCore::RenderMathMLFraction::updateFromElement):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::endElementNs):

Source/WebKit/chromium:

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::focusedNodeChanged):

  • src/ContextMenuClientImpl.cpp:

(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):

  • src/DOMUtilitiesPrivate.cpp:

(WebCore::toHTMLElement):

  • src/WebSearchableFormData.cpp:

(HTMLNames::IsSelectInDefaultState):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _enterFullscreenForNode:WebCore::]):

7:52 PM Changeset in webkit [145470] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1410

Merge 144713
BUG=174846
Review URL: https://codereview.chromium.org/12518025

7:48 PM Changeset in webkit [145469] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1410

Merge 144400
BUG=173654

7:38 PM Changeset in webkit [145468] by akling@apple.com
  • 2 edits in trunk/Tools

[Mac][WK1] Add support for alert() in MiniBrowser.
<http://webkit.org/b/112090>

Reviewed by Anders Carlsson.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):

7:31 PM Changeset in webkit [145467] by cevans@google.com
  • 2 edits in branches/chromium/1410/Source/WebCore/html/parser

Merge 144128
BUG=178003
Review URL: https://codereview.chromium.org/12518024

7:24 PM Changeset in webkit [145466] by ap@apple.com
  • 9 edits
    1 add in trunk/Source/WebCore

Move SharedWorkerRepository functions out of DefaultSharedWorkerRepository
https://bugs.webkit.org/show_bug.cgi?id=100418

Reviewed by Sam Weinig.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Added SharedWorkerRepository.cpp.

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:

Chromium uses WebKit/chromium/src/SharedWorkerRepository.cpp instead of
WebCore/workers/DefaultSharedWorkerRepository.cpp. Not sure why it's added and
then excluded, but did the same with the new SharedWorkerRepository.cpp, which
just contains some code moved from that file.

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerScriptLoader::load): Removed a PLATFORM(CHROMIUM) clause,
chromium doesn't compile this file.
(WebCore::DefaultSharedWorkerRepository::connectToWorker): Added a FIXME about
seemingly wrong code.

  • workers/SharedWorkerRepository.cpp: Added.

(WebCore::SharedWorkerRepository::isAvailable):
(WebCore::SharedWorkerRepository::connect):
(WebCore::SharedWorkerRepository::documentDetached):
(WebCore::SharedWorkerRepository::hasSharedWorkers):
Moved from DefaultSharedWorkerRepository.cpp, because this is part of SharedWorkerRepository.

7:18 PM Changeset in webkit [145465] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1410

Merge 144790
BUG=179287
Review URL: https://codereview.chromium.org/12518023

7:09 PM Changeset in webkit [145464] by abarth@webkit.org
  • 10 edits
    2 adds in trunk

Make BackgroundHTMLParser work with doc.writes that enter or leave foreign content
https://bugs.webkit.org/show_bug.cgi?id=109764

Reviewed by Eric Seidel.

Source/WebCore:

Previously, we were not reseting the state of the
HTMLTreeBuilderSimulator when we failed speculative parsing. This had a
number of observable consequences, including not parsing CDATA sections
correctly when document.write caused us to enter foreign content.

Test: fast/parser/document-write-svg-cdata.html

  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::resumeFrom):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):

  • html/parser/BackgroundHTMLParser.h:

(Checkpoint):
(BackgroundHTMLParser):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::validateSpeculations):
(WebCore::HTMLDocumentParser::didFailSpeculation):

  • html/parser/HTMLDocumentParser.h:

(ParsedChunk):

  • html/parser/HTMLElementStack.h:

(WebCore::HTMLElementStack::ElementRecord::namespaceURI):

  • html/parser/HTMLTreeBuilder.h:

(WebCore::HTMLTreeBuilder::options):
(WebCore::HTMLTreeBuilder::openElements):
(HTMLTreeBuilder):

  • html/parser/HTMLTreeBuilderSimulator.cpp:

(WebCore::HTMLTreeBuilderSimulator::stateFor):
(WebCore):

  • html/parser/HTMLTreeBuilderSimulator.h:

(WebCore):
(WebCore::HTMLTreeBuilderSimulator::state):
(WebCore::HTMLTreeBuilderSimulator::setState):
(HTMLTreeBuilderSimulator):

LayoutTests:

  • fast/parser/document-write-svg-cdata-expected.txt: Added.
  • fast/parser/document-write-svg-cdata.html: Added.
7:04 PM Changeset in webkit [145463] by cevans@google.com
  • 2 edits
    2 copies in branches/chromium/1410

Merge 144825
BUG=177932

6:59 PM Changeset in webkit [145462] by inferno@chromium.org
  • 29 edits in trunk/Source

Replace static_casts with to* functions.
https://bugs.webkit.org/show_bug.cgi?id=112072

Reviewed by Philip Rogers.

to* functions are preferred over static_cast calls since they
help to catch bad casts easily on the testing infrastructure.

Source/WebCore:

  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::canSetFocusAttribute):

  • bindings/objc/DOM.mm:

(kitClass):

  • bindings/v8/V8LazyEventListener.cpp:

(WebCore::V8LazyEventListener::prepareListenerObject):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • editing/ApplyStyleCommand.cpp:

(WebCore::isLegacyAppleStyleSpan):
(WebCore::isEmptyFontTag):
(WebCore::ApplyStyleCommand::applyBlockStyle):

  • editing/FormatBlockCommand.cpp:

(WebCore::isElementForFormatBlock):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::isMailPasteAsQuotationNode):
(WebCore::haveSameTagName):
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):

  • history/CachedPage.cpp:

(WebCore::CachedPage::restore):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::suggestions):

  • html/HTMLTableRowsCollection.cpp:

(WebCore::isInHead):
(WebCore::isInBody):
(WebCore::isInFoot):

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::innerPatchNode):

  • page/PageSerializer.cpp:

(WebCore::SerializerMarkupAccumulator::appendCustomAttributes):

  • plugins/PluginView.cpp:

(WebCore::PluginView::getValue):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::paintContents):
(WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::name):

  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::mediaElement):

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::autosaveName):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::textFormControlElement):
(WebCore::updateUserModifyProperty):

  • rendering/mathml/RenderMathMLFenced.cpp:

(WebCore::RenderMathMLFenced::updateFromElement):

  • rendering/mathml/RenderMathMLFraction.cpp:

(WebCore::RenderMathMLFraction::updateFromElement):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::endElementNs):

Source/WebKit/chromium:

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::focusedNodeChanged):

  • src/ContextMenuClientImpl.cpp:

(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):

  • src/DOMUtilitiesPrivate.cpp:

(WebCore::toHTMLElement):

  • src/WebSearchableFormData.cpp:

(HTMLNames::IsSelectInDefaultState):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _enterFullscreenForNode:WebCore::]):

6:56 PM Changeset in webkit [145461] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled Chromium DEPS to r187216. Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-11

  • DEPS:
6:55 PM Changeset in webkit [145460] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1410

Merge 144338
BUG=178797
Review URL: https://codereview.chromium.org/12638027

6:50 PM Changeset in webkit [145459] by pdr@google.com
  • 10 edits in trunk/Source/WebCore

Replace static_casts for SVGSVGElement and SVGStopElement
https://bugs.webkit.org/show_bug.cgi?id=111651

Reviewed by Stephen Chenney.

toSVGSVGElement and toSVGStopElement are preferred over static_casts because bad casts
can be caught on our testing infrastructure. This patches replaces all static_casts for
SVGSVGElement and SVGStopElement with toSVGSVGElement and toSVGStopElement, respectively.

Additionaly, this patch renames SVGElement::isSVG to SVGElement::isSVGSVGElement to
remove ambiguity for callers who may confuse this with isSVGElement.

No new tests as this is covered with existing tests.

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
(WebCore::RenderSVGRoot::hasRelativeDimensions):
(WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth):
(WebCore::RenderSVGRoot::hasRelativeLogicalHeight):

  • rendering/svg/RenderSVGViewportContainer.cpp:

(WebCore::RenderSVGViewportContainer::determineIfLayoutSizeChanged):
(WebCore::RenderSVGViewportContainer::calcViewport):
(WebCore::RenderSVGViewportContainer::viewportTransform):

  • svg/SVGDocument.cpp:

(WebCore::SVGDocument::rootElement):
(WebCore::SVGDocument::childShouldCreateRenderer):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::ownerSVGElement):

  • svg/SVGElement.h:

(WebCore::SVGElement::isSVGSVGElement):

  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::buildStops):

  • svg/SVGLengthContext.cpp:

(WebCore::SVGLengthContext::determineViewport):

  • svg/SVGSVGElement.h:

(WebCore):
(WebCore::toSVGSVGElement):

  • svg/SVGStopElement.h:

(WebCore::toSVGStopElement):
(WebCore):

6:42 PM Changeset in webkit [145458] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

[wk2] WebProcess and WebContentService don't respect system localization
https://bugs.webkit.org/show_bug.cgi?id=112091
<rdar://problem/13233590>

Reviewed by Dan Bernstein.

Allow CFBundle to use localizations that don't exist in the main bundle,
so that, for example, injected bundles can load and use strings from localized frameworks.

  • WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
6:39 PM Changeset in webkit [145457] by tony@chromium.org
  • 3 edits in trunk/Source/WebCore

Small code cleanup in RenderFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=112076

Reviewed by Ojan Vafai.

No new tests, this is a refactor and existing tests in css3/flexbox should pass.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock): Remove unused param from repositionLogicalHeightDependentFlexItems.
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Remove unused param from repositionLogicalHeightDependentFlexItems.
The clientLogicalBottom can't have changed in this time (the only thing we've done is align children).
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Just call layout() if we marked the flexitem as needing layout.
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Just call layout() if we marked the flexitem as needing layout.

  • rendering/RenderFlexibleBox.h:

(RenderFlexibleBox): Remove unused param from repositionLogicalHeightDependentFlexItems.

6:25 PM Changeset in webkit [145456] by cevans@google.com
  • 2 edits in branches/chromium/1410/Source/WebCore/Modules/webaudio

Merge 144417
BUG=172342
Review URL: https://codereview.chromium.org/12543030

6:19 PM Changeset in webkit [145455] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1410

Merge 143859
BUG=177933
Review URL: https://codereview.chromium.org/12637021

6:17 PM Changeset in webkit [145454] by cevans@google.com
  • 1 edit in branches/chromium/1410/Source/WebCore/html/canvas/WebGLRenderingContext.cpp

Merge 144241
BUG=177873
Review URL: https://codereview.chromium.org/12667022

6:15 PM Changeset in webkit [145453] by jochen@chromium.org
  • 33 edits in trunk/Source

Rename DefinitelyProcessingUserGesture to DefinitelyProcessingNewUserGesture
https://bugs.webkit.org/show_bug.cgi?id=111959

Reviewed by Alexey Proskuryakov.

Source/WebCore:

The rationale is that the UserGestureIndicator will increase the number
of consumable user gestures when it's invoked with what is now
DefinitelyProcessingNewUserGesture.

In a follow-up change I will reintroduce DefinitelyProcessingUserGesture
which will only increase the consumable user gesture count if we are
not already processing a user gesture.

No new tests, no change in functionality.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::increment):
(WebCore::AccessibilityNodeObject::decrement):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::press):

  • bindings/ScriptControllerBase.cpp:

(WebCore::ScriptController::executeScript):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::executeScriptInWorld):

  • bindings/v8/NPV8Object.cpp:

(_NPN_EvaluateHelper):

  • dom/UserGestureIndicator.cpp:

(WebCore::isDefinite):
(WebCore::UserGestureIndicator::UserGestureIndicator):
(WebCore::UserGestureIndicator::processingUserGesture):

  • dom/UserGestureIndicator.h:
  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::openInNewTab):

  • inspector/InspectorFrontendHost.cpp:

(WebCore::FrontendMenuProvider::contextMenuItemSelected):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::navigate):

  • loader/NavigationScheduler.cpp:

(WebCore::ScheduledURLNavigation::fire):
(WebCore::ScheduledURLNavigation::didStartTimer):
(WebCore::ScheduledRedirect::fire):
(WebCore::ScheduledRefresh::fire):
(WebCore::ScheduledHistoryNavigation::fire):
(WebCore::ScheduledFormSubmission::fire):
(WebCore::ScheduledFormSubmission::didStartTimer):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTouchEvent):

  • platform/chromium/PopupContainer.cpp:

(WebCore::PopupContainer::handleMouseDownEvent):
(WebCore::PopupContainer::handleMouseMoveEvent):
(WebCore::PopupContainer::handleMouseReleaseEvent):
(WebCore::PopupContainer::handleWheelEvent):
(WebCore::PopupContainer::handleKeyEvent):

Source/WebKit/blackberry:

  • WebKitSupport/NotificationManager.cpp:

(BlackBerry::WebKit::NotificationManager::notificationClicked):

Source/WebKit/chromium:

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::executeScriptAndReturnValue):

  • src/WebNotification.cpp:

(WebKit::WebNotification::dispatchClickEvent):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::handleEvent):
(WebKit::WebPluginContainerImpl::loadFrameRequest):

  • src/WebScopedUserGesture.cpp:

(WebKit::WebScopedUserGesture::initialize):

  • tests/WebUserGestureTokenTest.cpp:

(WebCore::TEST):

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::evaluate):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView sendEvent:isDrawRect:]):

Source/WebKit/qt:

  • WebCoreSupport/NotificationPresenterClientQt.cpp:

(WebCore::NotificationPresenterClientQt::notificationClicked):

Source/WebKit/win:

  • WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::searchWithGoogle):

Source/WebKit2:

  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::didClickNotification):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::evaluate):

  • WebProcess/WebCoreSupport/WebContextMenuClient.cpp:

(WebKit::WebContextMenuClient::searchWithGoogle):

6:13 PM Changeset in webkit [145452] by pilgrim@chromium.org
  • 18 edits
    3 copies in trunk/Source

[Chromium] Move WebFileSystemCallbacks to Platform/
https://bugs.webkit.org/show_bug.cgi?id=112049

Reviewed by Adam Barth.

In preparation for moving filesystem-related methods from
WebFrameClient to Platform.

Source/Platform:

  • Platform.gypi:
  • chromium/public/WebFileError.h: Copied from Source/WebKit/chromium/public/WebFileError.h.

(WebKit):

  • chromium/public/WebFileSystemCallbacks.h: Copied from Source/WebKit/chromium/public/WebFileSystemCallbacks.h.

(WebKit):
(WebFileSystemCallbacks):
(WebKit::WebFileSystemCallbacks::didCreateSnapshotFile):
(WebKit::WebFileSystemCallbacks::~WebFileSystemCallbacks):

  • chromium/public/WebFileSystemEntry.h: Copied from Source/WebKit/chromium/public/WebFileSystemEntry.h.

(WebKit):
(WebKit::WebFileSystemEntry::WebFileSystemEntry):
(WebFileSystemEntry):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/WebFileError.h:
  • public/WebFileSystemCallbacks.h:
  • public/WebFileSystemEntry.h:
  • public/WebFileWriterClient.h:
  • src/AssertMatchingEnums.cpp:
  • src/AsyncFileWriterChromium.h:
  • src/LocalFileSystemChromium.cpp:
  • src/WebFileSystemCallbacksImpl.cpp:
  • src/WebFileSystemCallbacksImpl.h:
  • src/WebSharedWorkerImpl.cpp:
  • src/WebWorkerClientImpl.cpp:
  • src/WorkerFileSystemCallbacksBridge.cpp:
  • src/WorkerFileSystemCallbacksBridge.h:
  • src/WorkerFileWriterCallbacksBridge.h:
6:12 PM Changeset in webkit [145451] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Ruby text is incorrectly positioned when its writing-mode is changed to vertical after layout is done
https://bugs.webkit.org/show_bug.cgi?id=96592

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2013-03-11
Reviewed by Hajime Morrita.

Source/WebCore:

Fixed logical left of RenderRubyText is not cleared.

This causes trouble when RenderRubyTest is laid out vertically after horizontally.
Horizontal layout set logical top(== y).
Vertical layout don't set logical left(== y).
RenderRubyText::y remain old one.
We clear old RenderRubyText::y at the first part of layout().

Test: fast/writing-mode/ruby-text-logical-left.html

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::layout): Reset logicalLeft not to reuse old one.

LayoutTests:

  • fast/writing-mode/ruby-text-logical-left-expected.html: Added.
  • fast/writing-mode/ruby-text-logical-left.html: Added.
6:10 PM Changeset in webkit [145450] by commit-queue@webkit.org
  • 16 edits
    3 adds in trunk

[css3-text] Add partial parsing support for text-underline-position property from CSS3 Text
https://bugs.webkit.org/show_bug.cgi?id=102491

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-03-11
Reviewed by Julien Chaffraix.

Source/WebCore:

This patch extends the existing parsing to support 'auto', 'alphabetic' and 'under'. We don't fully match
the specification as we don't support [ left | right ] and this is left for another implementation
as the rendering will need to be added.

Test: fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseTextUnderlinePosition):

  • css/CSSParser.h:
  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):
Added parsing-related checks for text-underline-position property.

  • css/CSSPropertyNames.in: Added '-webkit-underline-position' property.
  • css/CSSValueKeywords.in:
  • css/SVGCSSValueKeywords.in:
  • css/StyleBuilder.cpp:

(ApplyPropertyTextUnderlinePosition):
(WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
(WebCore::ApplyPropertyTextUnderlinePosition::createHandler):
(WebCore::StyleBuilder::StyleBuilder):
Set property handler for text-underline-position.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
Added support for m_textUnderlinePosition on copy constructor and operator
assignment functions.

  • rendering/style/StyleRareInheritedData.h:

(StyleRareInheritedData): Added m_textUnderlinePosition here as it won't be used regularly.

LayoutTests:

Added getComputedStyle layout tests for 'text-underline-position' CSS3
property, with 'webkit' prefix.

  • fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position-expected.txt: Added.
  • fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html: Added.
  • fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js: Added.

(testElementStyle):
(testComputedStyle):

6:10 PM Changeset in webkit [145449] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1410

Merge 142631
BUG=175343
Review URL: https://codereview.chromium.org/12543029

6:08 PM Changeset in webkit [145448] by commit-queue@webkit.org
  • 4 edits in trunk

Hit testing should use ancestorInThisScope to get the non-shadow ancestor
https://bugs.webkit.org/show_bug.cgi?id=112068

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-03-11
Reviewed by Dimitri Glazkov.

Source/WebCore:

Tests: media/nodesFromRect-shadowContent.html

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::setToNonShadowAncestor):
(WebCore::HitTestResult::addNodeToRectBasedTestResult):
Use ancestorInThisScope which is not deprecated and which produces
correct results for nested shadow trees (e.g. in case of <video>,
which contains <input> elements for the controls, which themselves
have shadow trees)

LayoutTests:

  • media/nodesFromRect-shadowContent.html: Extend the hit testing rect

to guarantee reaching a nested shadow tree.

6:07 PM Changeset in webkit [145447] by jparent@chromium.org
  • 6 edits in trunk/Tools

Dashboard cleanup: Create ui.Errors
https://bugs.webkit.org/show_bug.cgi?id=111785

Reviewed by Ojan Vafai.

Create ui.Errors for handling errors the dashboards
encounter. Loader now has a Error object that it can add to,
and individual dashboards can show errors when desired.
Currently, only flakiness_db shows errors, but this is
generic and there is no reason why other dbs wouldn't want to
show errors.

  • TestResultServer/static-dashboards/dashboard_base.js:

(resourceLoadingComplete):

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(generatePage):

  • TestResultServer/static-dashboards/loader.js:

(.):

  • TestResultServer/static-dashboards/ui.js:

(.):

6:05 PM Changeset in webkit [145446] by cevans@google.com
  • 12 edits in branches/chromium/1410/Source/WebCore

Merge 143840
BUG=173050
Review URL: https://codereview.chromium.org/12518022

5:53 PM Changeset in webkit [145445] by jamesr@google.com
  • 3 edits
    8 copies
    3 adds in trunk/LayoutTests

More chromium layer tree rebaselines for r145422

  • platform/chromium-mac-lion/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
  • platform/chromium-mac-lion/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.
  • platform/chromium-mac-snowleopard/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
  • platform/chromium-mac-snowleopard/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.
  • platform/chromium-mac/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
  • platform/chromium-mac/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Copied from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.
  • platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
  • platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
5:50 PM Changeset in webkit [145444] by inferno@chromium.org
  • 22 edits in trunk/Source

Replace static_cast with to* helper functions.
https://bugs.webkit.org/show_bug.cgi?id=112045

Reviewed by Eric Seidel.

Source/WebCore:

  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:

(WebCore::V8HTMLOptionsCollection::removeMethodCustom):
(WebCore::V8HTMLOptionsCollection::indexedPropertySetter):

  • bindings/v8/custom/V8NamedNodesCollection.cpp:

(WebCore::V8NamedNodesCollection::namedItem):

  • bindings/v8/custom/V8NodeCustom.cpp:

(WebCore::wrap):

  • editing/BreakBlockquoteCommand.cpp:

(WebCore::BreakBlockquoteCommand::doApply):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::insertNodeAt):
(WebCore::CompositeEditCommand::pushAnchorElementDown):
(WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
(WebCore::CompositeEditCommand::splitTreeToNode):

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::doApply):

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create):

  • platform/chromium/PasteboardChromium.cpp:

(WebCore::Pasteboard::writeImage):

  • platform/mac/HTMLConverter.mm:

(+[WebHTMLConverter editingAttributedStringFromRange:]):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::frameContentsCompositor):
(WebCore::RenderLayerCompositor::requiresCompositingForVideo):

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::plugInImageElement):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::updateFromElement):

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::idChanged):

Source/WebKit/chromium:

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::findChildByExpression):
(WebKit::WebFrameImpl::fromFrameOwnerElement):

  • src/WebHelperPluginImpl.cpp:

(WebKit::WebHelperPluginImpl::getPlugin):

  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::loadInternal):
(WebKit::WebMediaPlayerClientImpl::create):

  • src/WebPageSerializerImpl.cpp:

(WebKit::WebPageSerializerImpl::preActionBeforeSerializeOpenTag):
(WebKit::WebPageSerializerImpl::endTagToString):
(WebKit::WebPageSerializerImpl::buildContentForNode):
(WebKit::WebPageSerializerImpl::collectTargetFrames):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::autocompleteHandleKeyEvent):
(WebKit::WebViewImpl::enterFullScreenForElement):

Source/WebKit/mac:

  • WebView/WebRenderLayer.mm:

(+[WebRenderLayer nameForLayer:]):

5:48 PM Changeset in webkit [145443] by cevans@google.com
  • 2 edits
    1 copy in branches/chromium/1410

Merge 142760
BUG=172993
Review URL: https://codereview.chromium.org/12558011

5:45 PM Changeset in webkit [145442] by commit-queue@webkit.org
  • 10 edits
    2 copies in trunk/Source

[chromium] Use SkMatrix44 instead of WebTransformationMatrix in animation APIs
https://bugs.webkit.org/show_bug.cgi?id=111791

Patch by James Robinson <jamesr@chromium.org> on 2013-03-11
Reviewed by Adrienne Walker.

Source/Platform:

This adds SkMatrix44 overrides for animation APIs that deal with matrices and slims the interface
down for WebTransformationMatrix to the minimum needed to compile. With this patch, there are no
live codepaths that use WebTransformationMatrix but some downstream code still needs a type and a
few functions to compile. After the downstream code is patched this type can go away completely.

  • chromium/public/WebLayer.h:

(WebKit):
(WebLayer):

  • chromium/public/WebTransformAnimationCurve.h:

(WebTransformAnimationCurve):

  • chromium/public/WebTransformOperations.h:

(WebTransformOperations):

  • chromium/public/WebTransformationMatrix.h:

(WebTransformationMatrix):

Source/WebCore:

Adds a new utility function to convert a TransformationMatrix to an SkMatrix44 and
uses it in AnimationTranslationUtil and GraphicsLayerChromium.

  • WebCore.gypi:
  • platform/chromium/support/WebTransformationMatrix.cpp:

(WebKit::WebTransformationMatrix::WebTransformationMatrix):

  • platform/graphics/chromium/AnimationTranslationUtil.cpp:

(WebCore::toWebTransformOperations):

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::updateTransform):
(WebCore::GraphicsLayerChromium::updateChildrenTransform):

  • platform/graphics/chromium/TransformSkMatrix44Conversions.cpp:

(WebCore::TransformSkMatrix44Conversions::convert):

  • platform/graphics/chromium/TransformSkMatrix44Conversions.h:

(TransformSkMatrix44Conversions):

5:16 PM Changeset in webkit [145441] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Unreviewed, rolling out r145435.
http://trac.webkit.org/changeset/145435
https://bugs.webkit.org/show_bug.cgi?id=112082

Still does not compile (Requested by jamesr on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-11

Source/WebCore:

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::IDBBackingStore::getObjectStores):
(WebCore::IDBBackingStore::createObjectStore):
(WebCore::IDBBackingStore::deleteObjectStore):
(WebCore::IDBBackingStore::getRecord):
(WebCore::IDBBackingStore::putRecord):
(WebCore::IDBBackingStore::clearObjectStore):
(WebCore::IDBBackingStore::deleteRecord):
(WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBBackingStore::getIndexes):
(WebCore::IDBBackingStore::createIndex):
(WebCore::IDBBackingStore::deleteIndex):
(WebCore::IDBBackingStore::putIndexDataForRecord):
(WebCore::IDBBackingStore::findKeyInIndex):
(WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStore::keyExistsInIndex):
(WebCore::indexCursorOptions):

  • Modules/indexeddb/IDBBackingStore.h:

(IDBBackingStore):

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::DeleteIndexOperation::create):
(WebCore::DeleteIndexOperation::DeleteIndexOperation):
(DeleteIndexOperation):
(WebCore::IDBDatabaseBackendImpl::openInternal):
(WebCore::IDBDatabaseBackendImpl::deleteIndex):
(WebCore::DeleteIndexOperation::perform):
(WebCore::DeleteRangeOperation::perform):
(WebCore::ClearOperation::perform):

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
(WebCore::IDBLevelDBCoding::KeyPrefix::encode):
(WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
(WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
(WebCore::IDBLevelDBCoding::DataVersionKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
(WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
(WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
(WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):

  • Modules/indexeddb/IDBLevelDBCoding.h:

(IDBLevelDBCoding):
(KeyPrefix):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys):

Source/WebKit/chromium:

  • tests/IDBBackingStoreTest.cpp:

(WebCore::IDBBackingStoreTest::SetUp):
(IDBBackingStoreTest):
(WebCore::TEST_F):

  • tests/IDBFakeBackingStore.h:
  • tests/IDBLevelDBCodingTest.cpp:

(IDBLevelDBCoding):
(IDBLevelDBCoding::TEST):

5:15 PM Changeset in webkit [145440] by Lucas Forschler
  • 4 edits in branches/safari-536.29-branch/Source

Versioning.

5:14 PM Changeset in webkit [145439] by Lucas Forschler
  • 1 copy in tags/Safari-536.29.8

New Tag.

5:12 PM Changeset in webkit [145438] by Lucas Forschler
  • 5 edits in branches/safari-534.59-branch/Source

Versioning.

5:09 PM Changeset in webkit [145437] by Lucas Forschler
  • 1 copy in tags/Safari-534.59.4

New Tag.

5:07 PM Changeset in webkit [145436] by jamesr@google.com
  • 33 edits
    1 copy
    7 adds in trunk/LayoutTests

First (of probably many) layer tree rebaselines for r145422

  • platform/chromium-linux-x86/compositing/overflow/composited-scrolling-paint-phases-expected.txt: Copied from LayoutTests/platform/chromium-linux/compositing/overflow/composited-scrolling-paint-phases-expected.txt.
  • platform/chromium-linux/compositing/iframes/become-overlapped-iframe-expected.txt:
  • platform/chromium-linux/compositing/iframes/composited-parent-iframe-expected.txt:
  • platform/chromium-linux/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
  • platform/chromium-linux/compositing/iframes/connect-compositing-iframe-expected.txt:
  • platform/chromium-linux/compositing/iframes/connect-compositing-iframe2-expected.txt:
  • platform/chromium-linux/compositing/iframes/connect-compositing-iframe3-expected.txt:
  • platform/chromium-linux/compositing/iframes/enter-compositing-iframe-expected.txt:
  • platform/chromium-linux/compositing/iframes/iframe-resize-expected.txt:
  • platform/chromium-linux/compositing/iframes/iframe-size-from-zero-expected.txt:
  • platform/chromium-linux/compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • platform/chromium-linux/compositing/iframes/overlapped-iframe-expected.txt:
  • platform/chromium-linux/compositing/iframes/resizer-expected.txt:
  • platform/chromium-linux/compositing/iframes/scrolling-iframe-expected.txt:
  • platform/chromium-linux/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Added.
  • platform/chromium-linux/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Added.
  • platform/chromium-linux/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
  • platform/chromium-linux/compositing/overflow/textarea-scroll-touch-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-paint-phases-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/become-overlapped-iframe-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/composited-parent-iframe-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe-delayed-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe2-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe3-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/enter-compositing-iframe-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/iframe-resize-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/iframe-size-from-zero-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/invisible-nested-iframe-show-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/overlapped-iframe-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/resizer-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/scrolling-iframe-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-paint-phases-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/textarea-scroll-touch-expected.txt:
4:57 PM Changeset in webkit [145435] by alecflett@chromium.org
  • 11 edits in trunk/Source

IndexedDB: Protect against key prefix overflows
https://bugs.webkit.org/show_bug.cgi?id=111138

Reviewed by Tony Chang.

Source/WebCore:

This reworks the boundary checking for all databaseId,
objectStoreId, and indexId, including negative and
zero-based ids. All entrypoints into IDBLevelDBCoding
are protected with explicit checks and all internal
uses of KeyPrefix are protected with ASSERTs in the
various constructors.

Tests: WebKit unit tests IDBBackingStoreTest.cpp in WebKit/chromium

  • Modules/indexeddb/IDBBackingStore.h: Make all public methods boolean-based for errors.
  • Modules/indexeddb/IDBLevelDBCoding.h: Add methods for checking databaseId, objectStoreId, and indexId.

Source/WebKit/chromium:

Add tests for invalid indexIds in basic get/put operations.

4:54 PM Changeset in webkit [145434] by wangxianzhu@chromium.org
  • 1 edit in branches/chromium/1410/Source/WebCore/css/RuleSet.h

Merge 145034 "Make RuleData support up to 8191 selectors"

Make RuleData support up to 8191 selectors
https://bugs.webkit.org/show_bug.cgi?id=111663

Patch by Philippe Liard <pliard@chromium.org> on 2013-03-06
Reviewed by Andreas Kling.

r125294 made RuleData consume less memory by replacing a pointer with
an index encoded on 12 bits.
This unfortunately breaks Chrome for Android (and others) when a lot of
CSS is used or more precisely when selectorIndex cannot be stored on 12
bits.

Threfore this change decreases the number of bits used to store
m_position by 1 (from 19 to 18) and adds this extra bit to
m_selectorIndex so that values up to 8191 can be stored safely without
overflowing.

  • css/RuleSet.h:

(RuleData):

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/12755018

4:48 PM Changeset in webkit [145433] by pdr@google.com
  • 16 edits in trunk/Source/WebCore

Replace static_cast<SVGStyledElement> with toSVGStyledElement()
https://bugs.webkit.org/show_bug.cgi?id=111651

Reviewed by Abhishek Arya.

toSVGStyledElement is preferred over static_cast<SVGStyledElement*> because bad casts
can be caught on our testing infrastructure. This patch replaces all
static_cast<SVGStyledElement> instances with toSVGStyledElement.

Additionally, this patch renames SVGElement::isStyled to SVGElement::isSVGStyledElement to
remove a confusing overlap with html styled elements. This name differs slighly from the
other is*() functions in SVGElement but this will be resolved up with webkit.org/b/107386.

No new tests as this is covered with existing tests.

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::getElementCTM):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
(WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
(WebCore::RenderSVGResourceClipper::hitTestClipContent):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
(WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::createTileImage):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::layoutChildren):

  • rendering/svg/SVGResources.cpp:

(WebCore::registerPendingResource):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
(WebCore::SVGAnimationElement::computeCSSPropertyValue):
(WebCore::SVGAnimationElement::adjustForInheritance):
(WebCore::inheritsFromProperty):

  • svg/SVGElement.cpp:

(WebCore::collectInstancesForSVGElement):
(WebCore::SVGElement::isAnimatableAttribute):

  • svg/SVGElement.h:

(WebCore::SVGElement::isSVGStyledElement):

  • svg/SVGElementInstance.cpp:

(WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
(WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):

  • svg/SVGLocatable.cpp:

(WebCore::SVGLocatable::computeCTM):

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::updateRelativeLengthsInformation):

  • svg/SVGStyledElement.h:

(WebCore::SVGStyledElement::isSVGStyledElement):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::selfHasRelativeLengths):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::platformApplySoftware):

4:47 PM Changeset in webkit [145432] by timothy_horton@apple.com
  • 6 edits in trunk/Source

PDFPlugin: Make scrolling between pages in non-continuous modes work
https://bugs.webkit.org/show_bug.cgi?id=111415
<rdar://problem/12555320>

Reviewed by Alexey Proskuryakov.

  • WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:

Add some more PDFLayerController SPI.

  • WebProcess/Plugins/PDF/PDFPlugin.h:

(PDFPlugin): Override handleWheelEvent.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::handleWheelEvent):
If PDFLayerController is in non-continuous mode, allow scrolling between
pages by intercepting scroll events, and checking whether we're at the
top or bottom of a page. If we are, and a single event exceeds the threshold
of 20px (0px for legacy scroll wheels), we jump to the next or previous
page and scroll to the right place. Do not allow momentum scrolling to
switch pages.

  • WebCore.exp.in: Export ScrollableArea::scrollToOffsetWithoutAnimation.
4:44 PM Changeset in webkit [145431] by mark.lam@apple.com
  • 3 edits in trunk/Source/WebCore

Remove the use of the quotaMap cache in DatabaseTracker.
https://bugs.webkit.org/show_bug.cgi?id=111805.

Reviewed by Geoffrey Garen.

This change is needed because using the quotaMap cache can result in
an inaccurate read (in a multi-process system) on what database files
are actually present on the filesystem. Instead of using the quotaMap
cache, we rely on the tracker database and query it every time we need
the origin/quota information.

No new tests.

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
(WebCore::DatabaseTracker::hasEntryForOriginNoLock):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::quotaForOriginNoLock):
(WebCore::DatabaseTracker::setQuota):
(WebCore::DatabaseTracker::addDatabase):
(WebCore::DatabaseTracker::deleteOrigin):

  • Modules/webdatabase/DatabaseTracker.h:
4:40 PM Changeset in webkit [145430] by adamk@chromium.org
  • 4 edits
    1 copy in branches/chromium/1410

Merge 144522 "Don't leak Documents when using MutationObserver f..."

Don't leak Documents when using MutationObserver from extensions
https://bugs.webkit.org/show_bug.cgi?id=111234

Patch by Elliott Sprehn <Elliott Sprehn> on 2013-03-01
Reviewed by Adam Barth.

.:

  • ManualTests/leak-observer-nonmain-world.html: Added.

Source/WebCore:

MutationObserverCallback holds a WorldContextHandle which secretly isn't
a handle to anything when it's for the main world. When it's for a non-main
world though, like those used in extensions, it becomes a strong reference
to the v8::Context which results in leaks by creating cycles:

MutationObserver -> Callback -> World -> Document -> Node -> MutationObserver.

Instead we should keep a RefPtr to a DOMWrapperWorld in the callback and then
get the v8::Context from that inside handleEvent.

Tests: ManualTests/leak-observer-nonmain-world.html

  • bindings/v8/V8Binding.cpp:

(WebCore::toV8Context): Added overload that takes a DOMWrapperWorld.

  • bindings/v8/V8Binding.h:
  • bindings/v8/V8MutationCallback.cpp:

(WebCore::V8MutationCallback::V8MutationCallback):
(WebCore::V8MutationCallback::handleEvent):

  • bindings/v8/V8MutationCallback.h:

(V8MutationCallback):

TBR=esprehn@chromium.org

4:40 PM Changeset in webkit [145429] by jamesr@google.com
  • 3 edits in trunk/LayoutTests

De-flake fast/dom/title-directionality.html
https://bugs.webkit.org/show_bug.cgi?id=112075

Reviewed by Adam Barth.

This moves the test logic from an inline script to an onload handler. Otherwise, the whitespace collapsing logic
creates a race between the style recalc timer and the HTML parser which sometimes produces an extra newline at
the end of the text output.

  • fast/dom/title-directionality-expected.txt:
  • fast/dom/title-directionality.html:
4:40 PM Changeset in webkit [145428] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Don't rely on the fact that StaticPosition happens to be defined as 0
https://bugs.webkit.org/show_bug.cgi?id=110123

Also made the expression slightly less convoluted.

Patch by Morten Stenshorne <mstensho@opera.com> on 2013-03-11
Reviewed by Alexey Proskuryakov.

No new tests. This is just code cleanup.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containingBlock):

4:39 PM Changeset in webkit [145427] by commit-queue@webkit.org
  • 2 edits in trunk

[Autotools] Set ENABLE_GTK_DOC to false if gtk-doc is not installed
https://bugs.webkit.org/show_bug.cgi?id=111980

Patch by Tobias Mueller <tobiasmue@gnome.org> on 2013-03-11
Reviewed by Martin Robinson.

WebKit did not configure if gtk-doc-am was not installed with the error:
Tools/GNUmakefile.am:419: ENABLE_GTK_DOC does not appear in AM_CONDITIONAL

  • Source/autotools/FindDependencies.m4:
4:36 PM Changeset in webkit [145426] by mark.lam@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix some WebDatabaseManagerProxy methods to only send to one WebProcsess
instead of broadcasting to all WebProcesses.
https://bugs.webkit.org/show_bug.cgi?id=112074.

Reviewed by Alexey Proskuryakov.

The reason for this is because the intent of these messages is to act on
the tracker database that is shared between all WebProcesses. It is
redundant and inefficient for multiple WebProcesses to service the same
request/message. And because of multi-process contention on accessing
the tracker database, the results returned to the UIProcess may also be
erroneous.

For example, if getDatabaseOrigins() is broadcasted to all WebProcesses,
they will contend to open the tracker database at the same time. If one
of these processes fails because the database is already in use, then
it may return with an empty list when it should not be empty.

With this fix, only one WebProcess gets the message and will perform the
requested query/action on behalf of all WebProcesses.

  • UIProcess/WebContext.h:

(WebKit::WebContext::sendToOneProcess):

  • UIProcess/WebDatabaseManagerProxy.cpp:

(WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
(WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
(WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):

4:25 PM Changeset in webkit [145425] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed attempt to fix build after http://trac.webkit.org/changeset/145421.

  • html/HTMLPlugInImageElement.cpp:
4:20 PM Changeset in webkit [145424] by ojan@chromium.org
  • 6 edits
    4 adds in trunk

Intrinsic width keyword values don't work for tables
https://bugs.webkit.org/show_bug.cgi?id=111515

Reviewed by Julien Chaffraix.

Source/WebCore:

Tests: fast/css-intrinsic-dimensions/css-tables.html

fast/css-intrinsic-dimensions/tables.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):

  • rendering/RenderBox.h:

Pass in the border and padding as an argument since RenderTable needs
to pass in a different value. Unfortunately, the math doesn't work out right
in the positioned/replaced cases if we just pass 0. We need to pass in the correct
border and padding and then subtract it from the result.

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::updateLogicalWidth):
Compute intrinsic widths as well as specified ones. Down the road
we may want to consider having intrinsic width values return true for
isSpecified.

(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
Compute intrinsic widths as well.

(WebCore::RenderTable::computeIntrinsicLogicalWidths):
Implement this method so that the RenderBox::computeIntrinsicLogicalWidthUsing
gets the right intrinsic values instead of the preferred values.

(WebCore::RenderTable::computePreferredLogicalWidths):

  • rendering/RenderTable.h:

LayoutTests:

  • fast/css-intrinsic-dimensions/css-tables-expected.txt: Added.
  • fast/css-intrinsic-dimensions/css-tables.html: Added.
  • fast/css-intrinsic-dimensions/tables-expected.txt: Added.
  • fast/css-intrinsic-dimensions/tables.html: Added.
4:18 PM Changeset in webkit [145423] by schenney@chromium.org
  • 8 edits
    2 adds in trunk

HTMLInputElement can delete an ImageLoader while it's still needed
https://bugs.webkit.org/show_bug.cgi?id=110621

Reviewed by Darin Adler.

Source/WebCore:

ImageLoader objects may fire events for HTMLInputElements that are of
type ImageInputType that own the loader. These events may cause script
to run that changes the type of the input element and hence causes the
ImageLoader to be deleted, while the image loader is still processing
the event dispatch. Bad things ensue.

This change moves ownership of the ImageLoader from the ImageInputType
onto the HTMLImageElement which is already protected from deletion during
event processing.

Test: fast/forms/image/image-error-event-modifies-type-crash.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::imageLoader): Method to return the

ImageLoader, creating it if not already created.

  • html/HTMLInputElement.h:

(WebCore::HTMLInputElement::hasImageLoader): Return true if the

ImageLoader has been created.

(HTMLInputElement): Define ImageLoader access methods and the OwnPtr

for the HTMLImageLoader.

  • html/ImageInputType.cpp:

(WebCore::ImageInputType::srcAttributeChanged): Use the element's ImageLoader.
(WebCore::ImageInputType::attach): Use the element's ImageLoader.
(WebCore::ImageInputType::willMoveToNewOwnerDocument): Use the element's ImageLoader.
(WebCore::ImageInputType::height): Use the element's ImageLoader.
(WebCore::ImageInputType::width): Use the element's ImageLoader.

  • html/ImageInputType.h:

(ImageInputType): Remove the declaration of the ImageLoader.

LayoutTests:

  • fast/forms/image/image-error-event-modifies-type-crash-expected.txt: Added.
  • fast/forms/image/image-error-event-modifies-type-crash.html: Added.
4:02 PM WebKitGTK/2.0.x edited by Martin Robinson
(diff)
3:59 PM Changeset in webkit [145422] by alokp@chromium.org
  • 303 edits
    8 deletes in trunk

Revert "Mark GraphicsLayers as opaque when possible"

This reverts commit 0a4d3c2d8a0373aa9e5bd9209885137a13a7f0e0.

REGRESSION (r143626): http://chainlove.com shows garbage tiles on Mac
https://bugs.webkit.org/show_bug.cgi?id=112043

Unreviewed, rolling out r143626.

Source/WebCore:

  • rendering/RenderBox.cpp:
  • rendering/RenderBox.h:

(RenderBox):

  • rendering/RenderBoxModelObject.h:

(RenderBoxModelObject):

  • rendering/RenderLayer.cpp:
  • rendering/RenderLayer.h:

(RenderLayer):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerModelObject.h:

(RenderLayerModelObject):

LayoutTests:

  • compositing/absolute-inside-out-of-view-fixed-expected.txt:
  • compositing/backing/no-backing-for-clip-expected.txt:
  • compositing/backing/no-backing-for-clip-overlap-expected.txt:
  • compositing/backing/no-backing-for-perspective-expected.txt:
  • compositing/clip-child-by-non-stacking-ancestor-expected.txt:
  • compositing/columns/composited-in-paginated-expected.txt:
  • compositing/contents-opaque/contents-opaque-background-clip-expected.txt: Removed.
  • compositing/contents-opaque/contents-opaque-background-clip.html: Removed.
  • compositing/contents-opaque/contents-opaque-background-color-expected.txt: Removed.
  • compositing/contents-opaque/contents-opaque-background-color.html: Removed.
  • compositing/contents-opaque/contents-opaque-layer-opacity-expected.txt: Removed.
  • compositing/contents-opaque/contents-opaque-layer-opacity.html: Removed.
  • compositing/contents-opaque/contents-opaque-layer-transform-expected.txt: Removed.
  • compositing/contents-opaque/contents-opaque-layer-transform.html: Removed.
  • compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
  • compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-expected.txt:
  • compositing/geometry/clip-expected.txt:
  • compositing/geometry/clip-inside-expected.txt:
  • compositing/geometry/fixed-position-composited-switch-expected.txt:
  • compositing/geometry/flipped-writing-mode-expected.txt:
  • compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
  • compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
  • compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
  • compositing/geometry/limit-layer-bounds-fixed-expected.txt:
  • compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
  • compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
  • compositing/geometry/limit-layer-bounds-positioned-expected.txt:
  • compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
  • compositing/geometry/preserve-3d-switching-expected.txt:
  • compositing/iframes/become-composited-nested-iframes-expected.txt:
  • compositing/iframes/become-overlapped-iframe-expected.txt:
  • compositing/iframes/composited-parent-iframe-expected.txt:
  • compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
  • compositing/iframes/connect-compositing-iframe-expected.txt:
  • compositing/iframes/connect-compositing-iframe2-expected.txt:
  • compositing/iframes/connect-compositing-iframe3-expected.txt:
  • compositing/iframes/enter-compositing-iframe-expected.txt:
  • compositing/iframes/iframe-resize-expected.txt:
  • compositing/iframes/invisible-nested-iframe-hide-expected.txt:
  • compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • compositing/iframes/overlapped-iframe-expected.txt:
  • compositing/iframes/overlapped-iframe-iframe-expected.txt:
  • compositing/iframes/overlapped-nested-iframes-expected.txt:
  • compositing/iframes/page-cache-layer-tree-expected.txt:
  • compositing/iframes/scrolling-iframe-expected.txt:
  • compositing/layer-creation/animation-overlap-with-children-expected.txt:
  • compositing/layer-creation/fixed-position-and-transform-expected.txt:
  • compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
  • compositing/layer-creation/fixed-position-out-of-view-expected.txt:
  • compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
  • compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
  • compositing/layer-creation/fixed-position-under-transform-expected.txt:
  • compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
  • compositing/layer-creation/overflow-scroll-overlap-expected.txt:
  • compositing/layer-creation/overlap-animation-clipping-expected.txt:
  • compositing/layer-creation/overlap-animation-expected.txt:
  • compositing/layer-creation/overlap-child-layer-expected.txt:
  • compositing/layer-creation/overlap-clipping-expected.txt:
  • compositing/layer-creation/overlap-transformed-3d-expected.txt:
  • compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
  • compositing/layer-creation/overlap-transformed-layer-expected.txt:
  • compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
  • compositing/layer-creation/overlap-transforms-expected.txt:
  • compositing/layer-creation/spanOverlapsCanvas-expected.txt:
  • compositing/layer-creation/stacking-context-overlap-expected.txt:
  • compositing/layer-creation/translatez-overlap-expected.txt:
  • compositing/masks/mask-layer-size-expected.txt:
  • compositing/overflow-trumps-transform-style-expected.txt:
  • compositing/overflow/clip-descendents-expected.txt:
  • compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
  • compositing/overflow/textarea-scroll-touch-expected.txt:
  • compositing/plugins/no-backing-store-expected.txt:
  • compositing/repaint/invalidations-on-composited-layers-expected.txt:
  • compositing/rtl/rtl-absolute-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-fixed-expected.txt:
  • compositing/rtl/rtl-fixed-overflow-expected.txt:
  • compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-iframe-absolute-expected.txt:
  • compositing/rtl/rtl-iframe-absolute-overflow-expected.txt:
  • compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-iframe-fixed-expected.txt:
  • compositing/rtl/rtl-iframe-fixed-overflow-expected.txt:
  • compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-iframe-relative-expected.txt:
  • compositing/rtl/rtl-relative-expected.txt:
  • compositing/tiled-layers-hidpi-expected.txt:
  • compositing/tiling/backface-preserve-3d-tiled-expected.txt:
  • compositing/tiling/crash-reparent-tiled-layer-expected.txt:
  • compositing/tiling/huge-layer-add-remove-child-expected.txt:
  • compositing/tiling/huge-layer-with-layer-children-expected.txt:
  • compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
  • compositing/tiling/rotated-tiled-clamped-expected.txt:
  • compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • compositing/tiling/tile-cache-zoomed-expected.txt:
  • compositing/tiling/tiled-layer-resize-expected.txt:
  • compositing/visible-rect/2d-transformed-expected.txt:
  • compositing/visible-rect/3d-transform-style-expected.txt:
  • compositing/visible-rect/3d-transformed-expected.txt:
  • compositing/visible-rect/animated-expected.txt:
  • compositing/visible-rect/animated-from-none-expected.txt:
  • compositing/visible-rect/clipped-by-viewport-expected.txt:
  • compositing/visible-rect/clipped-visible-rect-expected.txt:
  • compositing/visible-rect/iframe-and-layers-expected.txt:
  • compositing/visible-rect/iframe-no-layers-expected.txt:
  • compositing/visible-rect/nested-transform-expected.txt:
  • compositing/visible-rect/scrolled-expected.txt:
  • css3/filters/filtered-compositing-descendant-expected.txt:
  • platform/chromium-linux-x86/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • platform/chromium-linux-x86/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
  • platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
  • platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
  • platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
  • platform/chromium-linux/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • platform/chromium-linux/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
  • platform/chromium-mac/compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • platform/chromium-mac/compositing/overflow/textarea-scroll-touch-expected.txt:
  • platform/chromium-mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
  • platform/chromium-mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
  • platform/chromium-mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
  • platform/chromium-mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
  • platform/chromium-mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
  • platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch-expected.txt:
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/textarea-scroll-touch-expected.txt:
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/repaint/invalidations-on-composited-layers-expected.txt:
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/tiling/huge-layer-add-remove-child-expected.txt:
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/tiling/huge-layer-with-layer-children-expected.txt:
  • platform/chromium-win-xp/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • platform/chromium-win-xp/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
  • platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
  • platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
  • platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
  • platform/chromium-win/compositing/backing/no-backing-for-clip-expected.txt:
  • platform/chromium-win/compositing/backing/no-backing-for-clip-overlap-expected.txt:
  • platform/chromium-win/compositing/backing/no-backing-for-perspective-expected.txt:
  • platform/chromium-win/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • platform/chromium-win/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
  • platform/chromium-win/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
  • platform/chromium-win/compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
  • platform/chromium-win/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
  • platform/chromium-win/compositing/geometry/preserve-3d-switching-expected.txt:
  • platform/chromium-win/compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • platform/chromium-win/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
  • platform/chromium-win/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
  • platform/chromium-win/compositing/tiling/huge-layer-add-remove-child-expected.txt:
  • platform/chromium-win/compositing/tiling/huge-layer-with-layer-children-expected.txt:
  • platform/chromium-win/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
  • platform/chromium/TestExpectations:
  • platform/chromium/compositing/backing/no-backing-for-clip-expected.txt:
  • platform/chromium/compositing/backing/no-backing-for-clip-overlap-expected.txt:
  • platform/chromium/compositing/backing/no-backing-for-perspective-expected.txt:
  • platform/chromium/compositing/columns/composited-in-paginated-expected.txt:
  • platform/chromium/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
  • platform/chromium/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
  • platform/chromium/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • platform/chromium/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
  • platform/chromium/compositing/geometry/clip-expected.txt:
  • platform/chromium/compositing/geometry/clip-inside-expected.txt:
  • platform/chromium/compositing/geometry/fixed-position-composited-switch-expected.txt:
  • platform/chromium/compositing/geometry/flipped-writing-mode-expected.txt:
  • platform/chromium/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
  • platform/chromium/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
  • platform/chromium/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
  • platform/chromium/compositing/geometry/limit-layer-bounds-positioned-expected.txt:
  • platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
  • platform/chromium/compositing/geometry/limit-layer-bounds-transformed-expected.txt:
  • platform/chromium/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
  • platform/chromium/compositing/geometry/preserve-3d-switching-expected.txt:
  • platform/chromium/compositing/iframes/become-composited-nested-iframes-expected.txt:
  • platform/chromium/compositing/iframes/become-overlapped-iframe-expected.txt:
  • platform/chromium/compositing/iframes/composited-parent-iframe-expected.txt:
  • platform/chromium/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
  • platform/chromium/compositing/iframes/connect-compositing-iframe-expected.txt:
  • platform/chromium/compositing/iframes/connect-compositing-iframe2-expected.txt:
  • platform/chromium/compositing/iframes/connect-compositing-iframe3-expected.txt:
  • platform/chromium/compositing/iframes/enter-compositing-iframe-expected.txt:
  • platform/chromium/compositing/iframes/iframe-resize-expected.txt:
  • platform/chromium/compositing/iframes/iframe-size-from-zero-expected.txt:
  • platform/chromium/compositing/iframes/invisible-nested-iframe-hide-expected.txt:
  • platform/chromium/compositing/iframes/overlapped-iframe-expected.txt:
  • platform/chromium/compositing/iframes/overlapped-iframe-iframe-expected.txt:
  • platform/chromium/compositing/iframes/overlapped-nested-iframes-expected.txt:
  • platform/chromium/compositing/iframes/resizer-expected.txt:
  • platform/chromium/compositing/iframes/scrolling-iframe-expected.txt:
  • platform/chromium/compositing/layer-creation/fixed-position-and-transform-expected.txt:
  • platform/chromium/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
  • platform/chromium/compositing/layer-creation/fixed-position-out-of-view-expected.txt:
  • platform/chromium/compositing/layer-creation/fixed-position-under-transform-expected.txt:
  • platform/chromium/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
  • platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt:
  • platform/chromium/compositing/layer-creation/overlap-animation-clipping-expected.txt:
  • platform/chromium/compositing/layer-creation/overlap-animation-expected.txt:
  • platform/chromium/compositing/layer-creation/overlap-child-layer-expected.txt:
  • platform/chromium/compositing/layer-creation/overlap-clipping-expected.txt:
  • platform/chromium/compositing/layer-creation/overlap-transformed-3d-expected.txt:
  • platform/chromium/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
  • platform/chromium/compositing/layer-creation/overlap-transformed-layer-expected.txt:
  • platform/chromium/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
  • platform/chromium/compositing/layer-creation/overlap-transforms-expected.txt:
  • platform/chromium/compositing/layer-creation/spanOverlapsCanvas-expected.txt:
  • platform/chromium/compositing/layer-creation/stacking-context-overlap-expected.txt:
  • platform/chromium/compositing/layer-creation/translatez-overlap-expected.txt:
  • platform/chromium/compositing/overflow-trumps-transform-style-expected.txt:
  • platform/chromium/compositing/overflow/clip-descendents-expected.txt:
  • platform/chromium/compositing/rtl/rtl-absolute-expected.txt:
  • platform/chromium/compositing/rtl/rtl-absolute-overflow-expected.txt:
  • platform/chromium/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
  • platform/chromium/compositing/rtl/rtl-fixed-expected.txt:
  • platform/chromium/compositing/rtl/rtl-fixed-overflow-expected.txt:
  • platform/chromium/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • platform/chromium/compositing/rtl/rtl-iframe-absolute-expected.txt:
  • platform/chromium/compositing/rtl/rtl-iframe-fixed-expected.txt:
  • platform/chromium/compositing/rtl/rtl-iframe-relative-expected.txt:
  • platform/chromium/compositing/rtl/rtl-relative-expected.txt:
  • platform/chromium/css3/filters/filtered-compositing-descendant-expected.txt:
  • platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
  • platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt:
  • platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
  • platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
  • platform/efl/TestExpectations:
  • platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt:
  • platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
  • platform/mac/compositing/iframes/resizer-expected.txt:
  • platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
  • platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
  • platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt:
  • platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
  • platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
  • platform/mac/compositing/tiling/tiled-layer-resize-expected.txt:
  • platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
  • platform/qt-5.0-wk2/compositing/columns/composited-in-paginated-expected.txt:
  • platform/qt-5.0-wk2/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/become-composited-nested-iframes-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/become-overlapped-iframe-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/composited-parent-iframe-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe2-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe3-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/enter-compositing-iframe-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/iframe-resize-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/overlapped-iframe-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/overlapped-nested-iframes-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/page-cache-layer-tree-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/resizer-expected.txt:
  • platform/qt-5.0-wk2/compositing/iframes/scrolling-iframe-expected.txt:
  • platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-and-transform-expected.txt:
  • platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt:
  • platform/qt-5.0-wk2/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
  • platform/qt-5.0-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt:
  • platform/qt-5.0-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
  • platform/qt-5.0-wk2/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • platform/qt-5.0-wk2/compositing/tiled-layers-hidpi-expected.txt:
  • platform/qt-5.0-wk2/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
  • platform/qt-5.0-wk2/compositing/tiling/huge-layer-add-remove-child-expected.txt:
  • platform/qt-5.0-wk2/compositing/tiling/huge-layer-with-layer-children-expected.txt:
  • platform/qt-5.0-wk2/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
  • platform/qt/TestExpectations:
  • platform/qt/compositing/backing/no-backing-for-clip-expected.txt:
  • platform/qt/compositing/backing/no-backing-for-clip-overlap-expected.txt:
  • platform/qt/compositing/backing/no-backing-for-perspective-expected.txt:
  • platform/qt/compositing/geometry/preserve-3d-switching-expected.txt:
  • platform/qt/compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • platform/qt/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
  • platform/qt/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
  • platform/win/compositing/iframes/overlapped-iframe-iframe-expected.txt:
  • platform/win/compositing/tiling/huge-layer-add-remove-child-expected.txt:
  • platform/win/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/win/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
3:51 PM Changeset in webkit [145421] by dino@apple.com
  • 6 edits in trunk/Source/WebCore

Plugins created during user gestures (or soon after) should not be snapshotted
https://bugs.webkit.org/show_bug.cgi?id=111975

Reviewed by Tim Horton.

There are sites which create plugins in response to user actions, such as clicking
on an image that is acting like a poster frame. In those cases we should never snapshot.

There are some other sites which also create plugins in response to user actions,
but don't necessarily create the content themselves. Instead they run some script
that injects an iframe, and the frame loads a plugin. In order to make sure we don't
snapshot in those cases, we're adding the concept of a blessed plugin. Anything that
is created soon after a *handled* user gesture is not snapshotted. To do this we
mark a timestamp in the document when we've called an event listener for a user
gesture. The plugin element then compares its creation time with the most recent
user action time.

  • dom/Document.cpp:

(WebCore::Document::Document): Initialise new timestamp.
(WebCore::Document::resetLastHandledUserGestureTimestamp): Sets the member variable

to the current time.

  • dom/Document.h:

(WebCore::Document::lastHandledUserGestureTimestamp): Getter.

  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners): If there were some event listeners and

we were processing a user gesture, then reset the timestamp in the document.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Remember if we were created

during a user gesture.

(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Start the plugin

if we were created during a user gesture, or if we are close enough in time
to a listener that fired in relation to a user gesture.

  • html/HTMLPlugInImageElement.h: New private member flag indicating if we were

in a user gesture when constructed.

3:45 PM Changeset in webkit [145420] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed build fix. Rolling out inadvertent setting of DATA_LOG_TO_FILE.

3:38 PM Changeset in webkit [145419] by jpfau@apple.com
  • 4 edits in trunk/Source

List cache partitions as units instead of as their contents
https://bugs.webkit.org/show_bug.cgi?id=111909

Reviewed by Maciej Stachowiak.

Source/WebCore:

Not possible to test with current automated test tools, must be tested manually.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::getOriginsWithCache): List a cache item as a member of a partition, if possible

Source/WebKit2:

  • WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:

(WebKit::WebResourceCacheManager::cfURLCacheHostNames): Attempt to enumerate cache partitions based on information we have

3:37 PM Changeset in webkit [145418] by jamesr@google.com
  • 4 edits
    2 adds in trunk/LayoutTests

Update chromium render tree baselines for track cue changes in r145397.

  • platform/chromium-linux/media/track/track-cue-rendering-horizontal-expected.txt: Added.
  • platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.txt: Added.
  • platform/chromium-mac-lion/media/track/track-cue-rendering-vertical-expected.txt:
  • platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/chromium-mac/media/track/track-cue-rendering-vertical-expected.txt:
3:36 PM Changeset in webkit [145417] by msaboff@apple.com
  • 3 edits in trunk/Source

Crash beneath operationCreateInlinedArguments running fast/js/dfg-create-inlined-arguments-in-closure-inline.html (32-bit only)
https://bugs.webkit.org/show_bug.cgi?id=112067

Reviewed by Geoffrey Garen.

We weren't setting the tag in SetCallee. Therefore set it to CellTag.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

3:32 PM Changeset in webkit [145416] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Chromium build fix. Forked files strike again.

  • platform/network/chromium/ResourceHandle.cpp: (WebCore::ResourceHandle::firstRequest):
3:25 PM Changeset in webkit [145415] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Add a method to find the ScrollView for a text selection.
https://bugs.webkit.org/show_bug.cgi?id=112061

Patch by Genevieve Mak <gmak@rim.com> on 2013-03-11
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton and Jakob Petsovits.
PR #278490

Refactor the code in InRegionScroller so that we can add a method to find
the InRegionScrollableArea for a text selection.

  • Api/InRegionScroller.cpp:

(BlackBerry::WebKit::InRegionScrollerPrivate::clipToRect):

  • Pull out recursive clipping code into its own function.

(WebKit):
(BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
(BlackBerry::WebKit::InRegionScrollerPrivate::firstScrollableInRegionForNode):

  • This new method allows us to get just the first scrollable region instead of looking for more nested ones. We may want to refactor in the future because some of the code is very similar to calculateInRegionScrollableAreasForPoint.

(BlackBerry::WebKit::InRegionScrollerPrivate::clipAndCreateInRegionScrollableArea):

  • Add a convenience method for the previous function
  • Api/InRegionScroller.h:

(WebKit):

  • Api/InRegionScroller_p.h:

(InRegionScrollerPrivate):

3:22 PM Changeset in webkit [145414] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Unreviewed build fix. Remove stray brace which crept into r145409.

  • WebView/WebFullScreenController.mm:

(-[WebFullScreenController performClose:]):

3:18 PM Changeset in webkit [145413] by jamesr@google.com
  • 2 edits in trunk/Source/WebCore

Fix typo from r145399. Rubber stamped by Abhishek Arya.

  • rendering/svg/RenderSVGViewportContainer.h:

(WebCore::toRenderSVGViewportContainer):

3:15 PM Changeset in webkit [145412] by ggaren@apple.com
  • 2 edits in trunk/Tools

Some StringHasher tests are broken because of missing null termination
https://bugs.webkit.org/show_bug.cgi?id=111284

Reviewed by Darin Adler.

  • TestWebKitAPI/Tests/WTF/StringHasher.cpp:

(TestWebKitAPI): Added null termination since C strings are null-terminated.
(TestWebKitAPI::TEST): Removed #ifdef's that disabled this testing since
the bug caught by it is now fixed.

3:12 PM Changeset in webkit [145411] by hmuller@adobe.com
  • 9 edits
    1 copy
    1 add in trunk/Source/WebCore

[CSS Exclusions] Refactor the ExclusionPolygon class to enable storing multiple boundaries
https://bugs.webkit.org/show_bug.cgi?id=111766

Reviewed by Dirk Schulze.

Refactored the ExclusionPolygon class to enable adding support for shape-margin and shape-padding.
Extracted a new FloatPolygon class which is now used by ExclusionPolygon to represent the shape's
boundary. It will be used to add m_paddedPolygon and m_marginPolygon members to ExclusionPolygon
in a subsequent patch.

No new tests. This is strictly a refactoring of the existing code.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FloatPolygon.cpp: Factored out of Source/WebCore/rendering/ExclusionPolygon.cpp.

(WebCore::determinant):
(WebCore::areCollinearPoints):
(WebCore::areCoincidentPoints):
(WebCore::isPointOnLineSegment):
(WebCore::nextVertexIndex):
(WebCore::FloatPolygon::FloatPolygon):
(WebCore::FloatPolygon::findNextEdgeVertexIndex):
(WebCore::FloatPolygon::overlappingEdges):
(WebCore::leftSide):
(WebCore::FloatPolygon::contains):
(WebCore::VertexPair::overlapsRect):
(WebCore::VertexPair::intersection):

  • platform/graphics/FloatPolygon.h: Factored out of Source/WebCore/rendering/ExclusionPolygon.h.

(FloatPolygon):
(WebCore::FloatPolygon::vertexAt):
(WebCore::FloatPolygon::numberOfVertices):
(WebCore::FloatPolygon::fillRule):
(WebCore::FloatPolygon::edgeAt):
(WebCore::FloatPolygon::numberOfEdges):
(WebCore::FloatPolygon::boundingBox):
(WebCore::FloatPolygon::isEmpty):
(VertexPair):
(WebCore::VertexPair::~VertexPair):
(WebCore::VertexPair::minX):
(WebCore::VertexPair::minY):
(WebCore::VertexPair::maxX):
(WebCore::VertexPair::maxY):
(FloatPolygonEdge):
(WebCore::FloatPolygonEdge::previousEdge):
(WebCore::FloatPolygonEdge::nextEdge):
(WebCore::FloatPolygonEdge::polygon):
(WebCore::FloatPolygonEdge::vertexIndex1):
(WebCore::FloatPolygonEdge::vertexIndex2):
(WebCore::FloatPolygonEdge::edgeIndex):

  • rendering/ExclusionPolygon.cpp: Now depends on FloatPolygon.

(EdgeIntersection):
(WebCore::leftSide):
(WebCore::computeXIntersection):
(WebCore::getVertexIntersectionVertices):
(WebCore::computeXIntersections):
(WebCore::computeOverlappingEdgeXProjections):
(WebCore::ExclusionPolygon::getExcludedIntervals):
(WebCore::ExclusionPolygon::getIncludedIntervals):
(WebCore::firstFitRectInPolygon):
(WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop):

  • rendering/ExclusionPolygon.h: Now depends on FloatPolygon.

(WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
(ExclusionPolygon):
(WebCore::ExclusionPolygon::ExclusionPolygon):

2:53 PM Changeset in webkit [145410] by ap@apple.com
  • 3 edits in trunk/Source/WebCore

Roll out part of r144671.

ResourceHandle::firstRequest() should not be const(), because it returns a
non-const reference.

  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::firstRequest):
  • platform/network/ResourceHandle.h:
2:51 PM Changeset in webkit [145409] by jer.noble@apple.com
  • 6 edits in trunk/Source

Source/WebCore: Mac: Cmd-w should close full screen window.
https://bugs.webkit.org/show_bug.cgi?id=108406

Reviewed by Darin Adler.

Pass performClose: requests on to the owning window controller.

  • platform/mac/WebCoreFullScreenWindow.mm:

(-[WebCoreFullScreenWindow performClose:]):

Source/WebKit/mac: Mac: Cmd-w should close full screen window.
https://bugs.webkit.org/show_bug.cgi?id=108406

Reviewed by Darin Adler.

Allow the user to close the full screen window with Cmd-w by making the full screen window
closable, and by intercepting performClose:.

  • WebView/WebFullScreenController.mm:

(-[WebFullScreenController init]): Create a closable full screen window.
(-[WebFullScreenController performClose:]): When we receive a close request in full screen mode,

animate out of full screen.

Source/WebKit2: Full screen mode should not exit when application resigns active state.
https://bugs.webkit.org/show_bug.cgi?id=106129

Reviewed by Darin Adler.

Allow the user to close the full screen window with Cmd-w by making the full screen window
closable, and by intercepting performClose:.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController init]): Create a closable full screen window.
(-[WKFullScreenWindowController performClose:]): When we receive a close request in full screen mode,

animate out of full screen.

2:48 PM Changeset in webkit [145408] by benjamin@webkit.org
  • 3 edits
    1 add
    12 deletes in trunk/LayoutTests

Modernize the test visited-link-background-color.html
https://bugs.webkit.org/show_bug.cgi?id=111931

Reviewed by Sam Weinig.

Make the test a ref-test instead of a pixel test.

Use Internals' computedStyleIncludingVisitedInfo to make the test reliable
on platforms where the visited link list is updated asynchronously.

  • fast/history/visited-link-background-color-expected.html: Copied from LayoutTests/fast/history/visited-link-background-color.html.
  • fast/history/visited-link-background-color.html:
  • platform/chromium-linux/fast/history/visited-link-background-color-expected.png: Removed.
  • platform/chromium-win/fast/history/visited-link-background-color-expected.png: Removed.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/history/visited-link-background-color-expected.png: Removed.
  • platform/chromium/fast/history/visited-link-background-color-expected.txt: Removed.
  • platform/efl-wk1/fast/history/visited-link-background-color-expected.png: Removed.
  • platform/efl/fast/history/visited-link-background-color-expected.png: Removed.
  • platform/efl/fast/history/visited-link-background-color-expected.txt: Removed.
  • platform/gtk/fast/history/visited-link-background-color-expected.png: Removed.
  • platform/gtk/fast/history/visited-link-background-color-expected.txt: Removed.
  • platform/mac-wk2/fast/history/visited-link-background-color-expected.png: Removed.
  • platform/mac-wk2/fast/history/visited-link-background-color-expected.txt: Removed.
  • platform/mac/fast/history/visited-link-background-color-expected.png: Removed.
  • platform/mac/fast/history/visited-link-background-color-expected.txt: Removed.
  • platform/qt/fast/history/visited-link-background-color-expected.png: Removed.
  • platform/qt/fast/history/visited-link-background-color-expected.txt: Removed.
2:37 PM Changeset in webkit [145407] by Claudio Saavedra
  • 2 edits in trunk

[GTK] Bump version
https://bugs.webkit.org/show_bug.cgi?id=112055

Reviewed by Martin Robinson.

  • Source/autotools/Versions.m4: Bump to 2.1.0
2:35 PM Changeset in webkit [145406] by commit-queue@webkit.org
  • 10 edits in trunk/Source

[Chromium] chromium/linux breaks expectation of select popup background due to bad UA css rules
https://bugs.webkit.org/show_bug.cgi?id=111873

Patch by Xiyuan Xia <xiyuan@chromium.org> on 2013-03-11
Reviewed by Tony Chang.

Source/WebCore:

On linux the default <select> background color is too dark to use as the
popup background color. Last fixes:
https://bugs.webkit.org/show_bug.cgi?id=54115 and
https://bugs.webkit.org/show_bug.cgi?id=56023
attempt to fix the problem by applying a lighter background using
special <option> selector. This breaks expectations of some websites.

This CL reverts the bad UA css rules above and provides the lighter
background color if <select> and <option> elements are using the default
background.

No new tests, this tests <select> popups and can be verified by ManualTests/select-scroll.html.

  • css/themeChromiumLinux.css:

(select):

  • platform/PopupMenuStyle.h:

(WebCore::PopupMenuStyle::PopupMenuStyle):
(WebCore::PopupMenuStyle::backgroundColorType):
(PopupMenuStyle):

  • platform/chromium/PopupListBox.cpp:

(WebCore::PopupListBox::paintRow):

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::itemStyle):
(WebCore::RenderMenuList::getItemBackgroundColor):

  • rendering/RenderMenuList.h:

(RenderMenuList):

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::menuStyle):

  • rendering/RenderThemeChromiumDefault.cpp:

(WebCore::RenderThemeChromiumDefault::systemColor):

Source/WebKit/chromium:

Update PopupMenuStyle constructor call sites.

  • src/AutofillPopupMenuClient.cpp:

(WebKit::AutofillPopupMenuClient::initialize):

2:26 PM Changeset in webkit [145405] by jamesr@google.com
  • 2 edits in trunk/Source/WebCore

Compile fix. Rubber-stamp by Eric Seidel.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay):

2:20 PM Changeset in webkit [145404] by dgorbik@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build for r145397 (part 2)

Unreviewed.

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::getDisplayTree):

2:06 PM Changeset in webkit [145403] by dgorbik@apple.com
  • 4 edits in trunk/Source/WebCore

Fix build for r145397

Unreviewed.

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::createTextTrackDisplay):

  • html/shadow/MediaControlsChromium.cpp:

(WebCore::MediaControlsChromium::createTextTrackDisplay):

  • html/shadow/MediaControlsGtk.cpp:

(WebCore::MediaControlsGtk::createTextTrackDisplay):

2:03 PM Changeset in webkit [145402] by commit-queue@webkit.org
  • 11 edits
    2 moves
    3 deletes in trunk/LayoutTests

Unreviewed, rolling out r144818.
http://trac.webkit.org/changeset/144818
https://bugs.webkit.org/show_bug.cgi?id=112062

Preparing to rollout r143626, which broke a few websites on
Mac (Requested by alokp on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-11

  • compositing/contents-opaque/contents-opaque-background-color-expected.txt:
  • compositing/contents-opaque/contents-opaque-layer-opacity-expected.txt:
  • compositing/contents-opaque/contents-opaque-layer-transform-expected.txt:
  • platform/chromium/TestExpectations:
  • platform/chromium/compositing/contents-opaque/contents-opaque-background-color-expected.txt: Removed.
  • platform/chromium/compositing/contents-opaque/contents-opaque-layer-opacity-expected.txt: Removed.
  • platform/chromium/compositing/contents-opaque/contents-opaque-layer-transform-expected.txt: Removed.
  • platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Renamed from LayoutTests/platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
  • platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Renamed from LayoutTests/platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.
  • platform/efl/TestExpectations:
  • platform/efl/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
  • platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
  • platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
2:02 PM Changeset in webkit [145401] by oliver@apple.com
  • 7 edits in trunk/Source

Make SegmentedVector Noncopyable
https://bugs.webkit.org/show_bug.cgi?id=112059

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Copying a SegmentedVector is very expensive, and really shouldn't
be necessary. So I've taken the one place where we currently copy
and replaced it with a regular Vector, and replaced the address
dependent logic with a indexing ref instead.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::newLabelScope):
(JSC::BytecodeGenerator::emitComplexJumpScopes):

  • bytecompiler/BytecodeGenerator.h:

(BytecodeGenerator):

  • bytecompiler/LabelScope.h:

(JSC):
(JSC::LabelScopePtr::LabelScopePtr):
(LabelScopePtr):
(JSC::LabelScopePtr::operator=):
(JSC::LabelScopePtr::~LabelScopePtr):
(JSC::LabelScopePtr::operator*):
(JSC::LabelScopePtr::operator->):

  • bytecompiler/NodesCodegen.cpp:

(JSC::DoWhileNode::emitBytecode):
(JSC::WhileNode::emitBytecode):
(JSC::ForNode::emitBytecode):
(JSC::ForInNode::emitBytecode):
(JSC::SwitchNode::emitBytecode):
(JSC::LabelNode::emitBytecode):

Source/WTF:

Copying a SegmentedVector can be extraordinarily expensive, so we beat
it with the Noncopyable stick - that way we can ensure that if anyone
wants an actual copy they know what they're doing.

  • wtf/SegmentedVector.h:

(SegmentedVector):

2:01 PM Changeset in webkit [145400] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Unreviewed, rolling out r145200.
http://trac.webkit.org/changeset/145200
https://bugs.webkit.org/show_bug.cgi?id=112063

Broke a couple of unit tests (Requested by zdobersek on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-11

  • Scripts/webkitperl/FeatureList.pm:
1:57 PM Changeset in webkit [145399] by inferno@chromium.org
  • 36 edits in trunk/Source

Add ASSERT_WITH_SECURITY_IMPLICATION to catch bad casts.
https://bugs.webkit.org/show_bug.cgi?id=112060

Reviewed by Eric Seidel.

Source/WebCore:

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::document):

  • accessibility/AccessibilityMenuList.h:

(WebCore::toAccessibilityMenuList):

  • accessibility/AccessibilityNodeObject.h:

(WebCore::toAccessibilityNodeObject):

  • accessibility/AccessibilityRenderObject.h:

(WebCore::toAccessibilityRenderObject):

  • accessibility/AccessibilitySVGRoot.h:

(WebCore::toAccessibilitySVGRoot):

  • accessibility/AccessibilitySpinButton.h:

(WebCore::toAccessibilitySpinButton):
(WebCore::toAccessibilitySpinButtonPart):

  • accessibility/AccessibilityTable.h:

(WebCore::toAccessibilityTable):

  • css/StyleRule.h:

(WebCore::toStyleRuleMedia):
(WebCore::toStyleRuleSupports):
(WebCore::toStyleRuleRegion):

  • dom/EventContext.h:

(WebCore::toTouchEventContext):

  • fileapi/File.h:

(WebCore::toFile):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::insertAdjacentElement):
(WebCore::contextElementForInsertion):

  • html/HTMLMediaElement.h:

(WebCore::toMediaElement):

  • html/HTMLMeterElement.h:

(WebCore::toHTMLMeterElement):

  • html/HTMLOptionElement.cpp:

(WebCore::toHTMLOptionElement):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::renderProgress):

  • html/HTMLProgressElement.h:

(WebCore::toHTMLProgressElement):

  • html/HTMLSelectElement.h:

(WebCore::toHTMLSelectElement):

  • html/HTMLTableCellElement.cpp:

(WebCore::toHTMLTableCellElement):

  • html/HTMLTextFormControlElement.h:

(WebCore::toHTMLTextFormControlElement):

  • html/PluginDocument.h:

(WebCore::toPluginDocument):

  • html/shadow/DetailsMarkerControl.cpp:

(WebCore::DetailsMarkerControl::summaryElement):

  • html/shadow/HTMLContentElement.h:

(WebCore::toHTMLContentElement):

  • html/shadow/HTMLShadowElement.h:

(WebCore::toHTMLShadowElement):

  • html/shadow/TextFieldDecorationElement.cpp:

(WebCore::TextFieldDecorationElement::hostInput):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::document):

  • rendering/InlineTextBox.h:

(WebCore::toInlineTextBox):

  • rendering/RenderHTMLCanvas.h:

(WebCore::toRenderHTMLCanvas):

  • rendering/RenderScrollbar.h:

(WebCore::toRenderScrollbar):

  • rendering/RenderTextFragment.h:

(WebCore::toRenderTextFragment):

  • rendering/mathml/RenderMathMLOperator.h:

(WebCore::toRenderMathMLOperator):

  • rendering/svg/RenderSVGTextPath.h:

(WebCore::toRenderSVGTextPath):

  • rendering/svg/RenderSVGViewportContainer.h:

(WebCore::toRenderSVGViewportContainer):

  • svg/graphics/SVGImageChromeClient.h:

(WebCore::toSVGImageChromeClient):

Source/WebKit/chromium:

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::redirectDataToPlugin):

1:53 PM Changeset in webkit [145398] by abarth@webkit.org
  • 8 edits
    2 adds in trunk/Source/WebCore

Factor HTMLTreeBuilderSimulator out of BackgroundHTMLParser
https://bugs.webkit.org/show_bug.cgi?id=112057

Reviewed by Eric Seidel.

Simulating the HTML tree builder is a separate concern from parsing on
the background thread. We plan to re-use the tree builder simulator for
the view-source parser, for example. Also, having the simulator as a
separate object will make it easier to fix
https://bugs.webkit.org/show_bug.cgi?id=109764.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • html/parser/BackgroundHTMLParser.cpp:

(WebCore):
(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::pumpTokenizer):

  • html/parser/BackgroundHTMLParser.h:

(BackgroundHTMLParser):

1:43 PM Changeset in webkit [145397] by dgorbik@apple.com
  • 24 edits in trunk

Not all properties apply to the '::cue' pseudo-element
https://bugs.webkit.org/show_bug.cgi?id=110705

Reviewed by Eric Carlson.

Source/WebCore:

Background properties are not inherited and they were not applied to right elements.
Now we apply all ::cue properties to WebVTT cue background box, which -webkit-media-text-track-all-nodes
container was corresponding to. Now it has 'cue' pseudoId instead of '-webkit-media-text-track-all-nodes'.
Property filtering is turned off for user agent rules so that we are still able to apply filtered rules
to this container internally. m_cueContainer is removed because it is no longer needed.
m_allDocumentNodes container was renamed to m_cueBackgroundBox.

Existing tests modified to cover this case.

  • css/RuleSet.h:

(WebCore::RuleData::propertyWhitelistType): disable filtering for UA rules.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::sortAndTransferMatchedRules): pass the UA scope to propertyWhitelistType().

  • css/mediaControls.css: rename -webkit-media-text-track-all-nodes to 'cue'

(video::cue):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay):

  • html/shadow/MediaControlElements.h:

(MediaControlTextTrackContainerElement):

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::createTextTrackDisplay):

  • html/shadow/MediaControlsChromium.cpp:

(WebCore::MediaControlsChromium::createTextTrackDisplay):

  • html/shadow/MediaControlsGtk.cpp:

(WebCore::MediaControlsGtk::createTextTrackDisplay):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::TextTrackCue):
(WebCore::TextTrackCue::updateDisplayTree):
(WebCore::TextTrackCue::getDisplayTree):

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCue::element):

  • page/CaptionUserPreferencesMac.mm:

(WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride):

LayoutTests:

  • media/media-controls.js:

(textTrackDisplayElement):

  • media/track/track-css-all-cues-expected.txt:
  • media/track/track-css-all-cues.html:
  • media/track/track-css-cue-lifetime.html:
  • media/track/track-css-matching-default.html:
  • media/track/track-css-matching-lang.html:
  • media/track/track-css-matching-timestamps.html:
  • media/track/track-css-matching.html:
  • media/track/track-css-property-whitelist.html:
  • media/track/track-in-band-style.html:
  • platform/mac/media/track/track-cue-rendering-horizontal-expected.txt:
1:40 PM Changeset in webkit [145396] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Set the documentViewportRect and viewport size.
https://bugs.webkit.org/show_bug.cgi?id=112056

Patch by Genevieve Mak <gmak@rim.com> on 2013-03-11
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton and Jakob Petsovits.
PR #278490

  • WebKitSupport/InRegionScrollableArea.cpp:

(BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):

1:22 PM Changeset in webkit [145395] by zandobersek@gmail.com
  • 5 edits in trunk

[GTK] WebKit2-only build fails
https://bugs.webkit.org/show_bug.cgi?id=112033

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

  • GNUmakefile.am: Introduce the artifical dependency of libwebkit2gtk on libwebkitgtk only

if building WebKit1 as well. Similarly with the WebKitPluginProcess, depend on libwebkitgtk
only if building WebKit1, the dependency is otherwise not necessary.

Tools:

  • GNUmakefile.am: Split the list of files the docs-build.stamp target depends on into the

generic part, WebKit1-specific part and WebKit2-specific part.

  • TestWebKitAPI/GNUmakefile.am: The TestGtk executable should not link agains libwebkitgtk

as it is not WebKit1-specific, but should rather link to libWebCore.la and libWebCoreGtk.la
directly.

1:17 PM Changeset in webkit [145394] by jamesr@google.com
  • 2 edits in trunk/LayoutTests

Update chromium expectations.

  • platform/chromium/TestExpectations:
1:03 PM Changeset in webkit [145393] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

ChromeClient.h doesn’t need to include RenderSnapshottedPlugIn
https://bugs.webkit.org/show_bug.cgi?id=111981

Reviewed by Kentaro Hara.

  • page/ChromeClient.h: Remove the extraneous #include.
1:01 PM Changeset in webkit [145392] by jamesr@google.com
  • 20 edits
    5 copies in branches/chromium/1410

Merge 144236

Plugin in iframe may not display
https://bugs.webkit.org/show_bug.cgi?id=109879

Patch by John Bauman <jbauman@chromium.org> on 2013-02-27
Reviewed by Simon Fraser.

Source/WebCore:

Changing the cliprect on a layer containing an iframe may change the
cliprect of plugins inside the iframe, so recursively tell all plugins
in iframes that their cliprect has changed after doing layout on the
outer frame.

Test: plugins/plugin-clip-subframe.html

  • platform/ScrollView.cpp:

(WebCore::ScrollView::clipRectChanged):

  • platform/ScrollView.h:
  • platform/Widget.h:

(WebCore::Widget::clipRectChanged):

  • plugins/PluginView.cpp:

(WebCore::PluginView::clipRectChanged):

  • plugins/PluginView.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::setWidgetGeometry):

Source/WebKit/chromium:

Use clipRectChanged to update the geometry.

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::clipRectChanged):

  • src/WebPluginContainerImpl.h:

Source/WebKit/mac:

Ensure NetscapePluginWidget informs the plugin view of the cliprect change directly.

  • Plugins/WebBaseNetscapePluginView.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(NetscapePluginWidget::clipRectChanged):

Source/WebKit2:

Update geometry when cliprect changes.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::clipRectChanged):

  • WebProcess/Plugins/PluginView.h:

Tools:

LogNPPSetWindow will be used with other ports as well.

  • DumpRenderTree/DumpRenderTree.gypi:
  • DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:

LayoutTests:

Use log-npp-set-window to ensure plugin clip changes correctly.

  • platform/mac-wk2/plugins/plugin-clip-subframe-expected.txt: Added.
  • platform/mac/plugins/plugin-clip-subframe-expected.txt: Added.
  • plugins/plugin-clip-subframe-expected.txt: Added.
  • plugins/plugin-clip-subframe.html: Added.
  • plugins/resources/plugin-clip-subframe-iframe.html: Added.

TBR=jbauman@chromium.org
BUG=168900
Review URL: https://codereview.chromium.org/12408009

1:00 PM Changeset in webkit [145391] by hyatt@apple.com
  • 11 edits in trunk/Source/WebCore

Vertical writing doesn't work with form controls.
https://bugs.webkit.org/show_bug.cgi?id=70211

Reviewed by Simon Fraser.

This is just some basic plumbing work to make textfields and
textareas work with vertical writing modes. This patch leaves the
html.css override alone, so authors can't enable vertical
writing yet.

The changes consist of converting uses of x/y/width/height to
logicalLeft/Top/Width/Height.

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::paddingLogicalLeft):
(WebCore::RenderBoxModelObject::paddingLogicalRight):
(RenderBoxModelObject):
(WebCore::RenderBoxModelObject::marginLogicalHeight):
(WebCore::RenderBoxModelObject::marginLogicalWidth):

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::computeControlLogicalHeight):
(WebCore::RenderSearchField::computeLogicalHeightLimit):
(WebCore::RenderSearchField::centerContainerIfNeeded):

  • rendering/RenderSearchField.h:

(RenderSearchField):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::textBlockLogicalHeight):
(WebCore::RenderTextControl::textBlockLogicalWidth):
(WebCore::RenderTextControl::computeLogicalHeight):
(WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
(WebCore::RenderTextControl::computePreferredLogicalWidths):

  • rendering/RenderTextControl.h:

(RenderTextControl):

  • rendering/RenderTextControlMultiLine.cpp:

(WebCore::RenderTextControlMultiLine::preferredContentLogicalWidth):
(WebCore::RenderTextControlMultiLine::computeControlLogicalHeight):
(WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):

  • rendering/RenderTextControlMultiLine.h:

(RenderTextControlMultiLine):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::paint):
(WebCore::RenderTextControlSingleLine::computeLogicalHeightLimit):
(WebCore::RenderTextControlSingleLine::layout):
(WebCore::RenderTextControlSingleLine::styleDidChange):
(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
(WebCore::RenderTextControlSingleLine::computeControlLogicalHeight):
(WebCore::RenderTextControlSingleLine::createInnerTextStyle):

  • rendering/RenderTextControlSingleLine.h:

(RenderTextControlSingleLine):

  • rendering/style/RenderStyle.h:
12:59 PM Changeset in webkit [145390] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebKit2

[wk2] Search With [your search provider here] should use NSPerformService in WebKit2/Mac
https://bugs.webkit.org/show_bug.cgi?id=111995
<rdar://problem/12975669>

Reviewed by Sam Weinig.

  • UIProcess/WebPageProxy.h:

(WebPageProxy): Add searchTheWeb().

  • UIProcess/WebPageProxy.messages.in: Add SearchTheWeb message.
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::searchTheWeb): Added. Call out to NSPerformService to search with the system default
search provider, in the browser.

  • WebProcess/Plugins/PDF/PDFPlugin.h:

(PDFPlugin): Add performWebSearch().

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(-[WKPDFLayerControllerDelegate performWebSearch:]): Added, forward the delegate callback to PDFPlugin.
(WebKit::PDFPlugin::performWebSearch): Added, forward the search string to WebPageProxy.

  • WebProcess/WebCoreSupport/WebContextMenuClient.cpp:

(WebKit::WebContextMenuClient::searchWithGoogle): Don't build the old load-Google-in-the-main-frame code on Mac.

  • WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:

(WebKit::WebContextMenuClient::searchWithGoogle): Instead, send the search string to WebPageProxy.

12:57 PM Changeset in webkit [145389] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebCore

TiledBacking scrolling coverage can be unfairly limited for clients who do scrolling outside the web view
https://bugs.webkit.org/show_bug.cgi?id=111958
<rdar://problem/13356896>

Reviewed by Darin Adler.

Don't limit TiledBacking coverage if the client has opted into using
its exposed rect to allow scrolling above the web view.

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/mac/TileController.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::adjustTiledBackingCoverage):

12:54 PM Changeset in webkit [145388] by dgorbik@apple.com
  • 2 edits in trunk/Tools

Adding myself to the committers.py

12:49 PM Changeset in webkit [145387] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

GetnUniform*vEXT (Robustness extension) passed incorrect parameter in WebGLRenderingContext
https://bugs.webkit.org/show_bug.cgi?id=111450

Patch by Rajeev Sarvaria <rsarvaria@blackberry.com> on 2013-03-11
Reviewed by Rob Buis.

Bufsize argument corrected to size in bytes instead of number of integers or floats.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::getUniform):

12:48 PM Changeset in webkit [145386] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2] Add C API preference: accelerated compositing for overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=111916

Patch by Helder Correia <Helder Correia> on 2013-03-11
Reviewed by Simon Fraser.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetAcceleratedCompositingForOverflowScrollEnabled):
(WKPreferencesGetAcceleratedCompositingForOverflowScrollEnabled):

  • UIProcess/API/C/WKPreferencesPrivate.h:
12:42 PM Changeset in webkit [145385] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Unreviewed, rolling out r145375.
http://trac.webkit.org/changeset/145375
https://bugs.webkit.org/show_bug.cgi?id=112050

Does not compile (Requested by jamesr on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-11

Source/WebCore:

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::IDBBackingStore::getObjectStores):
(WebCore::IDBBackingStore::createObjectStore):
(WebCore::IDBBackingStore::deleteObjectStore):
(WebCore::IDBBackingStore::getRecord):
(WebCore::IDBBackingStore::putRecord):
(WebCore::IDBBackingStore::clearObjectStore):
(WebCore::IDBBackingStore::deleteRecord):
(WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBBackingStore::getIndexes):
(WebCore::IDBBackingStore::createIndex):
(WebCore::IDBBackingStore::deleteIndex):
(WebCore::IDBBackingStore::putIndexDataForRecord):
(WebCore::IDBBackingStore::findKeyInIndex):
(WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStore::keyExistsInIndex):
(WebCore::indexCursorOptions):

  • Modules/indexeddb/IDBBackingStore.h:

(IDBBackingStore):

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::DeleteIndexOperation::create):
(WebCore::DeleteIndexOperation::DeleteIndexOperation):
(DeleteIndexOperation):
(WebCore::IDBDatabaseBackendImpl::openInternal):
(WebCore::IDBDatabaseBackendImpl::deleteIndex):
(WebCore::DeleteIndexOperation::perform):
(WebCore::DeleteRangeOperation::perform):
(WebCore::ClearOperation::perform):

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
(WebCore::IDBLevelDBCoding::KeyPrefix::encode):
(WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
(WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
(WebCore::IDBLevelDBCoding::DataVersionKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
(WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
(WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
(WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):

  • Modules/indexeddb/IDBLevelDBCoding.h:

(IDBLevelDBCoding):
(KeyPrefix):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys):

Source/WebKit/chromium:

  • tests/IDBBackingStoreTest.cpp:

(WebCore::IDBBackingStoreTest::SetUp):
(IDBBackingStoreTest):
(WebCore::TEST_F):

  • tests/IDBFakeBackingStore.h:
12:41 PM Changeset in webkit [145384] by Lucas Forschler
  • 5 edits in branches/safari-534.59-branch/Source

Versioning

12:40 PM Changeset in webkit [145383] by Lucas Forschler
  • 1 copy in tags/Safari-534.59.3

New Tag.

12:39 PM Changeset in webkit [145382] by Lucas Forschler
  • 4 edits in branches/safari-536.29-branch/Source

Versioning

12:38 PM Changeset in webkit [145381] by Lucas Forschler
  • 1 copy in tags/Safari-536.29.7

New Tag.

12:24 PM Changeset in webkit [145380] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

CoreIPC crash in NetworkProcess after WebProcess crash.
<rdar://problem/13124146> and https://bugs.webkit.org/show_bug.cgi?id=112046

Reviewed by Alexey Proskuryakov.

  • NetworkProcess/SchedulableLoader.cpp:

(WebKit::SchedulableLoader::connectionToWebProcessDidClose): Don't null out the connection backpointer on crash.

12:16 PM Changeset in webkit [145379] by adamk@chromium.org
  • 12 edits in trunk

MutationCallback should be a WebIDL 'callback', not a [Callback] interface
https://bugs.webkit.org/show_bug.cgi?id=91406

Reviewed by Adam Barth.

Source/WebCore:

Spec: http://dom.spec.whatwg.org/#mutationcallback

Besides no longer calling handleEvent methods on passed-in objects,
throw a TypeError if a non-function is passed to the MutationObserver constructor.
This is per WebIDL: http://www.w3.org/TR/WebIDL/#es-callback-function

Updated MutationObserver constructor tests to exercise TypeError-throwing behavior.

  • bindings/js/JSMutationCallback.cpp:

(WebCore::JSMutationCallback::call): Call the callback directly instead of handing off to JSCallbackData; make return value void.
Use jsArray() to convert from WTF::Vector -> JSArray.

  • bindings/js/JSMutationCallback.h:

(JSMutationCallback): Rename handleEvent() to call(), make it void.

  • bindings/js/JSMutationObserverCustom.cpp:

(WebCore::JSMutationObserverConstructor::constructJSMutationObserver): Throw if passed a non-function.

  • bindings/v8/V8MutationCallback.cpp:

(WebCore::V8MutationCallback::V8MutationCallback): Take a v8::Function instead of a v8::Object.
(WebCore::V8MutationCallback::call): Call the callback directly instead of handing off to invokeCallback(); make return value void.
Use v8Array() to convert form WTF::Vector -> JSArray.

  • bindings/v8/V8MutationCallback.h:

(WebCore::V8MutationCallback::create): Take a v8::Function instead of a v8::Object.
(V8MutationCallback): ditto

  • bindings/v8/custom/V8MutationObserverCustom.cpp:

(WebCore::V8MutationObserver::constructorCustom): Throw if passed a non-function, cast to a v8::Function when constructing callback.

  • dom/MutationCallback.h:

(WebCore): Remove unnecessary typedef.
(MutationCallback): Rename handleEvent() to call(), make it void.

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::deliver): Update MutationCallback method name.

LayoutTests:

  • fast/dom/MutationObserver/mutation-observer-constructor-expected.txt:
  • fast/dom/MutationObserver/mutation-observer-constructor.html: Add test for TypeError-throwing.

Note that the Number and String cases already threw before this patch.

12:07 PM Changeset in webkit [145378] by jchaffraix@webkit.org
  • 5 edits in trunk

[CSS Grid Layout] Handle spanning grid items over specified grid tracks
https://bugs.webkit.org/show_bug.cgi?id=111918

Reviewed by Tony Chang.

Source/WebCore:

This change updates the containing block override logic to handle multiple
spanned tracks. This makes the multiple specified grid tracks case work and
will enable us to handle the minmax case once the computation logic has been
updated.

Test: fast/css-grid-layout/grid-item-spanning-resolution.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::logicalContentHeightForChild):
(WebCore::RenderGrid::layoutGridItems):
Updated these functions to use gridAreaBreadthForChild.

(WebCore::RenderGrid::gridAreaBreadthForChild):
Added this helper function to handle multiple spanned grid tracks.

  • rendering/RenderGrid.h: Added the previous function.

LayoutTests:

  • fast/css-grid-layout/grid-item-spanning-resolution-expected.txt:

We now pass all the tests.

11:43 AM Changeset in webkit [145377] by pdr@google.com
  • 33 edits in trunk/Source/WebCore

Replace SVG's static_cast<SVGElement> with toSVGElement()
https://bugs.webkit.org/show_bug.cgi?id=111651

Reviewed by Abhishek Arya.

toSVGElement is preferred over static_cast because bad casts can be caught on
our testing infrastructure. This patch replaces all static_cast<SVGElement>
instances with toSVGElement.

No new tests as this is just a refactoring.

  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::matchAllRules):
(WebCore::StyleResolver::locateCousinList):
(WebCore::StyleResolver::canShareStyleWithElement):
(WebCore::StyleResolver::locateSharedStyle):

  • dom/Element.cpp:

(WebCore::Element::synchronizeAllAttributes):
(WebCore::Element::synchronizeAttribute):

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::getElementCTM):
(WebCore::RenderSVGModelObject::checkIntersection):
(WebCore::RenderSVGModelObject::checkEnclosure):

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::removeFromCacheAndInvalidateDependencies):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
(WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
(WebCore::RenderSVGResourceClipper::hitTestClipContent):

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
(WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::createTileImage):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::strokeWidth):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::strokeBoundingBox):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::layoutChildren):
(WebCore::SVGRenderSupport::applyStrokeStyleToContext):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeSVGPaintingResource):
(WebCore::writeStyle):
(WebCore::operator<<):

  • rendering/svg/SVGResources.cpp:

(WebCore::SVGResources::buildCachedResources):

  • rendering/svg/SVGTextLayoutEngine.cpp:

(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::createRenderer):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::adjustForInheritance):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::viewportElement):
(WebCore::SVGElement::haveLoadedRequiredResources):
(WebCore::SVGElement::sendSVGLoadEventIfPossible):
(WebCore::SVGElement::childShouldCreateRenderer):

  • svg/SVGElement.h:

(WebCore::toSVGElement):
(WebCore):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::buildPendingResource):

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::childShouldCreateRenderer):

  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::buildStops):

  • svg/SVGLocatable.cpp:

(WebCore::SVGLocatable::nearestViewportElement):
(WebCore::SVGLocatable::farthestViewportElement):
(WebCore::SVGLocatable::computeCTM):

  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::buildPendingResource):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::updateRelativeLengthsInformation):

  • svg/SVGSwitchElement.cpp:

(WebCore::SVGSwitchElement::childShouldCreateRenderer):

  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::buildPendingResource):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::buildPendingResource):
(WebCore::SVGUseElement::toClipPath):
(WebCore::SVGUseElement::rendererClipChild):
(WebCore::SVGUseElement::buildInstanceTree):
(WebCore::SVGUseElement::hasCycleUseReferencing):
(WebCore::SVGUseElement::expandUseElementsInShadowTree):
(WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):

  • svg/SVGViewSpec.cpp:

(WebCore::SVGViewSpec::viewTarget):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::buildPendingResource):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::platformApplySoftware):

11:24 AM Changeset in webkit [145376] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[SOUP] ResourceRequest::updateSoupMessage doesn't update the URI of the soup message
https://bugs.webkit.org/show_bug.cgi?id=112040

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-03-11
Reviewed by Gustavo Noronha Silva.

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateSoupMessage): Update the soup
message URI with the ResourceRequest URL.

11:08 AM WebKitGTK/2.0.x edited by Martin Robinson
(diff)
10:37 AM Changeset in webkit [145375] by alecflett@chromium.org
  • 10 edits in trunk/Source

IndexedDB: Protect against key prefix overflows
https://bugs.webkit.org/show_bug.cgi?id=111138

Reviewed by Tony Chang.

Source/WebCore:

This reworks the boundary checking for all databaseId,
objectStoreId, and indexId, including negative and
zero-based ids. All entrypoints into IDBLevelDBCoding
are protected with explicit checks and all internal
uses of KeyPrefix are protected with ASSERTs in the
various constructors.

Tests: WebKit unit tests IDBBackingStoreTest.cpp in WebKit/chromium

  • Modules/indexeddb/IDBBackingStore.h: Make all public methods boolean-based for errors.
  • Modules/indexeddb/IDBLevelDBCoding.h: Add methods for checking databaseId, objectStoreId, and indexId.

Source/WebKit/chromium:

Add tests for invalid indexIds in basic get/put operations.

10:32 AM Changeset in webkit [145374] by jchaffraix@webkit.org
  • 15 edits
    14 deletes in branches/chromium/1410

Merge 145296

Unreviewed, rolling out r142015.
http://trac.webkit.org/changeset/142015
https://bugs.webkit.org/show_bug.cgi?id=111904

The change caused 2 major regressions (bug 111091 and bug
111595) and Pravin doesn't have time to investigate them
(Requested by jchaffraix on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-08

Source/WebCore:

  • dom/Node.cpp:

(WebCore::Node::diff):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::childBecameNonInline):
(WebCore):

  • rendering/RenderBlock.h:

(RenderBlock):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::childBecameNonInline):
(RenderBoxModelObject):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::childBecameNonInline):
(WebCore):

  • rendering/RenderInline.h:

(RenderInline):

  • rendering/RenderObject.cpp:

(WebCore):
(WebCore::RenderObject::handleDynamicFloatPositionChange):
(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::styleDidChange):

  • rendering/RenderObject.h:

(RenderObject):

LayoutTests:

  • fast/css/first-letter-removed-added-expected.txt:
  • fast/dynamic/absolute-positioned-to-static-positioned-expected.txt: Removed.
  • fast/dynamic/absolute-positioned-to-static-positioned.html: Removed.
  • fast/dynamic/floating-to-non-floating-expected.txt: Removed.
  • fast/dynamic/floating-to-non-floating.html: Removed.
  • fast/dynamic/non-floating-to-floating-expected.txt: Removed.
  • fast/dynamic/non-floating-to-floating.html: Removed.
  • fast/dynamic/resources/helper-bug91665.js: Removed.
  • fast/dynamic/resources/style-bug91665.css: Removed.
  • fast/dynamic/static-positioned-to-absolute-positioned-expected.txt: Removed.
  • fast/dynamic/static-positioned-to-absolute-positioned.html: Removed.
  • fullscreen/full-screen-fixed-pos-parent-expected.txt:
  • platform/chromium-mac/fast/repaint/absolute-position-change-containing-block-expected.png:
  • platform/chromium-mac/fast/repaint/fixed-to-relative-position-with-absolute-child-expected.png:
  • platform/chromium-win/fast/dynamic/002-expected.txt:
  • platform/chromium/fast/dynamic/002-expected.txt:
  • platform/chromium/fast/repaint/absolute-position-change-containing-block-expected.png: Removed.
  • platform/chromium/fast/repaint/fixed-to-relative-position-with-absolute-child-expected.png: Removed.
  • platform/mac/fast/dynamic/002-expected.txt:
  • platform/mac/fast/repaint/absolute-position-change-containing-block-expected.png: Removed.
  • platform/mac/fast/repaint/fixed-to-relative-position-with-absolute-child-expected.png: Removed.

TBR=jchaffraix@webkit.org

10:17 AM Changeset in webkit [145373] by commit-queue@webkit.org
  • 4 edits in trunk

[BlackBerry] Disable MathML support
https://bugs.webkit.org/show_bug.cgi?id=111929

Patch by Jeff Rogers <jrogers@rim.com> on 2013-03-11
Reviewed by Rob Buis.

.:

  • Source/cmake/OptionsBlackBerry.cmake:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
10:07 AM Changeset in webkit [145372] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] PlatformBlackBerry.cmake: create thin AR archives
https://bugs.webkit.org/show_bug.cgi?id=110580

Patch by Xan Lopez <xlopez@igalia.com> on 2013-03-11
Reviewed by Rob Buis.

Otherwise libwebcore.a goes beyond the 4Gb file size limit and the
link phase fails.

  • PlatformBlackBerry.cmake:
9:07 AM Changeset in webkit [145371] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: fix styles toolbar in the vertical mode.
Not reviewed: swapped two lines.

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel.prototype._splitVertically):

8:59 AM QtWebKitBuildBots edited by zarvai@inf.u-szeged.hu
(diff)
8:59 AM Changeset in webkit [145370] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [CodeMirror] add token highlight feature
https://bugs.webkit.org/show_bug.cgi?id=112009

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-11
Reviewed by Pavel Feldman.

Handle CodeMirror's "cursorActivity" event, check selection for being
a word and highlight all its occurrences via CodeMirror.addOverlay method.

No new tests.

  • inspector/front-end/CodeMirrorTextEditor.js:

(WebInspector.CodeMirrorTextEditor):
(WebInspector.CodeMirrorTextEditor.TokenHighlighter):
(WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._cursorChange):
(WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._isWord):
(WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._removeHighlight):
(WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._addHighlight.nextToken):
(WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._addHighlight):

  • inspector/front-end/cm/cmdevtools.css:

(.cm-token-highlight):

8:51 AM Changeset in webkit [145369] by ap@apple.com
  • 7 edits in trunk/Source/WebKit2

Make it possible to reuse sandbox extensions
https://bugs.webkit.org/show_bug.cgi?id=111883

Reviewed by Anders Carlsson.

This allows for properly keeping extensions in NetworkBlobRegistry for as long as
they are needed.

The patch also fixes a bug where extensions would leak when navigating between
file:// pages.

  • NetworkProcess/SchedulableLoader.cpp:

Revoke the extensions, but don't invalidate - we may need them later.

  • Shared/Downloads/Download.cpp:

(WebKit::Download::didFinish):
(WebKit::Download::didFail):
(WebKit::Download::didCancel):
Replaced invalidate() with revoke() and clearing out. SandboxExtension destructor
now requires revocations wto be balanced, as otherwise understanding dual reference
counting in SandboxExtension would be too difficult.

  • Shared/SandboxExtension.h: We now keep track of how many times the extension

was consumed. Eventually, we should refactor the class to not have such duplicate
reference counting.

  • Shared/mac/SandboxExtensionMac.mm:

(WebKit::SandboxExtension::SandboxExtension): Initialize use count.
(WebKit::SandboxExtension::~SandboxExtension): We now require consume/revoke calls
to be balanced. This is not hard to do in existing usage, and makes the design much
more reliable.
(WebKit::SandboxExtension::revoke): Don't permanently destroy the extension when
invalidatid, we may need it in the future.
(WebKit::SandboxExtension::consume): Added use counting.

  • Shared/WebMemorySampler.cpp: (WebKit::WebMemorySampler::stop): This extension

is not going to be reused.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::performDragControllerAction): Pending extensions are not consumed,
so there is no need to revoke.
(WebKit::WebPage::SandboxExtensionTracker::invalidate): Pending extension is not
consumed, and the other two always are.
(WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
Pending extension is never consumed in place, no need to revoke.
(WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad): Do not unset
reused committed extension yet - we may need it later if provisional load fails.
Thanks to use counting, we can now consume the same extension as both committed
and provisional.
(WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad): Now the
committed extension can be revoked and replaced.
(WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad): Just revoke
provisional extension, committed one is still in place.

8:49 AM Changeset in webkit [145368] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [CodeMirror] set indentation size according to devtools settings
https://bugs.webkit.org/show_bug.cgi?id=111717

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-11
Reviewed by Pavel Feldman.

Set up codemirror indent size according to devtools settings.

No new tests.

  • inspector/front-end/CodeMirrorTextEditor.js:

(.get if):
(WebInspector.CodeMirrorTextEditor):

8:47 AM Changeset in webkit [145367] by yurys@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: add per image statistics to the native memory snapshot
https://bugs.webkit.org/show_bug.cgi?id=112011

Reviewed by Pavel Feldman.

Added per-image statistics to the native memory distribution table.

  • inspector/front-end/HeapSnapshotProxy.js:

(WebInspector.HeapSnapshotWorker):
(WebInspector.HeapSnapshotWorker.prototype.createLoader):
(WebInspector.HeapSnapshotWorker.prototype.wrapCallback):
(WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod):
(WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod): the method now accepts
proxy constructor function instead of its name. This eliminates unnecessary function lookup.
(WebInspector.HeapSnapshotLoaderProxy):
(WebInspector.HeapSnapshotLoaderProxy.prototype.close):
(WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
(WebInspector.HeapSnapshotProxy.prototype.createRetainingEdgesProvider):
(WebInspector.HeapSnapshotProxy.prototype.createAddedNodesProvider):
(WebInspector.HeapSnapshotProxy.prototype.createDeletedNodesProvider):
(WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
(WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
(WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForDominator):
(WebInspector.NativeHeapSnapshotProxy):
(WebInspector.NativeHeapSnapshotProxy.prototype.images):

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapProfileHeader.prototype.snapshotProxyConstructor):
(WebInspector.HeapProfileHeader.prototype._setupWorker):

  • inspector/front-end/NativeHeapSnapshot.js:

(WebInspector.NativeHeapSnapshot.prototype.images):

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeSnapshotNode):
(WebInspector.NativeSnapshotNode.prototype._createSizeCell):
(WebInspector.NativeSnapshotNode.prototype._populate):
(WebInspector.NativeSnapshotNode.prototype._addChildrenFromGraph):
(WebInspector.NativeSnapshotNode.prototype._addImageDetails.didLoad.didReceiveImages):
(WebInspector.NativeSnapshotNode.prototype._addImageDetails):
(WebInspector.NativeSnapshotProfileHeader.prototype.snapshotProxyConstructor):

8:43 AM Changeset in webkit [145366] by allan.jensen@digia.com
  • 4 edits in trunk/Source/WebCore

[Qt] Enable tiled shadow blur for inset box shadows
https://bugs.webkit.org/show_bug.cgi?id=111736

Reviewed by Noam Rosenthal.

Paint inset box-shadows using the optimized tiled shadow blur, instead of
applying shadow blur to the entire painted rect.

This optimizes the default CSS on common pastebin sites.

Tested by existing tests.

  • platform/graphics/GraphicsContext.cpp:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ShadowBlur::drawInsetShadowWithTiling):

Must set fill color before calling clearShadow, as that might clear m_color.

(WebCore::ShadowBlur::drawLayerPieces):

Ditto.

  • platform/graphics/qt/GraphicsContextQt.cpp:

(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::fillRectWithRoundedHole):

8:33 AM Changeset in webkit [145365] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] SelectionHandler: bring back m_lastSelection attribute
https://bugs.webkit.org/show_bug.cgi?id=111972

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-11
Reviewed by Rob Buis.

This was removed in r144515 but is still needed by
SelectionHandler::selectionPositionChanged().

  • WebKitSupport/SelectionHandler.h:

(SelectionHandler):

8:31 AM Changeset in webkit [145364] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

(tests) make nodesFromRect.js print a list of nodes that were found
https://bugs.webkit.org/show_bug.cgi?id=111793

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-03-11
Reviewed by Allan Sandfeld Jensen.

  • fast/dom/nodesFromRect/resources/nodesFromRect.js:

(nodeToString):
(nodeListToString):
(check):
(nodesFromRectAsString):
Move node prettyprinting code from nodesFromRectAsString to new
functions nodeToString and nodeListToString, and make use of it in
check().
I've also converted the nodeType checks to use the constants on Node
instead of using magic numbers.

8:26 AM Changeset in webkit [145363] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] GraphicsLayer: rename notifySyncRequired to notifyFlushRequired
https://bugs.webkit.org/show_bug.cgi?id=111997

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-11
Reviewed by Rob Buis.

This changed in r130439 but the old name was introduced again by
mistake in r144465.

  • platform/graphics/blackberry/GraphicsLayerBlackBerry.h:

(WebCore::GraphicsLayerBlackBerry::notifyFlushRequired):

  • platform/graphics/blackberry/LayerWebKitThread.cpp:

(WebCore::LayerWebKitThread::setNeedsCommit):

7:43 AM Changeset in webkit [145362] by tkent@chromium.org
  • 6 edits in trunk

Inappropriate validation message for required number/date input elements
https://bugs.webkit.org/show_bug.cgi?id=111982

Reviewed by Kentaro Hara.

Source/WebCore:

For validation message, badInput messages should take precedence
over valueMissing messages because users already filled out the
field with a bad value.

Tests: Update fast/forms/validationMessage.html

  • html/InputType.cpp:

(WebCore::InputType::validationMessage):
Check badInput first.

LayoutTests:

  • fast/forms/validationMessage-expected.txt:
  • fast/forms/validationMessage.html:
  • platform/chromium/fast/forms/validationMessage-expected.txt:
7:19 AM Changeset in webkit [145361] by Christophe Dumez
  • 2 edits in trunk/Tools

[EFL][GTK][WKTR] Regression(r145231): Undefined symbol in libTestRunnerInjectedBundle.so
https://bugs.webkit.org/show_bug.cgi?id=111970

Reviewed by Chris Fleizach.

Provide dummy implementation for AccessibilityUIElement::supportedActions() in ATK
or libTestRunnerInjectedBundle.so cannot be loaded in EFL / GTK otherwise, due to
undefined symbol.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::supportedActions):
(WTR):

6:54 AM Changeset in webkit [145360] by g.czajkowski@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] Build fix after r143192 when SPELLCHECK is off

Unreviewed build fix when SPELLCHECK macro is off.

  • UIProcess/efl/TextCheckerEfl.cpp:

(WebKit):

6:15 AM Changeset in webkit [145359] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

WebKitWebPage::document-loaded signal emitted multiple times

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-03-11
Reviewed by Carlos Garcia Campos.

This happens in websites with multiple frames, because the signal
is emitted for every frame.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(didFinishDocumentLoadForFrame): Add an early return to make sure
the WebKitWebPage::document-loaded signal is only emitted for the
main frame.

6:09 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
6:07 AM Changeset in webkit [145358] by Carlos Garcia Campos
  • 13 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

[GTK][WK2] Add API to retrieve a snapshot from a webview
https://bugs.webkit.org/show_bug.cgi?id=98270

Patch by Claudio Saavedra <Claudio Saavedra> on 2013-03-10
Reviewed by Carlos Garcia Campos.

This adds the GTK+ API necessary to retrieve a snapshot from a
webview asynchronously. The API uses the injected bundle
internally to get the snapshot from the WebProcess.

  • UIProcess/API/gtk/WebKitError.cpp:

(webkit_snapshot_error_quark): Add snapshot API related error
quark.

  • UIProcess/API/gtk/WebKitError.h: Add snapshot error handling.
  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:

(didReceiveWebViewMessageFromInjectedBundle): Handle the new
"DidGetSnapshot" message.

  • UIProcess/API/gtk/WebKitPrivate.h: Add SnapshotRegion enum.
  • UIProcess/API/gtk/WebKitWebView.cpp:

(_WebKitWebViewPrivate): Add a map for the snapshot results.
(GetSnapshotAsyncData):
(webKitWebViewDidReceiveSnapshot):
(webKitSnapshotRegionToSnapshotRegion): Helper method for casting
the region option enumeration.
(generateSnapshotCallbackID): Method to generate unique callback
ids.
(webkit_web_view_get_snapshot):
(webkit_web_view_get_snapshot_finish): New snapshotting API.

  • UIProcess/API/gtk/WebKitWebView.h: Ditto.
  • UIProcess/API/gtk/WebKitWebViewPrivate.h: Add the private method

to handle a received snapshot.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API

bits.

  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:

(cairoSurfacesEqual): Add helper to compare cairo_surface_t
structs.
(testWebViewSnapshot): New test.
(beforeAll): Add the new test.

  • UIProcess/API/gtk/tests/WebViewTest.cpp:

(WebViewTest::selectAll): Add method to help test snapshots
including selection.

  • UIProcess/API/gtk/tests/WebViewTest.h: Ditto
  • WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:

(webkitWebExtensionDidReceiveMessageToPage): Add this method. It
handles the new message "GetSnapshot".
(didReceiveMessageToPage): Ditto.
(webkitWebExtensionCreate): Register method above.

5:43 AM Changeset in webkit [145357] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: extract common parts of native profiles
https://bugs.webkit.org/show_bug.cgi?id=111965

Reviewed by Alexander Pavlov.

Extracted common parts of native profiles into NativeProfileTypeBase. Memory
domain dispatcher is now a separate class as it is shared by two native memory
profile types.

Both native memory profile types now capture native heap graph.

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.MemoryAgentDispatcher.instance):
(WebInspector.NativeProfileTypeBase.prototype.buttonClicked.didReceiveMemorySnapshot):
(WebInspector.NativeProfileTypeBase.prototype.buttonClicked):
(WebInspector.NativeSnapshotProfileType):
(WebInspector.NativeSnapshotProfileHeader.prototype._didReceiveMemorySnapshot):
(WebInspector.NativeMemoryProfileType):
(WebInspector.NativeMemoryProfileHeader.prototype._updateSnapshotStatus):
(WebInspector.NativeMemoryProfileHeader.prototype._didReceiveMemorySnapshot):

5:06 AM Changeset in webkit [145356] by Christophe Dumez
  • 4 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Unskip most of the websocket hybi test cases on EFL port as they
are passing nowadays.

  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
4:48 AM WebKitGTK/2.0.x edited by Manuel Rego Casasnovas
Add new proposed merge (diff)
4:11 AM Changeset in webkit [145355] by commit-queue@webkit.org
  • 5 edits in trunk

[chromium] Android apk targets should depend directly on Java library targets
https://bugs.webkit.org/show_bug.cgi?id=111746

Patch by Chris Hopman <cjhopman@chromium.org> on 2013-03-11
Reviewed by Eric Seidel.

Source/WebKit/chromium:

  • WebKitUnitTests.gyp:

Make webkit_unit_tests_apk depend directly on base_java and net_java.

Tools:

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:

Make DumpRenderTree_apk depend directly on base_java and net_java.

  • TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:

Make TestWebKitAPI_apk depend directly on base_java.

3:56 AM Changeset in webkit [145354] by commit-queue@webkit.org
  • 15 edits
    4 deletes in trunk/Source/WebCore

Unreviewed, rolling out r145349.
http://trac.webkit.org/changeset/145349
https://bugs.webkit.org/show_bug.cgi?id=111966

Missing code history of Element,PageRuleCollector. (Requested
by tasak on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-11

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSAllInOne.cpp:
  • css/DocumentRuleSets.cpp:

(WebCore::ShadowDistributedRules::collectMatchRequests):

  • css/DocumentRuleSets.h:
  • css/ElementRuleCollector.cpp: Removed.
  • css/ElementRuleCollector.h: Removed.
  • css/PageRuleCollector.cpp: Removed.
  • css/PageRuleCollector.h: Removed.
  • css/StyleResolver.cpp:

(WebCore::leftToRightDeclaration):
(WebCore):
(WebCore::rightToLeftDeclaration):
(WebCore::StyleResolver::State::ensureRuleList):
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::addMatchedProperties):
(WebCore::StyleResolver::addElementStyleProperties):
(MatchingUARulesScope):
(WebCore::MatchingUARulesScope::MatchingUARulesScope):
(WebCore::MatchingUARulesScope::~MatchingUARulesScope):
(WebCore::MatchingUARulesScope::isMatchingUARules):
(WebCore::StyleResolver::collectMatchingRules):
(WebCore::StyleResolver::collectMatchingRulesForRegion):
(WebCore::StyleResolver::sortAndTransferMatchedRules):
(WebCore::StyleResolver::matchScopedAuthorRules):
(WebCore::StyleResolver::matchHostRules):
(WebCore::StyleResolver::matchAuthorRules):
(WebCore::StyleResolver::matchUserRules):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::compareRules):
(WebCore::StyleResolver::sortMatchedRules):
(WebCore::StyleResolver::matchAllRules):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::ruleMatches):
(WebCore::StyleResolver::checkRegionSelector):
(WebCore::comparePageRules):
(WebCore::StyleResolver::matchPageRules):
(WebCore::checkPageSelectorComponents):
(WebCore::StyleResolver::matchPageRulesForList):
(WebCore::StyleResolver::isLeftPage):
(WebCore::StyleResolver::isFirstPage):
(WebCore::StyleResolver::pageName):

  • css/StyleResolver.h:

(WebCore::MatchRequest::MatchRequest):
(MatchRequest):
(StyleResolver):
(MatchResult):
(WebCore::StyleResolver::State::State):
(State):
(WebCore::StyleResolver::State::takeRuleList):
(WebCore::StyleResolver::State::setSameOriginOnly):
(WebCore::StyleResolver::State::isSameOriginOnly):
(WebCore::StyleResolver::State::pseudoStyleRequest):
(WebCore::StyleResolver::State::setMode):
(WebCore::StyleResolver::State::mode):
(WebCore::StyleResolver::State::matchedRules):
(WebCore::StyleResolver::State::addMatchedRule):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::willMatchRule):

  • inspector/InspectorCSSAgent.h:

(WebCore):
(InspectorCSSAgent):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::willMatchRuleImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):

3:44 AM Changeset in webkit [145353] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[V8] Fix V8InjectedScriptManager
https://bugs.webkit.org/show_bug.cgi?id=111968

Patch by Marja Hölttä <marja@chromium.org> on 2013-03-11
Reviewed by Kentaro Hara.

This is needed to make the inspector work after templates for main world
and non-main worlds are separated (bug 111724).

No new tests (no changes in functionality).

  • bindings/v8/custom/V8InjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::canAccessInspectedWindow):

3:36 AM Changeset in webkit [145352] by hayato@chromium.org
  • 2 edits in trunk/Source/WebCore

Make sure that CSSSelector::setValue() is never called after parsing its pseudoType.
https://bugs.webkit.org/show_bug.cgi?id=111957

Reviewed by Hajime Morrita.

It'd be nice to have an assertion here since
CSSSelector::pseudoType() will never parse a new value after it
parses a value and m_pseudoType is set to non-PseudoNotParsed.

No new tests (no change in behaviour).

  • css/CSSSelector.h:

(WebCore::CSSSelector::setValue):

2:55 AM Changeset in webkit [145351] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[Chromium] Mark LayoutTests/html5lib/generated/run-tests16-data.html as slow
https://bugs.webkit.org/show_bug.cgi?id=111960

Patch by Alan Cutter <alancutter@chromium.org> on 2013-03-11
Reviewed by Eric Seidel.

Related to V8 performance issue: https://code.google.com/p/v8/issues/detail?id=2567

  • platform/chromium/TestExpectations:
2:53 AM Changeset in webkit [145350] by zarvai@inf.u-szeged.hu
  • 6 edits in trunk/LayoutTests

[Qt] Unrewieved gardening. Cleaning up some skip.

  • platform/qt-5.0-wk1/TestExpectations:
  • platform/qt-5.0-wk2/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/qt/editing/pasteboard/paste-text-016-expected.txt: Rebaselining after r145296.
  • platform/qt/fast/dynamic/002-expected.txt: Rebaselining after r145296.
2:50 AM Changeset in webkit [145349] by tasak@google.com
  • 15 edits
    4 adds in trunk/Source/WebCore

[Refactoring] Implement RuleCollector
https://bugs.webkit.org/show_bug.cgi?id=109916

Reviewed by Antti Koivisto.

Implemented rule collector for an element and collector for a page.
Not all members in class State are required entire while resolving
a style.

No new tests, because just refactoring.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSAllInOne.cpp:

Added ElementRuleCollector and PageRuleCollector.

  • css/DocumentRuleSets.cpp:

(WebCore::ShadowDistributedRules::collectMatchRequests):
Since behaviorAtBoundary is a state owned by ElementRuleCollector,
removed from here.

  • css/DocumentRuleSets.h:

(WebCore::ShadowDistributedRules::isEmpty):
Added to quickly check whether there exist any ShadowDistributedRules
or not.

  • css/ElementRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.

(WebCore):
(WebCore::ElementRuleCollector::matchedResult):
(WebCore::ElementRuleCollector::matchedRuleList):
(WebCore::ElementRuleCollector::addMatchedRule):
(WebCore::ElementRuleCollector::clearMatchedRules):
(WebCore::ElementRuleCollector::ensureRuleList):
(WebCore::ElementRuleCollector::addElementStyleProperties):
(WebCore::ElementRuleCollector::collectMatchingRules):
(WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
(WebCore::ElementRuleCollector::matchScopedAuthorRules):
(WebCore::ElementRuleCollector::matchHostRules):
(WebCore::ElementRuleCollector::matchShadowDistributedRules):
(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::matchUserRules):
(WebCore::ElementRuleCollector::matchUARules):
(WebCore::ElementRuleCollector::ruleMatches):
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::ElementRuleCollector::sortMatchedRules):
(WebCore::ElementRuleCollector::matchAllRules):
Moved these methods from StyleResolver to this class.
(WebCore::ElementRuleCollector::hasAnyMatchingRules):
This method is used for checking whether a given element can share
a cache.

  • css/ElementRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.

(WebCore):
(WebCore::ElementRuleCollector::ElementRuleCollector):
Use styleResolver instance to initialize its member variables, i.e.
SelectorFilter, RuleSets, InspectorCSSOMWrappers, and
StyleScopedResolver.
(ElementRuleCollector):
(WebCore::ElementRuleCollector::setMode):
(WebCore::ElementRuleCollector::setPseudoStyleRequest):
(WebCore::ElementRuleCollector::setSameOriginOnly):
(WebCore::ElementRuleCollector::setRegionForStyling):
Mode, SameOriginOnly, RegionForStyling are only used while collecting
matched rules.
(WebCore::ElementRuleCollector::setMedium):
Need to know which default stylesheet should be looked up.
(WebCore::ElementRuleCollector::document):

  • css/PageRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.

(WebCore::comparePageRules):
(WebCore::PageRuleCollector::isLeftPage):
(WebCore::PageRuleCollector::isFirstPage):
(WebCore::PageRuleCollector::pageName):
(WebCore::PageRuleCollector::matchAllPageRules):
(WebCore::PageRuleCollector::matchPageRules):
(WebCore::checkPageSelectorComponents):
(WebCore::PageRuleCollector::matchPageRulesForList):
Moved from StyleResolver.

  • css/PageRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.

(WebCore):
(WebCore::PageRuleCollector::PageRuleCollector):
(PageRuleCollector):
(WebCore::PageRuleCollector::matchedResult):

  • css/StyleResolver.cpp:

(WebCore):
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::MatchResult::addMatchedProperties):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::applyMatchedProperties):

  • css/StyleResolver.h:

(WebCore::MatchRequest::MatchRequest):
Removed behaviorAtBoundary. Instead, ElementRuleCollector have the
state.
(MatchRequest):
(WebCore::StyleResolver::selectorFilter):
Added to obtain SelectorFilter in ElementRuleCollector's constructor.
(StyleResolver):
(MatchResult):
(WebCore::StyleResolver::State::State):
To pass ASSERT in StyleResolver::applyProperties, need to keep
m_regionForStyling.
(State):
(WebCore::StyleResolver::State::regionForStyling):
(WebCore::StyleResolver::State::useSVGZoomRules):
(WebCore::StyleResolver::hasSelectorForId):
(WebCore):
(WebCore::checkRegionSelector):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::willMatchRule):
Removed StyleResolver from its parameter list. Instead, added
InspectorCSSOMWrappers and DocumentStyleSheetCollection.

  • inspector/InspectorCSSAgent.h:

(WebCore):
(InspectorCSSAgent):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::willMatchRuleImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):

2:48 AM Changeset in webkit [145348] by mkwst@chromium.org
  • 5 edits in trunk/Source/WebCore

XSSAuditor doesn't need a copy of the original document's body.
https://bugs.webkit.org/show_bug.cgi?id=111946

Reviewed by Darin Adler.

The XSSAuditor currently copies the original HTTP body of the document
that's being audited in order to include it into a violation report if
reflected XSS is detected. We don't actually need to do this, as we
have access to the original request information from inside the
XSSAuditorDelegate where the report is generated.
XSSAuditorDelegate::didBlockScript ASSERTs that it's running on the
main thread, so it should be safe to reach through the document's
loader to get that information directly, rather than passing it from
thread to thread via XSSInfo object properties.

  • html/parser/XSSAuditor.h:
  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::init):
(WebCore::XSSAuditor::filterToken):
(WebCore::XSSAuditor::isSafeToSendToAnotherThread):

  • html/parser/XSSAuditorDelegate.h:

(WebCore::XSSInfo::create):
(WebCore::XSSInfo::XSSInfo):

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSInfo::isSafeToSendToAnotherThread):

Drop the XSSInfo and XSSAuditor properties that held an
isolatedCopy of the the original HTTP body. Depending on the
document's size, this could be a significant savings.

(WebCore::XSSAuditorDelegate::didBlockScript):

Reach into the document's loader's original request in order to
grab the body as a String, and feed that into the violation report
object.

As a drive-by, this patch creates a FrameLoader* temporary
variable to minimize repetition in this area of the code. We use
the loader a few times, but should only have to grab it once.

2:40 AM Changeset in webkit [145347] by silviapf@chromium.org
  • 2 edits in trunk/Source/WebCore

[Chromium] REGRESSION: Closed Captions button not showing properly
https://bugs.webkit.org/show_bug.cgi?id=109871

Reviewed by Jer Noble.

No new tests - covered by existing tests.

Most of the patch was in the meantime covered by a patch to
https://bugs.webkit.org/show_bug.cgi?id=111109 .
This changes a static Chromium-only function name to be consistent with
parent class function names.

  • rendering/RenderMediaControlsChromium.cpp:

(WebCore::paintMediaToggleClosedCaptionsButton):
(WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
Rename paintMediaClosedCaptionsButton to paintMediaToggleClosedCaptionsButton.

1:43 AM Changeset in webkit [145346] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

RenderSnapshottedPlugIn paints in PaintPhaseBlockBackground instead of PaintPhaseForeground
https://bugs.webkit.org/show_bug.cgi?id=111962
<rdar://problem/13289335>

Reviewed by Dean Jackson.

RenderSnapshottedPlugIn should paint its snapshot during the foreground
painting phase, instead of BlockBackground, to match normal plugin painting.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paint):

1:32 AM Changeset in webkit [145345] by jochen@chromium.org
  • 8 edits in trunk

[chromium] remove obsolete user gesture methods from WebFrame
https://bugs.webkit.org/show_bug.cgi?id=111696

Reviewed by Adam Barth.

Source/WebKit/chromium:

  • public/WebFrame.h:

(WebFrame):

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::dispatchDidNavigateWithinPage):

  • src/WebFrameImpl.cpp:
  • src/WebFrameImpl.h:

(WebFrameImpl):

Tools:

  • DumpRenderTree/chromium/TestRunner/src/TestPlugin.cpp:

(WebTestRunner::TestPlugin::handleInputEvent):

  • DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
1:30 AM Changeset in webkit [145344] by apavlov@chromium.org
  • 13 edits in branches/chromium/1410

Merge 144626

transition properties can't be found in CSSStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=110011

Reviewed by Antti Koivisto.

Source/WebCore:

The previous approach for handling the unprefixing was to alias the
unprefixed properties with the prefixed ones in CSSPropertyNames.in.
Unfortunately it will alias the properties in the parsing code which will just
identically parse the two versions. This means that when we populate StylePropertySet
we do not have information whether we just parsed the prefixed, the
unprefixed properties or we parsed both. The patch takes another
approach by creating two distinct sets of properties (unprefixed and
prefixed). Each properties have their own id and we now handle them in
the parsing code as disctints properties and add both versions to the
declared style. In order to avoid properties getting out of sync,
this patch adds few facilities to StylePropertySet to update the
prefixed and the unprefixed entries. Finally the style resolution
happens only for the prefixed version (to limit the size of this patch)
and the unprefixed versions are not resolved. This is to avoid creating
the animation objects twice for the resolved style.

Test : transitions/transitions-parsing.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::addPropertyWithPrefixingVariant): Always add the
prefixed and the unprefixed property even if only one is specified.
(WebCore):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseTransitionShorthand): Add both prefixed and
unprefixed longhands to the declarated style.
(WebCore::CSSParser::parseAnimationProperty):

  • css/CSSParser.h:

(CSSParser):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSProperty.h:

(WebCore:: prefixingVariantForPropertyId): This function takes a given
property id and returns its prefixed or unprefixed id if it exists. If
not it returns the same id.
(WebCore):

  • css/CSSPropertyNames.in:
  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::getPropertyValue):
(WebCore::StylePropertySet::removeShorthandProperty):
(WebCore::StylePropertySet::removeProperty):
(WebCore::StylePropertySet::removeProperty): Remove
also the prefixed or unprefixed shorthand if it exists.
(WebCore):
(WebCore::StylePropertySet::setProperty):
(WebCore::StylePropertySet:: appendPrefixingVariantProperty):
(WebCore::StylePropertySet::setPrefixingVariantProperty): If it
exists a unprefixed or prefixed counterpart of the property we're
trying to set, then we update the other one.
(WebCore::StylePropertySet::asText):
(WebCore::StylePropertySet::mergeAndOverrideOnConflict):

  • css/StylePropertySet.h:

(StylePropertySet):

  • css/StylePropertyShorthand.cpp:

(WebCore::transitionShorthand):
(WebCore):
(WebCore::shorthandForProperty): Define the transitions unprefixed
longhands.

  • css/StylePropertyShorthand.h:

(WebCore):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty): StyleBuilder will handle the
resolution and the creation of the animations for the style. As the
declarated style now contains declarations for the prefixed and
unprefixed property we do not want to resolve two times and create duplicate animations.
Therefore when we try to resolve the unprefixed version we just bail out.

LayoutTests:

Updated layout test to cover the bug.

  • transitions/transitions-parsing-expected.txt:
  • transitions/transitions-parsing.html:

TBR=alexis@webkit.org
Review URL: https://codereview.chromium.org/12470005

12:49 AM Changeset in webkit [145343] by zandobersek@gmail.com
  • 4 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Removing a few expectations for tests that were rolled out in r145296.
  • platform/gtk/editing/pasteboard/paste-text-016-expected.txt: Rebaselining after r145296.
  • platform/gtk/fast/dynamic/002-expected.txt: Ditto.
12:16 AM Changeset in webkit [145342] by apavlov@chromium.org
  • 7 edits
    3 adds in trunk

Web Inspector: [Elements] XSLT transformation result from the xml-stylesheet PI not rendered
https://bugs.webkit.org/show_bug.cgi?id=111313

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Frame document update upon XSL transformation was never instrumented.
This change instruments the Document::applyXSLTransform() method to that end.

Test: http/tests/inspector/styles/xsl-transformed.xml

  • dom/Document.cpp:

(WebCore::Document::applyXSLTransform): Instrumented.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::frameDocumentUpdated): Invoked upon applyXSLTransform().

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::frameDocumentUpdatedImpl): Added.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didCommitLoad): Drive-by: simplified.
(WebCore::InspectorInstrumentation::frameDocumentUpdated): Added.

LayoutTests:

  • http/tests/inspector/styles/resources/xsl-transformed.xsl: Added.
  • http/tests/inspector/styles/xsl-transformed-expected.txt: Added.
  • http/tests/inspector/styles/xsl-transformed.xml: Added.

Mar 10, 2013:

11:29 PM Changeset in webkit [145341] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WebPage::scaledSnapshotWithOptions returns a corrupt snapshot if you request a rect larger than the FrameView’s size
https://bugs.webkit.org/show_bug.cgi?id=111820
<rdar://problem/13375785>

Reviewed by Simon Fraser.

We have to clear the image - there could be area that won’t be painted by the FrameView,
or the FrameView could have a transparent background.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scaledSnapshotWithOptions):

11:13 PM Changeset in webkit [145340] by falken@chromium.org
  • 6 edits
    6 adds in trunk

Implement inert subtrees needed for modal <dialog>
https://bugs.webkit.org/show_bug.cgi?id=110952

Reviewed by Hajime Morrita.

Source/WebCore:

This changes Node::disabled() to return true when a modal dialog is
open and the node is not in the dialog.

Reusing disabled for inertness is useful because then event
targeting and focus control automatically have the desired behavior:
inert nodes are skipped over.

Tests: fast/dom/HTMLDialogElement/closed-dialog-does-not-block-mouse-events.html

fast/dom/HTMLDialogElement/modal-dialog-blocks-mouse-events.html
fast/dom/HTMLDialogElement/non-modal-dialog-does-not-block-mouse-events.html

  • dom/Document.h:

(WebCore::Document::activeModalDialog): Returns the topmost element in the top layer.
Since now the only elements in the top layer are modal dialogs, it is the active modal dialog.

  • dom/Node.cpp:

(WebCore):
(WebCore::Node::isInert): As per the spec, a node that is not an ancestor or descendant of the modal dialog is inert.
(WebCore::Node::disabled): Return false when inert.

  • dom/Node.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::disabled): Fall back to the superclass so inert is taken into account.

LayoutTests:

  • fast/dom/HTMLDialogElement/closed-dialog-does-not-block-mouse-events-expected.txt: Added.
  • fast/dom/HTMLDialogElement/closed-dialog-does-not-block-mouse-events.html: Added.
  • fast/dom/HTMLDialogElement/modal-dialog-blocks-mouse-events-expected.txt: Added.
  • fast/dom/HTMLDialogElement/modal-dialog-blocks-mouse-events.html: Added.
  • fast/dom/HTMLDialogElement/non-modal-dialog-does-not-block-mouse-events-expected.txt: Added.
  • fast/dom/HTMLDialogElement/non-modal-dialog-does-not-block-mouse-events.html: Added.
10:42 PM Changeset in webkit [145339] by silviapf@chromium.org
  • 2 edits in trunk/Tools

Add myself to committers.py

8:30 PM Changeset in webkit [145338] by glenn@skynav.com
  • 5 edits
    2 adds in trunk

Line breaking opportunities at the end of a text node are missed
https://bugs.webkit.org/show_bug.cgi?id=17427

Reviewed by Darin Adler.

Source/WebCore:

When initializing context for determining next break position,
reuse last two characters from previous text node(s) within block.
This additional state is stored in the current LazyLineBreakIterator
as an optimization to prevent having to add two new parameters to
isBreakable().

At present, this fixes only the ASCII shortcut code path, but
does not yet handle the non-ASCII path. Since the ASCII path is
the most performant critical, the handling of this latter path
will be addressed by webkit.org/b/105692.

Additionally test for case where last two characters context
is derived from distinct nodes, possibly with intervening empty
inline node(s).

Test: fast/text/line-break-between-text-nodes.html

  • platform/text/TextBreakIterator.h:

(WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
(WebCore::LazyLineBreakIterator::lastCharacter):
(WebCore::LazyLineBreakIterator::secondToLastCharacter):
(WebCore::LazyLineBreakIterator::setLastTwoCharacters):
(WebCore::LazyLineBreakIterator::resetLastTwoCharacters):
(WebCore::LazyLineBreakIterator::updateLastTwoCharacters):
(LazyLineBreakIterator):
Add state variables to retain last two characters of previous text node(s)
for reuse when initializing nextBreakPosition<>() context.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
Record and reset retained last two characters of previous text node(s) as
appropriate.

  • rendering/break_lines.cpp:

(WebCore::nextBreakablePosition):
Use state variables holding retained last two characters of previous text node(s)
for when initializing nextBreakPosition<>() context.

LayoutTests:

  • fast/text/line-break-between-text-nodes-expected.html: Added.
  • fast/text/line-break-between-text-nodes.html: Added.
6:21 PM Changeset in webkit [145337] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix a typo in http://trac.webkit.org/changeset/145332.

Unreviewed.

ENABLE() doesn't use the WTF_ prefix.

  • WebProcess/WebPage/WebPage.h:
6:19 PM Changeset in webkit [145336] by Darin Adler
  • 3 edits in trunk/Source/WebCore

NetworkStorageSession leaks its CFURLStorageSessionRef
https://bugs.webkit.org/show_bug.cgi?id=111950
<rdar://problem/13384134>

Reviewed by Sam Weinig.

  • platform/network/NetworkStorageSession.h:

Change the argument type of the constructor to a RetainPtr.

  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::NetworkStorageSession::NetworkStorageSession): Changed
the argument type to a RetainPtr.
(WebCore::NetworkStorageSession::switchToNewTestingSession): Added
calls to adoptCF to adopt the value returned by wkCreatePrivateStorageSession.
(WebCore::NetworkStorageSession::createPrivateBrowsingSession): Ditto.
(WebCore::NetworkStorageSession::cookieStorage): Changed to use adoptCF
instead of the RetainPtr constructor with AdoptCF since the former is
far easier to read.

4:36 PM WebKit Team edited by glenn@skynav.com
(diff)
4:12 PM Changeset in webkit [145335] by weinig@apple.com
  • 5 edits in trunk/Source/WebKit2

Add bundle API to get the current selection as a WKDOMRange
https://bugs.webkit.org/show_bug.cgi?id=111947
<rdar://problem/13205460>

Reviewed by Gavin Barraclough.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController selectedRange]):
Add new selectedRange property.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::frameWithSelection):
(WebKit::WebPage::currentSelectionAsRange):

  • WebProcess/WebPage/WebPage.h:

Get the range by finding the frame that has a selection, and then normalizing it.

3:37 PM Changeset in webkit [145334] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Conformance Test 1.0.3 (Beta) function: bufferData undefined value failed.
https://bugs.webkit.org/show_bug.cgi?id=111641

Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-10
Reviewed by Dean Jackson.

The WebGL specification requires that a size of 0 is not valid. In javascript, passing in undefined
as a parameter to a long long is the same as passing in 0, so we must check for this incorrect
value and fail.
The test suite in Kronos 1.0.3 failed, test to verify conformance is as follows:
https://www.khronos.org/registry/webgl/sdk/tests/conformance/more/functions/bufferDataBadArgs.html.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::bufferData):
Synthesize error and returned if size is 0.

2:00 PM Changeset in webkit [145333] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

SVGDocumentExtensions should use OwnPtr for pending resource maps.
<http://webkit.org/b/111943>

Reviewed by Anders Carlsson.

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
(WebCore::SVGDocumentExtensions::addPendingResource):
(WebCore::SVGDocumentExtensions::isElementPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::removePendingResource):
(WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
(WebCore::SVGDocumentExtensions::markPendingResourcesForRemoval):

  • svg/SVGDocumentExtensions.h:

(SVGDocumentExtensions):

1:40 PM Changeset in webkit [145332] by timothy_horton@apple.com
  • 8 edits in trunk/Source

Add a heuristic to determine the “primary” snapshotted plugin
https://bugs.webkit.org/show_bug.cgi?id=111932
<rdar://problem/13270208>

Reviewed by Dean Jackson.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
Forward didCommitLoad to WebPage. Move existing code that manipulated WebPage
itself during didCommitLoad into WebPage, where it belongs.
(WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): Forward didFinishLoad to WebPage.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Initialize m_didFindPrimarySnapshottedPlugin to false.
(WebKit::WebPage::didCommitLoad): Move code from WebPageFrameLoaderClient.
Reset the flag that says we've already found a snapshotted plugin.
(WebKit::WebPage::didFinishLoad):
Call determinePrimarySnapshottedPlugIn when any frame finishes loading. We call this for subframes,
not just the main frame, in case the main frame loads with no "primary" plugins, but a subframe later loads with one.
(WebKit::WebPage::determinePrimarySnapshottedPlugIn):
Attempt to find the primary snapshotted plugin on the page, by hit-testing a grid of points spaced 200px apart.
A plugin is considered if it is snapshotted and > 450x300. We scan vertically and left-to-right, only discarding
a previous candidate if another candidate is at least 110% the size of the previous candidate.
This tends to select plugins near the top left of the page, unless there is a significantly larger plugin elsewhere.
(WebKit::WebPage::resetPrimarySnapshottedPlugIn):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebCore.exp.in: Export a few things.
  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
(WebCore::classNameForShadowRoot): If we've been informed that we are the primary snapshotted plugin, add the 'primary' class.
(WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Added
(WebCore::HTMLPlugInImageElement::updateSnapshotInfo): Hand classNameForShadowRoot our primary-ness.

  • html/HTMLPlugInImageElement.h:

(HTMLPlugInImageElement): Add storage for m_isPrimarySnapshottedPlugIn.

12:57 PM Changeset in webkit [145331] by mkwst@chromium.org
  • 5 edits in trunk/Source/WebCore

XSSAuditor doesn't need a copy of the original document URL.
https://bugs.webkit.org/show_bug.cgi?id=111944

Reviewed by Adam Barth.

When creating an XSSInfo object in response to detecting reflected XSS
on a page, the Auditor was passing in a copy of the document's
original URL for reporting. It doesn't look like we need this, as
XSSInfo's only consumer, XSSAuditorDelegate, runs on the main thread
with access to the document. We can obtain access to the same
information by reading the URL directly from the delegate's Document
object if and when we need it.

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::didBlockScript):

Read the document's URL directly in order to create a violation
report.

(WebCore::XSSInfo::isSafeToSendToAnotherThread):

  • html/parser/XSSAuditorDelegate.h:

(WebCore::XSSInfo::create):
(WebCore::XSSInfo::XSSInfo):

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::init):
(WebCore::XSSAuditor::filterToken):
(WebCore::XSSAuditor::isSafeToSendToAnotherThread):

  • html/parser/XSSAuditor.h:

Remove the copied original URL from both XSSInfo objects and the
XSSAuditor.

12:30 PM Changeset in webkit [145330] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed, rolling out r145039 and r145096.
http://trac.webkit.org/changeset/145039
http://trac.webkit.org/changeset/145096
https://bugs.webkit.org/show_bug.cgi?id=111945

broke find indicator updates with scrolling subframes
(Requested by thorton on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-10

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::scroll):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

12:16 PM Changeset in webkit [145329] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

SpeculativeJIT should use OwnPtr<SlowPathGenerator>.
<http://webkit.org/b/111942>

Reviewed by Anders Carlsson.

There's no need to include DFGSlowPathGenerator.h from the header as long as the destructor is out-of-line,
so let's use OwnPtr instead of raw pointers + deleteAllValues().

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::~SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::addSlowPathGenerator):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):

11:30 AM WebKitGTK/2.0.x edited by slomo@circular-chaos.org
(diff)
10:41 AM Changeset in webkit [145328] by akling@apple.com
  • 3 edits in trunk/Source/WebKit2

WebPluginSiteDataManager should use OwnPtr.
<http://webkit.org/b/111940>

Reviewed by Anders Carlsson.

  • UIProcess/Plugins/WebPluginSiteDataManager.cpp:

(WebKit::WebPluginSiteDataManager::invalidate):
(WebKit::WebPluginSiteDataManager::getSitesWithData):
(WebKit::WebPluginSiteDataManager::clearSiteData):
(WebKit::WebPluginSiteDataManager::didGetSitesWithDataForAllPlugins):
(WebKit::WebPluginSiteDataManager::didClearSiteDataForAllPlugins):

  • UIProcess/Plugins/WebPluginSiteDataManager.h:

(WebPluginSiteDataManager):

9:46 AM Changeset in webkit [145327] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

GlyphMetricsMap should use OwnPtr.
<http://webkit.org/b/111937>

Reviewed by Anders Carlsson.

Use OwnPtr instead of raw pointer + deleteAllValues().

  • platform/graphics/GlyphMetricsMap.h:

(GlyphMetricsMap):
(WebCore::::locatePageSlowCase):

9:09 AM Changeset in webkit [145326] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

Allow iOS port to use InbandTextTrackPrivateAVF
https://bugs.webkit.org/show_bug.cgi?id=111933

Reviewed by Dean Jackson.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCue): Drive-by cleanup.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
8:46 AM Changeset in webkit [145325] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.0

Merge r144765 - Unreviewed build fix.

.:

  • GNUmakefile.am: remove bad path for generate-feature-defines-files from EXTRA_DIST.

Tools:

  • GNUmakefile.am: add generate-feature-defines-files scripts to EXTRA_DIST.
8:38 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
8:37 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:18 AM WebKit Team edited by pf@parb.es
Add myself to committers list (diff)
1:20 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
1:18 AM Changeset in webkit [145324] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

[GTK] When the WebProcess crashes, a signal should be emitted
https://bugs.webkit.org/show_bug.cgi?id=105180

Emit a "web-process-crashed" signal when the WebProcess crashes. This
is useful, for example, to show an error page in a web browser
like Chrome does.

Reviewed Carlos Garcia Campos.

Patch by Xan Lopez <Xan Lopez> on 2013-03-10

  • UIProcess/API/gtk/WebKitLoaderClient.cpp:

(processDidCrash):
(attachLoaderClientToView):

  • UIProcess/API/gtk/WebKitWebContextPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_class_init):
(webkitWebViewWebProcessCrashed):

  • UIProcess/API/gtk/tests/TestWebExtensions.cpp:

(testWebExtensionGetTitle):
(webProcessCrashedCallback):
(testWebKitWebViewProcessCrashed):
(beforeAll):

  • UIProcess/API/gtk/tests/WebExtensionTest.cpp:

(methodCallCallback):

Mar 9, 2013:

2:48 PM Changeset in webkit [145323] by commit-queue@webkit.org
  • 16 edits
    8 deletes in trunk

Unreviewed, rolling out r145299.
http://trac.webkit.org/changeset/145299
https://bugs.webkit.org/show_bug.cgi?id=111928

compilation failure with recent clang
(DFGBackwardsPropagationPhase.cpp:132:35: error: comparison of
constant 10 with expression of type 'bool' is always false)
(Requested by thorton on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-09

Source/JavaScriptCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::refine):

  • dfg/DFGBackwardsPropagationPhase.cpp: Removed.
  • dfg/DFGBackwardsPropagationPhase.h: Removed.
  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::run):
(CPSRethreadingPhase):
(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor):
(JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::nodeFlagsAsString):
(DFG):

  • dfg/DFGNodeFlags.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::isNotNegZero):
(PredictionPropagationPhase):
(JSC::DFG::PredictionPropagationPhase::isNotZero):
(JSC::DFG::PredictionPropagationPhase::isWithinPowerOfTwoForConstant):
(JSC::DFG::PredictionPropagationPhase::isWithinPowerOfTwoNonRecursive):
(JSC::DFG::PredictionPropagationPhase::isWithinPowerOfTwo):
(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::mergeDefaultFlags):

  • dfg/DFGUnificationPhase.cpp:

(JSC::DFG::UnificationPhase::run):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::VariableAccessData):
(VariableAccessData):

LayoutTests:

  • fast/js/dfg-arith-add-overflow-check-elimination-predicted-but-not-proven-int-expected.txt: Removed.
  • fast/js/dfg-arith-add-overflow-check-elimination-predicted-but-not-proven-int.html: Removed.
  • fast/js/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers-expected.txt: Removed.
  • fast/js/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers.html: Removed.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-arith-add-overflow-check-elimination-predicted-but-not-proven-int.js: Removed.
  • fast/js/script-tests/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers.js: Removed.
1:29 PM Changeset in webkit [145322] by eric.carlson@apple.com
  • 11 edits
    2 adds in trunk/Source/WebCore

Enable platform code to implement text track menu
https://bugs.webkit.org/show_bug.cgi?id=111924

Reviewed by Dean Jackson.

No new tests, the new code isn't enabled in any ports yet.

  • WebCore.xcodeproj/project.pbxproj: Add PlatformTextTrack.h and PlatformTextTrackMenu.h.
  • html/HTMLAudioElement.cpp:

(WebCore::HTMLAudioElement::createForJSConstructor): scheduleLoad -> scheduleDelayedAction.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Deal with scheduleLoad to scheduleDelayedAction rename.
(WebCore::HTMLMediaElement::parseAttribute): Ditto.
(WebCore::HTMLMediaElement::finishParsingChildren): Ditto.
(WebCore::HTMLMediaElement::insertedInto): Ditto.
(WebCore::HTMLMediaElement::scheduleDelayedAction): Ditto.
(WebCore::HTMLMediaElement::scheduleNextSourceChild): Ditto.
(WebCore::HTMLMediaElement::loadTimerFired): Ditto.
(WebCore::HTMLMediaElement::textTrackModeChanged): Notify platform menu of track change.
(WebCore::HTMLMediaElement::playInternal): Deal with scheduleLoad to scheduleDelayedAction rename.
(WebCore::HTMLMediaElement::pauseInternal): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerDidAddTrack): Ditto. Call addTrack() instead of appending

the track directly.

(WebCore::HTMLMediaElement::setSelectedTextTrack): Deal with platform menu changing the

selected track.

(WebCore::HTMLMediaElement::platformTextTracks): Return an array of PlatformTracks representing

the current text tracks.

(WebCore::HTMLMediaElement::notifyMediaPlayerOfTextTrackChanges): Notify the platform menu

that the list of text tracks has changed.

(WebCore::HTMLMediaElement::platformTextTrackMenu): Return the platform track menu, if any.
(WebCore::HTMLMediaElement::closeCaptionTracksChanged):
(WebCore::HTMLMediaElement::addTrack): Call addTrack() instead of appending the track directly.
(WebCore::HTMLMediaElement::removeTrack): Call closeCaptionTracksChanged.
(WebCore::HTMLMediaElement::addTextTrack): Call addTrack() instead of appending the track directly.
(WebCore::HTMLMediaElement::didAddTrack): Ditto.
(WebCore::HTMLMediaElement::didRemoveTrack): Deal with scheduleLoad to scheduleDelayedAction rename.
(WebCore::HTMLMediaElement::sourceWasAdded): Ditto.
(WebCore::HTMLMediaElement::clearMediaPlayer): Forget the platform track menu.
(WebCore::HTMLMediaElement::resume): Deal with scheduleLoad to scheduleDelayedAction rename.

  • html/HTMLMediaElement.h:
  • html/track/InbandTextTrack.h: scheduleLoad -> scheduleDelayedAction.
  • html/track/TextTrack.cpp:

(WebCore::TextTrack::platformTextTrack): Create a PlatformTextTrack.

  • html/track/TextTrack.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::implementsTextTrackControls): New, player private passthrough.
(WebCore::MediaPlayer::textTrackMenu): Ditto.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/PlatformTextTrack.h: Added.
  • platform/graphics/PlatformTextTrackMenu.h: Added.
1:27 PM Changeset in webkit [145321] by sadrul@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Remove deprecated flingStart.sourceDevice from WebGestureEvent
https://bugs.webkit.org/show_bug.cgi?id=111866

Reviewed by James Robinson.

  • public/WebInputEvent.h:
11:43 AM Changeset in webkit [145320] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Video size calculated incorrectly when PLUGIN_PROXY_FOR_VIDEO
https://bugs.webkit.org/show_bug.cgi?id=111912

Reviewed by Dean Jackson.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateSizes): We use RenderPart when

PLUGIN_PROXY_FOR_VIDEO is defined, not RenderVideo.

8:54 AM Changeset in webkit [145319] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit/chromium

[chromium] Set the Helper Plugin's URL to that of the host document.
https://bugs.webkit.org/show_bug.cgi?id=111913

This allows content settings, etc. to be based on the document hosting
the element that requested the Helper Plugin.

Patch by David Dorwin <ddorwin@chromium.org> on 2013-03-09
Reviewed by Adam Barth.

  • src/WebHelperPluginImpl.cpp:

(WebKit::writeDocument):
(WebKit::WebHelperPluginImpl::initialize):
(WebKit::WebHelperPluginImpl::initializePage):

  • src/WebHelperPluginImpl.h:

(WebKit):
(WebHelperPluginImpl):

  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::createHelperPlugin):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::createHelperPlugin):

  • src/WebViewImpl.h:

(WebViewImpl):

8:34 AM Changeset in webkit [145318] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix offset handling in GStreamer WebKitWebSource.
https://bugs.webkit.org/show_bug.cgi?id=111888

Patch by Sebastian Dröge <sebastian.droege@collabora.co.uk> on 2013-03-09
Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcSeekDataCb):
(StreamingClient::didReceiveData):
The offset handling in WebKitWebSource was completely wrong
before and caused wrong offsets to be set on the GStreamer buffers
after a seek.

Apart from that there was also a race condition that happens
when a downstream element causes seeks in very short succession
and is switching between two different parts of the stream.

4:45 AM Changeset in webkit [145317] by keishi@webkit.org
  • 1 edit
    9 adds in trunk/LayoutTests

Add tests for opening the picker with the f4 key
https://bugs.webkit.org/show_bug.cgi?id=111811

Reviewed by Kent Tamura.

  • platform/chromium-win/fast/forms/calendar-picker/date-open-picker-with-f4-key-expected.txt: Added.
  • platform/chromium-win/fast/forms/calendar-picker/date-open-picker-with-f4-key.html: Added.
  • platform/chromium-win/fast/forms/calendar-picker/datetimelocal-open-picker-with-f4-key-expected.txt: Added.
  • platform/chromium-win/fast/forms/calendar-picker/datetimelocal-open-picker-with-f4-key.html: Added.
  • platform/chromium-win/fast/forms/calendar-picker/month-open-picker-with-f4-key-expected.txt: Added.
  • platform/chromium-win/fast/forms/calendar-picker/month-open-picker-with-f4-key.html: Added.
  • platform/chromium-win/fast/forms/calendar-picker/week-open-picker-with-f4-key-expected.txt: Added.
  • platform/chromium-win/fast/forms/calendar-picker/week-open-picker-with-f4-key.html: Added.
4:43 AM Changeset in webkit [145316] by keishi@webkit.org
  • 10 edits in trunk

Month transition animation is missing in some places
https://bugs.webkit.org/show_bug.cgi?id=111908

Reviewed by Kent Tamura.

Source/WebCore:

Month transition animation was missing when navigating using keyboard
shortcuts and when navigation was trigger by selecting.

Added tests to calendar-picker/*-picker-key-operations.html.

  • Resources/pagepopups/calendarPicker.js:

(Animator): Added annotations.
(Animator.prototype.isRunning): Returns true of the animation is running. Used by test.
(ScrollView.prototype.scrollAnimator): Returns the scroll animator. Used by test.
(CalendarPicker):
(CalendarPicker.prototype.onYearListViewDidSelectMonth): Use CalendarPicker.NavigationBehavior enum instead of bool.
(CalendarPicker.prototype.setSelection): Ditto.
(CalendarPicker.prototype._moveHighlight): Ditto.
(CalendarPicker.prototype.onCalendarTableKeyDown): Ditto.
(CalendarPicker.prototype.onBodyKeyDown): Ditto.

LayoutTests:

  • platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations.html:
  • platform/chromium/fast/forms/calendar-picker/month-picker-key-operations-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/month-picker-key-operations.html:
  • platform/chromium/fast/forms/calendar-picker/resources/calendar-picker-common.js:

(isCalendarTableScrollingWithAnimation):

  • platform/chromium/fast/forms/calendar-picker/week-picker-key-operations-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/week-picker-key-operations.html:
3:27 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:25 AM Changeset in webkit [145315] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit/gtk

Merge r144055 - REGRESSION (r143619): Crashes in three layout tests
https://bugs.webkit.org/show_bug.cgi?id=110588

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-02-26
Reviewed by Gustavo Noronha Silva.

Source/WebKit/gtk:

Guard against null main resource identifiers. The main resource
identifier can be null at various times during the load. A null
identifier is never equal to the ones we are looking to remove.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::dispatchDidFinishLoading): Use the new webkitWebViewRemoveSubresource helper.
(WebKit::FrameLoaderClient::dispatchDidFailLoading): ditto.

  • webkit/webkitwebview.cpp:

(webkitWebViewRemoveSubresource): Added this helper which removes a subresource, but
never touches the main resource. This is adapted from the old method, for which the
main resource branch was dead code.

  • webkit/webkitwebviewprivate.h: Update the method list.
3:20 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:19 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:17 AM Changeset in webkit [145314] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r145244 - [WK2][GTK] Invalid request returned by webkit_download_get_request if called before download starts
https://bugs.webkit.org/show_bug.cgi?id=111574

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-03-08
Reviewed by Alexey Proskuryakov.

webkit_download_get_request() creates the WebKitURIRequest object
on demand using the ResourceRequest from the DownloadProxy. The
ResourceRequest of the DownloadProxy is set in
DownloadProxy::didStart(), so if we call
webkit_download_get_request() before didStart we return an invalid
WebKitURIRequest created from a NULL ResourceRequest. This is not
a problem for downloads started in the web process, because we
create the WebKitDownload after DownloadProxy::didStart(). For
downloads started manually with webkit_web_context_download_uri()
we need to create download object with the ResourceRequest passed
to the DownloadProxy.

  • UIProcess/API/gtk/WebKitDownload.cpp:

(webkitDownloadCreateForRequest): New helper function for
downloads started manually to created them with a given
ResourceRequest.

  • UIProcess/API/gtk/WebKitDownloadPrivate.h:
  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextStartDownload): Use
webkitDownloadCreateForRequest().

  • UIProcess/API/gtk/tests/TestDownloads.cpp:

(testDownloadLocalFile):
(testDownloadLocalFileError):
(testDownloadRemoteFile):
(testDownloadRemoteFileError):
(testPolicyResponseDownload):

3:10 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:09 AM Changeset in webkit [145313] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r145202 - [GTK] Memory leak in webkit_web_view_load_request() in WebKit2 API
https://bugs.webkit.org/show_bug.cgi?id=111160

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-03-08
Reviewed by Benjamin Poulain.

leakRef() is used for the returned PassRefPtr without taking the
ownership of the leaked ref.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_load_request): Use RefPtr local variable.

3:08 AM Changeset in webkit [145312] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Can't build w/o accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=111891

Patch originally came from Tobias Mueller <tobiasmue@gnome.org>

Unreviewed build fix for platforms without ACCELERATED_COMPOSITING enabled, which
broke in r145057.

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::~PseudoElement): Wrap the call to pseudoElementDestroyed in

USE(ACCELERATED_COMPOSITING)

3:05 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:04 AM Changeset in webkit [145311] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0

Merge r145307 - [GTK] Versions.m4 is missing some key dependencies version definitions
https://bugs.webkit.org/show_bug.cgi?id=111903

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-03-09
Reviewed by Carlos Garcia Campos.

  • Source/autotools/Versions.m4: Add missing required version

definitions.

3:00 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
2:58 AM Changeset in webkit [145310] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.0

Merge r145199 - [GTK] Remove media stream support from the configuration options
https://bugs.webkit.org/show_bug.cgi?id=111813

Reviewed by Philippe Normand.

Remove the media-stream configuration flag. The feature is incomplete and
thus unsupported, so it really shouldn't be possible to enable it.

  • Source/autotools/PrintBuildConfiguration.m4:
  • Source/autotools/ReadCommandLineArguments.m4:
  • Source/autotools/SetupAutomake.m4:
  • Source/autotools/SetupWebKitFeatures.m4:
2:54 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
2:52 AM Changeset in webkit [145309] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.0

Merge r145084 - [GTK] Limit the supported compilers to GCC >= 4.7 and Clang >= 3.0
https://bugs.webkit.org/show_bug.cgi?id=109932

Patch by Zan Dobersek <zdobersek@igalia.com> on 2013-03-07
Reviewed by Martin Robinson.

.:

  • Source/autotools/CheckSystemAndBasicDependencies.m4: Strictly check for one of the two compilers.
  • Source/autotools/SetupCompilerFlags.m4: Set up C++11-specific compiler flags. Force the C99 standard for the C code.

Use the -Qunused-arguments flag when using Clang, it reduces irrelevant errors when using ccache.

Source/WebCore:

  • GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.

They are now available by default due to the limited set of supported compilers.

  • bindings/gobject/GNUmakefile.am: Ditto.

Source/WebKit/gtk:

  • GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.

They are now available by default due to the limited set of supported compilers.

Source/WebKit2:

  • GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.

They are now available by default due to the limited set of supported compilers.

1:50 AM Changeset in webkit [145308] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK][WK2] Fix compilation warning missing-field-initializers in webkit-2.0 stable branch
https://bugs.webkit.org/show_bug.cgi?id=111863

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-03-09
Reviewed by Benjamin Poulain.

  • UIProcess/API/gtk/WebKitUIClient.cpp:

(attachUIClientToView): Include missing initializer for pluginLoadPolicy.

1:37 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
1:31 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
1:30 AM Changeset in webkit [145307] by commit-queue@webkit.org
  • 2 edits in trunk

[GTK] Versions.m4 is missing some key dependencies version definitions
https://bugs.webkit.org/show_bug.cgi?id=111903

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-03-09
Reviewed by Carlos Garcia Campos.

  • Source/autotools/Versions.m4: Add missing required version

definitions.

1:30 AM Changeset in webkit [145306] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0

Merge r144222 - [GTK] Disable MathML support in release builds
https://bugs.webkit.org/show_bug.cgi?id=110981

Patch by Zan Dobersek <zdobersek@igalia.com> on 2013-02-27
Reviewed by Martin Robinson.

  • Source/autotools/SetupWebKitFeatures.m4: Disable the MathML support in release builds

as the code is not yet deemed production-ready.

Mar 8, 2013:

10:40 PM Changeset in webkit [145305] by robert@webkit.org
  • 5 edits
    8 adds in trunk

REGRESSION(r140907): Incorrect baseline for cells with media content during load
https://bugs.webkit.org/show_bug.cgi?id=108357

Reviewed by Julien Chaffraix.

Source/WebCore:

If a cell has replaced content, the intrinsic height of its content can change between layouts. If that's the case then the intrinsic padding we used
for layout (the padding required to push the contents of the cell down to the row's baseline) is included in the new height and baseline and makes both
of them wrong. So if a cell's content's intrinsic height has changed push the new content up into the intrinsic padding and relayout so that the rest of
table and row layout can use the correct baseline and height for this cell.

Tests: fast/css/vertical-align-baseline-rowspan-012.html

http/tests/css/vertical-align-baseline-after-image-load-2.html
http/tests/css/vertical-align-baseline-after-image-load-3.html
http/tests/css/vertical-align-baseline-after-image-load.html

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::layout):

  • rendering/RenderTableCell.h:

(WebCore::RenderTableCell::isBaselineAligned):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layoutRows):

LayoutTests:

  • fast/css/vertical-align-baseline-rowspan-012-expected.html: Added.
  • fast/css/vertical-align-baseline-rowspan-012.html: Added.
  • http/tests/css/vertical-align-baseline-after-image-load-2-expected.html: Added.
  • http/tests/css/vertical-align-baseline-after-image-load-2.html: Added.
  • http/tests/css/vertical-align-baseline-after-image-load-3-expected.html: Added.
  • http/tests/css/vertical-align-baseline-after-image-load-3.html: Added.
  • http/tests/css/vertical-align-baseline-after-image-load-expected.html: Added.
  • http/tests/css/vertical-align-baseline-after-image-load.html: Added.
10:37 PM Changeset in webkit [145304] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

REGRESSION: Intermittent crash in SpeechSynthesis::didFinishSpeaking
https://bugs.webkit.org/show_bug.cgi?id=111613

Reviewed by Ryosuke Niwa.

This crash happens when the mock synthesizer utterance variable gets cleared
before the speakingFinished timer happens. I don't see how that could happen
but I was able to make a similar problem happen when cancel is called twice.

This adds in a few more asserts and common sense checks. I'm hoping it will
illuminate the problem further.

  • platform/mock/PlatformSpeechSynthesizerMock.cpp:

(WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
(WebCore::PlatformSpeechSynthesizerMock::speak):
(WebCore::PlatformSpeechSynthesizerMock::cancel):

9:54 PM Changeset in webkit [145303] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

BUILD FIX: Make WebCore link for iOS

  • WebCore.exp.in:
  • Add ENABLE(RUBBER_BAND) for FrameView::setWantsLayerForTopOverHangArea(bool) and FrameView::setWantsLayerForBottomOverHangArea(bool).
  • Move FloatPoint::FloatPoint(_NSPoint const&) to !PLATFORM(IOS) section.
9:54 PM Changeset in webkit [145302] by ddkilzer@apple.com
  • 5 edits in trunk/Websites/bugs.webkit.org

(CVE-2013-0786) [SECURITY] build_subselect() leaks the existence of products and components you cannot access
<https://bugzilla.mozilla.org/show_bug.cgi?id=824399>
<exp2://Ticket/14465628>

Applied "v5 patch, 3.6" to bugs.webkit.org.

  • Bugzilla/Config/GroupSecurity.pm:

(get_param_list):

  • buglist.cgi:
  • report.cgi:
  • template/en/default/admin/params/groupsecurity.html.tmpl:
9:54 PM Changeset in webkit [145301] by ddkilzer@apple.com
  • 3 edits in trunk/Websites/bugs.webkit.org

(CVE-2013-0785) [SECURITY] XSS in show_bug.cgi when using an invalid page format
<https://bugzilla.mozilla.org/show_bug.cgi?id=842038>
<exp2://Ticket/14465628>

Applied "patch for 3.6 and 4.0, v1" to bugs.webkit.org.

  • Bugzilla/Template.pm:

(get_format):

  • show_bug.cgi:
9:20 PM May 2013 Meeting edited by rniwa@webkit.org
Add myself to pixel->ref test conversion Hackathon; also add an option … (diff)
9:11 PM May 2013 Meeting edited by rniwa@webkit.org
Rename a topic. (diff)
9:04 PM May 2013 Meeting edited by rniwa@webkit.org
Added "Reduce the amount of knowledge you need in order to contribute … (diff)
8:50 PM May 2013 Meeting edited by benjamin@webkit.org
(diff)
8:31 PM Changeset in webkit [145300] by commit-queue@webkit.org
  • 9 edits in trunk

Unreviewed, rolling out r145254, r145264, and r145288.
http://trac.webkit.org/changeset/145254
http://trac.webkit.org/changeset/145264
http://trac.webkit.org/changeset/145288
https://bugs.webkit.org/show_bug.cgi?id=111917

Test breakage hints at conceptual unsoundness (Requested by ap
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-08

Source/WebKit2:

  • NetworkProcess/SchedulableLoader.cpp:

(WebKit::SchedulableLoader::invalidateSandboxExtensions):

  • Shared/Downloads/Download.cpp:

(WebKit::Download::didFinish):
(WebKit::Download::didFail):
(WebKit::Download::didCancel):

  • Shared/SandboxExtension.h:

(SandboxExtension):
(WebKit::SandboxExtension::invalidate):

  • Shared/WebMemorySampler.cpp:

(WebKit::WebMemorySampler::stop):

  • Shared/mac/SandboxExtensionMac.mm:

(WebKit::SandboxExtension::SandboxExtension):
(WebKit::SandboxExtension::invalidate):
(WebKit::SandboxExtension::consume):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::performDragControllerAction):
(WebKit::WebPage::SandboxExtensionTracker::invalidate):
(WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
(WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
(WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):

LayoutTests:

  • platform/mac-wk2/TestExpectations:
6:51 PM Changeset in webkit [145299] by fpizlo@apple.com
  • 16 edits
    8 adds in trunk

DFG overflow check elimination is too smart for its own good
https://bugs.webkit.org/show_bug.cgi?id=111832

Source/JavaScriptCore:

Reviewed by Oliver Hunt and Gavin Barraclough.

This improves overflow check elimination in three ways:

1) It reduces the amount of time the compiler will spend doing it.

2) It fixes bugs where overflow check elimination was overzealous. Precisely, for a binary operation

over @a and @b where both @a and @b will type check that their inputs (@a->children, @b->children)
are int32's and then perform a possibly-overflowing operation, we must be careful not to assume
that @a's non-int32 parts don't matter if at the point that @a runs we have as yet not proved that
@b->children are int32's and that hence @b might produce a large enough result that doubles would
start chopping low bits. The specific implication of this is that for a binary operation to not
propagate that it cares about non-int32 parts (NodeUsedAsNumber), we must prove that at least one
of the inputs is guaranteed to produce a result within 232 and that there won't be a tower of such
operations large enough to ultimately produce a double greater than 2
52 (roughly). We achieve the
latter by disabling this optimization for very large basic blocks. It's noteworthy that blocks that
large won't even make it into the DFG currently.


3) It makes the overflow check elimination more precise for cases where the inputs to an Add or Sub

are the outputs of a bit-op. For example in (@a + (@b | 0)) | 0, we don't need to propagate
NodeUsedAsNumber to either @a or @b.


This is neutral on V8v7 and a slight speed-up on compile time benchmarks.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::refine):

  • dfg/DFGBackwardsPropagationPhase.cpp: Added.

(DFG):
(BackwardsPropagationPhase):
(JSC::DFG::BackwardsPropagationPhase::BackwardsPropagationPhase):
(JSC::DFG::BackwardsPropagationPhase::run):
(JSC::DFG::BackwardsPropagationPhase::isNotNegZero):
(JSC::DFG::BackwardsPropagationPhase::isNotZero):
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwoForConstant):
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwoNonRecursive):
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwo):
(JSC::DFG::BackwardsPropagationPhase::mergeDefaultFlags):
(JSC::DFG::BackwardsPropagationPhase::propagate):
(JSC::DFG::performBackwardsPropagation):

  • dfg/DFGBackwardsPropagationPhase.h: Added.

(DFG):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::run):
(JSC::DFG::CPSRethreadingPhase::clearIsLoadedFrom):
(CPSRethreadingPhase):
(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor):
(JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::dumpNodeFlags):
(DFG):

  • dfg/DFGNodeFlags.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(PredictionPropagationPhase):
(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGUnificationPhase.cpp:

(JSC::DFG::UnificationPhase::run):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::mergeIsLoadedFrom):
(VariableAccessData):
(JSC::DFG::VariableAccessData::setIsLoadedFrom):
(JSC::DFG::VariableAccessData::isLoadedFrom):

LayoutTests:

Reviewed by Oliver Hunt and Gavin Barraclough.

  • fast/js/dfg-arith-add-overflow-check-elimination-predicted-but-not-proven-int-expected.txt: Added.
  • fast/js/dfg-arith-add-overflow-check-elimination-predicted-but-not-proven-int.html: Added.
  • fast/js/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers-expected.txt: Added.
  • fast/js/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-arith-add-overflow-check-elimination-predicted-but-not-proven-int.js: Added.

(foo):
(bar):

  • fast/js/script-tests/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers.js: Added.

(foo):
(bar):

6:29 PM Changeset in webkit [145298] by jamesr@google.com
  • 13 edits
    16 adds
    2 deletes in trunk/LayoutTests

Update chromium baselines for transforms/3d/point-mapping

  • platform/chromium-linux-x86/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt: Added.
  • platform/chromium-linux/transforms/3d/point-mapping/3d-point-mapping-3-expected.png:
  • platform/chromium-linux/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.png: Added.
  • platform/chromium-linux/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt: Added.
  • platform/chromium-linux/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png: Added.
  • platform/chromium-linux/transforms/3d/point-mapping/3d-point-mapping-expected.png:
  • platform/chromium-linux/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png:
  • platform/chromium-linux/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png:
  • platform/chromium-linux/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png:
  • platform/chromium-mac-lion/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.png: Added.
  • platform/chromium-mac-lion/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png: Added.
  • platform/chromium-mac-lion/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png:
  • platform/chromium-mac-snowleopard/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.png: Added.
  • platform/chromium-mac-snowleopard/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png:
  • platform/chromium-mac-snowleopard/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png:
  • platform/chromium-mac/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.png: Added.
  • platform/chromium-mac/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png: Added.
  • platform/chromium-mac/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png:
  • platform/chromium-win-xp/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt: Added.
  • platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.png: Added.
  • platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt: Added.
  • platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png:
  • platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png:
  • platform/chromium/TestExpectations:
  • platform/chromium/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.png: Removed.
  • platform/chromium/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png: Removed.
5:48 PM Changeset in webkit [145297] by jchaffraix@webkit.org
  • 5 edits in trunk

[CSS Grid Layout] Resolve grid-{end|after} integer against the end|after edge
https://bugs.webkit.org/show_bug.cgi?id=111885

Reviewed by Tony Chang.

Source/WebCore:

The current code resolves grid-end (resp. grid-after) <integer>'s format against the start
(resp. before) axis. The specification changed so that they are resolved against their matching
axis.

Test: fast/css-grid-layout/grid-auto-flow-resolution.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::maximumIndexInDirection):
Updated the code to do the grid sizing measurement without resolveGridPositionsFromStyle. That's required
as resolveGridPositionsFromStyle requires the grid to be sized.

(WebCore::RenderGrid::placeItemsOnGrid):
Added a comment about not recomputing after grid growth. This issue was raised to www-style
(http://lists.w3.org/Archives/Public/www-style/2013Mar/0182.html).

(WebCore::RenderGrid::resolveGridPositionsFromStyle):
Added an ASSERT now that we don't call it during grid construction. Also added some code to pass
the side of the GridPosition we give to resolveGridPositionFromStyle.

(WebCore::RenderGrid::resolveGridPositionFromStyle):
Updated the code to resolve the grid position against the right side.

  • rendering/RenderGrid.h:

Added GridPositionSide and updated resolveGridPositionFromStyle's signature.

LayoutTests:

  • fast/css-grid-layout/grid-auto-flow-resolution-expected.txt:

Moar passing tests!

5:37 PM Changeset in webkit [145296] by commit-queue@webkit.org
  • 17 edits
    14 deletes in trunk

Unreviewed, rolling out r142015.
http://trac.webkit.org/changeset/142015
https://bugs.webkit.org/show_bug.cgi?id=111904

The change caused 2 major regressions (bug 111091 and bug
111595) and Pravin doesn't have time to investigate them
(Requested by jchaffraix on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-08

Source/WebCore:

  • dom/Node.cpp:

(WebCore::Node::diff):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::childBecameNonInline):
(WebCore):

  • rendering/RenderBlock.h:

(RenderBlock):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::childBecameNonInline):
(RenderBoxModelObject):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::childBecameNonInline):
(WebCore):

  • rendering/RenderInline.h:

(RenderInline):

  • rendering/RenderObject.cpp:

(WebCore):
(WebCore::RenderObject::handleDynamicFloatPositionChange):
(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::styleDidChange):

  • rendering/RenderObject.h:

(RenderObject):

LayoutTests:

  • fast/css/first-letter-removed-added-expected.txt:
  • fast/dynamic/absolute-positioned-to-static-positioned-expected.txt: Removed.
  • fast/dynamic/absolute-positioned-to-static-positioned.html: Removed.
  • fast/dynamic/floating-to-non-floating-expected.txt: Removed.
  • fast/dynamic/floating-to-non-floating.html: Removed.
  • fast/dynamic/non-floating-to-floating-expected.txt: Removed.
  • fast/dynamic/non-floating-to-floating.html: Removed.
  • fast/dynamic/resources/helper-bug91665.js: Removed.
  • fast/dynamic/resources/style-bug91665.css: Removed.
  • fast/dynamic/static-positioned-to-absolute-positioned-expected.txt: Removed.
  • fast/dynamic/static-positioned-to-absolute-positioned.html: Removed.
  • fullscreen/full-screen-fixed-pos-parent-expected.txt:
  • platform/chromium-mac/fast/repaint/absolute-position-change-containing-block-expected.png:
  • platform/chromium-mac/fast/repaint/fixed-to-relative-position-with-absolute-child-expected.png:
  • platform/chromium-win/fast/dynamic/002-expected.txt:
  • platform/chromium/fast/dynamic/002-expected.txt:
  • platform/chromium/fast/repaint/absolute-position-change-containing-block-expected.png: Removed.
  • platform/chromium/fast/repaint/fixed-to-relative-position-with-absolute-child-expected.png: Removed.
  • platform/mac/fast/dynamic/002-expected.txt:
  • platform/mac/fast/repaint/absolute-position-change-containing-block-expected.png: Removed.
  • platform/mac/fast/repaint/fixed-to-relative-position-with-absolute-child-expected.png: Removed.
5:31 PM Changeset in webkit [145295] by dino@apple.com
  • 6 edits in trunk

Don't snapshot Java plugins
https://bugs.webkit.org/show_bug.cgi?id=111899

Reviewed by Tim Horton.

Top-level:

Export MIMETypeRegistry::isJavaAppletMIMEType symbol.

  • Source/autotools/symbols.filter:

Source/WebCore:

Export MIMETypeRegistry::isJavaAppletMIMEType symbol.

  • WebCore.exp.in:

Source/WebKit2:

If the plugin is Java, return true from shouldAlwaysAutoStart.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::shouldAlwaysAutoStart): Check the mimetype for Java.

5:31 PM Changeset in webkit [145294] by jparent@chromium.org
  • 2 edits in trunk/Tools

Cleanup: Remove dead code.
https://bugs.webkit.org/show_bug.cgi?id=111900

Reviewed by Dirk Pranke.

Treemap overrides a global function that used to be in
dashboard_base, but was removed months ago in
https://bugs.webkit.org/show_bug.cgi?id=99246, so this code has
no caller.

  • TestResultServer/static-dashboards/treemap.html:
5:29 PM Changeset in webkit [145293] by rafaelw@chromium.org
  • 4 edits in trunk

[HTMLTemplateElement] processTemplateEndTag() needs to check for template in html scope
https://bugs.webkit.org/show_bug.cgi?id=111880

Reviewed by Eric Seidel.

Source/WebCore:

Currently, </template> handling exits with an error if there is not a template tag "in scope"
which will be true if there is a table (for instance) below a template. This makes it so that
the search (correctly) examines the entire element stack.

Tests added to html5lib testing library.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processTemplateEndTag):

LayoutTests:

  • html5lib/resources/template.dat:
5:06 PM Changeset in webkit [145292] by eric@webkit.org
  • 19 edits
    2 adds in trunk/Source/WebCore

BackgroundHTMLParser should be able to atomize well-known strings
https://bugs.webkit.org/show_bug.cgi?id=107337

Reviewed by Adam Barth.

Testing this patch easily requires applying bug 107236 locally
to remove all the rendering noise from Parser/html-threaded-parser.html.

This patch adds a new class HTMLIdentifier which allows us to avoid
allocating strings for known tag/attribute names from HTMLNames.

There is still a lot of meat on this bone, but I think it's important to
land something "smallish" to start and iterate from there.

This took Parser/html-threaded-parser.html from:
median= 443.726500002 ms, stdev= 7.25002679952 ms, min= 430.244000047 ms, max= 455.511000007 ms
to:
median= 427.849500004 ms, stdev= 9.96967058292 ms, min= 417.914000049 ms, max= 461.528000014 ms
on my MBP.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • html/parser/AtomicHTMLToken.h:

(WebCore::AtomicHTMLToken::AtomicHTMLToken):

  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::tokenExitsForeignContent):
(WebCore::tokenExitsSVG):
(WebCore::tokenExitsMath):
(WebCore::BackgroundHTMLParser::simulateTreeBuilder):

  • html/parser/CSSPreloadScanner.cpp:

(WebCore::CSSPreloadScanner::scan):

  • html/parser/CSSPreloadScanner.h:

(WebCore):
(CSSPreloadScanner):

  • html/parser/CompactHTMLToken.cpp:

(SameSizeAsCompactHTMLToken):
(WebCore::CompactHTMLToken::CompactHTMLToken):

  • html/parser/CompactHTMLToken.h:

(WebCore::CompactHTMLToken::Attribute::Attribute):
(Attribute):
(WebCore::CompactHTMLToken::data):
(WebCore::CompactHTMLToken::publicIdentifier):
(CompactHTMLToken):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::startBackgroundParser):

  • html/parser/HTMLIdentifier.cpp: Added.

(WebCore):
(WebCore::identifierTable):
(WebCore::HTMLIdentifier::hasIndex):
(WebCore::HTMLIdentifier::findIndex):
(WebCore::nameForIndex):
(WebCore::HTMLIdentifier::asString):
(WebCore::HTMLIdentifier::asStringImpl):
(WebCore::HTMLIdentifier::addNames):
(WebCore::HTMLIdentifier::init):

  • html/parser/HTMLIdentifier.h: Added.

(WebCore):
(HTMLIdentifier):
(WebCore::HTMLIdentifier::HTMLIdentifier):
(WebCore::HTMLIdentifier::isSafeToSendToAnotherThread):

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::threadSafeEqual):
(WebCore::threadSafeMatch):

  • html/parser/HTMLParserIdioms.h:

(WebCore):
(WebCore::threadSafeHTMLNamesMatch):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::tagIdFor):
(WebCore::TokenPreloadScanner::StartTagScanner::match):
(TokenPreloadScanner::StartTagScanner):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):

  • html/parser/HTMLPreloadScanner.h:
4:56 PM Changeset in webkit [145291] by Lucas Forschler
  • 6 edits in tags/Safari-537.33.2/Source

Merged r145247. <rdar://problem/13383659>

4:53 PM Changeset in webkit [145290] by Lucas Forschler
  • 4 edits in tags/Safari-537.33.2/Source

Versioning.

4:49 PM Changeset in webkit [145289] by Lucas Forschler
  • 1 copy in tags/Safari-537.33.2

New Tag.

4:42 PM Changeset in webkit [145288] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a failing test expectation per bug 111901.

  • platform/mac-wk2/TestExpectations:
4:29 PM Changeset in webkit [145287] by jamesr@google.com
  • 3 edits
    3 copies in trunk/LayoutTests

Update a few more chromium baselines.

  • platform/chromium-mac-lion/editing/pasteboard/paste-text-016-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/pasteboard/paste-text-016-expected.txt.
  • platform/chromium-mac/editing/pasteboard/paste-text-016-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/pasteboard/paste-text-016-expected.txt.
  • platform/chromium-win-xp/editing/pasteboard/paste-text-016-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/pasteboard/paste-text-016-expected.txt.
  • platform/chromium-win-xp/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/chromium-win/editing/pasteboard/paste-text-016-expected.txt:
4:17 PM Changeset in webkit [145286] by Lucas Forschler
  • 4 edits in branches/safari-536.29-branch/Source

Versioning.

4:15 PM Changeset in webkit [145285] by Lucas Forschler
  • 1 copy in tags/Safari-536.29.6

New Tag.

4:15 PM Changeset in webkit [145284] by Lucas Forschler
  • 5 edits in branches/safari-534.59-branch/Source

Versioning.

4:14 PM Changeset in webkit [145283] by Lucas Forschler
  • 1 copy in tags/Safari-534.59.2

New Tag.

4:10 PM Changeset in webkit [145282] by Lucas Forschler
  • 3 edits in branches/safari-536.29-branch/Source/WebKit2

Windows build fix #2.
<rdar://problem/13380471> REGRESSION: Debussy Windows broken after merging http://trac.webkit.org/changeset/144831

Reviewed by Roger Fong.

  • win/WebKit2.def:
  • win/WebKit2.vcproj:
3:57 PM Changeset in webkit [145281] by Lucas Forschler
  • 2 edits in branches/safari-536.29-branch/Source/WebKit2

Windows build fix.
<rdar://problem/13380471> REGRESSION: Debussy Windows broken after merging http://trac.webkit.org/changeset/144831

Reviewed by Roger Fong.

  • win/WebKit2.def:
3:47 PM Changeset in webkit [145280] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Check to ensure MultisampleRenderbuffer creation succeeds
https://bugs.webkit.org/show_bug.cgi?id=111780

Patch by Brandon Jones <bajones@google.com> on 2013-03-08
Reviewed by Dean Jackson.

On OSX systems using AMD graphics chips the allocation of large
Multisample Renderbuffers in Chromium would fail without any indication
of failure. Attempting to draw to the buffer resulted in garbage being
rendered onscreen. This could be reproduced by opening a full-page
WebGL app and pressing (Command + "-") several times. This patch adds an
additional check during DrawingBuffer resize to verify that the resized
buffer is valid.

  • platform/graphics/gpu/DrawingBuffer.cpp:

(WebCore):
(WebCore::DrawingBuffer::checkBufferIntegrity):
(WebCore::DrawingBuffer::reset):

  • platform/graphics/gpu/DrawingBuffer.h:

(DrawingBuffer):

3:45 PM Changeset in webkit [145279] by commit-queue@webkit.org
  • 19 edits
    3 deletes in trunk

Implemented new API for RTCStatsReport object.
https://bugs.webkit.org/show_bug.cgi?id=110333

Source/Platform:

Patch by Harald Alvestrand <hta@chromium.org> on 2013-03-08
Reviewed by Adam Barth.

  • chromium/public/WebRTCStatsResponse.h:

(WebKit::WebRTCStatsResponse::WebRTCStatsResponse):
(WebRTCStatsResponse):

Source/WebCore:

Removed RTCStatsElement object, moved its interface to
RTCStatsReport. Preserved some interfaces for
backwards compatibility; will be removed in a later patch.

Patch by Harald Alvestrand <hta@chromium.org> on 2013-03-08
Reviewed by Adam Barth.

Tested by extensions to RTCPeerConnection-stats test.

  • Modules/mediastream/RTCStatsElement.cpp: Removed.
  • Modules/mediastream/RTCStatsElement.h: Removed.
  • Modules/mediastream/RTCStatsElement.idl: Removed.
  • Modules/mediastream/RTCStatsReport.cpp:

(WebCore::RTCStatsReport::create):
(WebCore::RTCStatsReport::RTCStatsReport):
(WebCore):
(WebCore::RTCStatsReport::names):
(WebCore::RTCStatsReport::local):
(WebCore::RTCStatsReport::remote):
(WebCore::RTCStatsReport::addStatistic):
(WebCore::RTCStatsReport::addElement):

  • Modules/mediastream/RTCStatsReport.h:

(RTCStatsReport):
(WebCore::RTCStatsReport::timestamp):
(WebCore::RTCStatsReport::id):
(WebCore::RTCStatsReport::stat):

  • Modules/mediastream/RTCStatsReport.idl:
  • Modules/mediastream/RTCStatsResponse.cpp:

(WebCore::RTCStatsResponse::namedItem):
(WebCore):
(WebCore::RTCStatsResponse::addReport):
(WebCore::RTCStatsResponse::addStatistic):

  • Modules/mediastream/RTCStatsResponse.h:

(RTCStatsResponse):

  • Modules/mediastream/RTCStatsResponse.idl:
  • WebCore.gypi:
  • platform/chromium/support/WebRTCStatsResponse.cpp:

(WebKit::WebRTCStatsResponse::addReport):
(WebKit):
(WebKit::WebRTCStatsResponse::addStatistic):
(WebKit::WebRTCStatsResponse::addElement):

  • platform/mediastream/RTCStatsResponseBase.h:

(RTCStatsResponseBase):

Tools:

Patch by Harald Alvestrand <hta@chromium.org> on 2013-03-08
Reviewed by Adam Barth.

  • DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.cpp:

(WebTestRunner::MockWebRTCPeerConnectionHandler::getStats):

LayoutTests:

Patch by Harald Alvestrand <hta@chromium.org> on 2013-03-08
Reviewed by Adam Barth.

  • fast/mediastream/RTCPeerConnection-stats-expected.txt:
  • fast/mediastream/RTCPeerConnection-stats.html:
3:40 PM Changeset in webkit [145278] by jamesr@google.com
  • 4 edits
    7 copies
    36 adds in trunk/LayoutTests

Chromium rebaselines and expectations updates.

  • platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Copied from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-creates-a-stacking-container-expected.txt.
  • platform/chromium-linux/compositing/tiling/rotated-tiled-clamped-expected.png: Added.
  • platform/chromium-linux/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/gpu/compositedscrolling/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/gpu/compositedscrolling/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Copied from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-creates-a-stacking-container-expected.txt.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/compositedscrolling/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/compositedscrolling/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Copied from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-creates-a-stacking-container-expected.txt.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-mac/compositing/tiling/rotated-tiled-clamped-expected.png: Added.
  • platform/chromium-mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.png: Added.
  • platform/chromium-mac/platform/chromium/compositing/rubberbanding/transform-overhang-ne-expected.png: Added.
  • platform/chromium-mac/platform/chromium/compositing/rubberbanding/transform-overhang-nw-expected.png: Added.
  • platform/chromium-mac/platform/chromium/compositing/rubberbanding/transform-overhang-se-expected.png: Added.
  • platform/chromium-mac/platform/chromium/compositing/rubberbanding/transform-overhang-size-change-expected.png: Added.
  • platform/chromium-mac/platform/chromium/compositing/rubberbanding/transform-overhang-sw-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/overflow-scroll-expected.txt: Added.
  • platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Copied from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-creates-a-stacking-container-expected.txt.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Copied from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-creates-a-stacking-container-expected.txt.
  • platform/chromium-win/compositing/tiling/rotated-tiled-clamped-expected.png: Added.
  • platform/chromium-win/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/gpu/compositedscrolling/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/gpu/compositedscrolling/overflow/overflow-scroll-expected.txt: Added.
  • platform/chromium-win/platform/chromium/virtual/gpu/compositedscrolling/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Copied from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-creates-a-stacking-container-expected.txt.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium/TestExpectations:
  • platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Copied from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-creates-a-stacking-container-expected.txt.
  • platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.txt: Added.
  • platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.txt: Added.
  • platform/chromium/platform/chromium/virtual/softwarecompositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.txt: Added.
3:39 PM Changeset in webkit [145277] by eric@webkit.org
  • 6 edits in trunk/Source/WebCore

Free up background parser's checkpoints when speculation succeeds
https://bugs.webkit.org/show_bug.cgi?id=110547

Reviewed by Adam Barth.

This should be a memory (and possible perf) win while parsing
pages, as we will no longer hold multiple copies of every
source byte during the whole parse.

Many LayoutTests exercise this code path, and I've manually (debugger and printf)
that we're hitting this code, but we'll have to wait for the memory/perf bots
to tell us if this shows up as a win.

We only bother to message the parser at the end of a speculation chain, so as not
to send too many messages to the background parser.

  • html/parser/BackgroundHTMLInputStream.cpp:

(WebCore::BackgroundHTMLInputStream::BackgroundHTMLInputStream):
(WebCore::BackgroundHTMLInputStream::invalidateCheckpointsUpThrough):
(WebCore):
(WebCore::BackgroundHTMLInputStream::rewindTo):

  • html/parser/BackgroundHTMLInputStream.h:

(BackgroundHTMLInputStream):
(Checkpoint):
(WebCore::BackgroundHTMLInputStream::Checkpoint::isNull):
(WebCore::BackgroundHTMLInputStream::Checkpoint::clear):

  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::BackgroundHTMLParser::passedCheckpoint):
(WebCore):

  • html/parser/BackgroundHTMLParser.h:

(BackgroundHTMLParser):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::pumpPendingSpeculations):

3:27 PM Changeset in webkit [145276] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk

[chromium] Keydown event for 'shift+alt' returns win keycode instead of 'alt'
https://bugs.webkit.org/show_bug.cgi?id=111112

Patch by Chandra Shekar Vallala <brk376@motorola.com> on 2013-03-08
Reviewed by Tony Chang.

.:

Return windows keycode of Alt incase of GDK_META_L, GDK_META_R.

Try press Shift then alt key. The test passes if the shiftKey, altKey values
of JSKeyEvent are true and keycode/which is 18.

  • ManualTests/shift-alt-key-event.html: Added.

Source/WebCore:

Return windows keycode of Alt incase of GDK_META_L, GDK_META_R. This matches
the firefox behaviour in linux platform.

Added Manual Test : ManualTests/shift-alt-key-event.html
Try press Shift then alt key. The test passes if the shiftKey, altKey values
of JSKeyEvent are true and keycode/which is 18.

  • platform/chromium/KeyCodeConversionGtk.cpp:

(WebCore::windowsKeyCodeForKeyEvent):

3:11 PM Changeset in webkit [145275] by jamesr@google.com
  • 20 edits
    5 copies in branches/chromium/1364

Merge 144236

Plugin in iframe may not display
https://bugs.webkit.org/show_bug.cgi?id=109879

Patch by John Bauman <jbauman@chromium.org> on 2013-02-27
Reviewed by Simon Fraser.

Source/WebCore:

Changing the cliprect on a layer containing an iframe may change the
cliprect of plugins inside the iframe, so recursively tell all plugins
in iframes that their cliprect has changed after doing layout on the
outer frame.

Test: plugins/plugin-clip-subframe.html

  • platform/ScrollView.cpp:

(WebCore::ScrollView::clipRectChanged):

  • platform/ScrollView.h:
  • platform/Widget.h:

(WebCore::Widget::clipRectChanged):

  • plugins/PluginView.cpp:

(WebCore::PluginView::clipRectChanged):

  • plugins/PluginView.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::setWidgetGeometry):

Source/WebKit/chromium:

Use clipRectChanged to update the geometry.

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::clipRectChanged):

  • src/WebPluginContainerImpl.h:

Source/WebKit/mac:

Ensure NetscapePluginWidget informs the plugin view of the cliprect change directly.

  • Plugins/WebBaseNetscapePluginView.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(NetscapePluginWidget::clipRectChanged):

Source/WebKit2:

Update geometry when cliprect changes.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::clipRectChanged):

  • WebProcess/Plugins/PluginView.h:

Tools:

LogNPPSetWindow will be used with other ports as well.

  • DumpRenderTree/DumpRenderTree.gypi:
  • DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:

LayoutTests:

Use log-npp-set-window to ensure plugin clip changes correctly.

  • platform/mac-wk2/plugins/plugin-clip-subframe-expected.txt: Added.
  • platform/mac/plugins/plugin-clip-subframe-expected.txt: Added.
  • plugins/plugin-clip-subframe-expected.txt: Added.
  • plugins/plugin-clip-subframe.html: Added.
  • plugins/resources/plugin-clip-subframe-iframe.html: Added.

BUG=168900
TBR=jbauman@chromium.org
Review URL: https://codereview.chromium.org/12475008

2:57 PM Changeset in webkit [145274] by jamesr@google.com
  • 18 edits
    1 copy
    1 move
    14 adds in trunk/LayoutTests

Update some more chromium compositor pixel baselines.

  • platform/chromium-linux/compositing/masks/simple-composited-mask-expected.png:
  • platform/chromium-linux/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
  • platform/chromium-linux/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-linux/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
  • platform/chromium-linux/compositing/reflections/load-video-in-reflection-expected.png:
  • platform/chromium-linux/compositing/reflections/nested-reflection-anchor-point-expected.png:
  • platform/chromium-mac-lion/compositing/masks/simple-composited-mask-expected.png:
  • platform/chromium-mac-lion/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-mac-lion/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
  • platform/chromium-mac-lion/compositing/reflections/load-video-in-reflection-expected.png:
  • platform/chromium-mac-lion/compositing/reflections/nested-reflection-anchor-point-expected.png:
  • platform/chromium-mac-snowleopard/compositing/masks/simple-composited-mask-expected.png:
  • platform/chromium-mac-snowleopard/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-mac-snowleopard/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
  • platform/chromium-mac-snowleopard/compositing/reflections/load-video-in-reflection-expected.png:
  • platform/chromium-mac-snowleopard/compositing/reflections/nested-reflection-anchor-point-expected.png:
  • platform/chromium-mac/compositing/masks/simple-composited-mask-expected.png:
  • platform/chromium-mac/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-mac/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
  • platform/chromium-mac/compositing/reflections/load-video-in-reflection-expected.png:
  • platform/chromium-mac/compositing/reflections/nested-reflection-anchor-point-expected.png:
  • platform/chromium-win/compositing/masks/simple-composited-mask-expected.png:
  • platform/chromium-win/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/chromium-win/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
  • platform/chromium-win/compositing/reflections/load-video-in-reflection-expected.png:
  • platform/chromium-win/compositing/reflections/nested-reflection-anchor-point-expected.png:
  • platform/chromium/TestExpectations:
  • platform/chromium/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Copied from LayoutTests/platform/chromium-linux/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt.
  • platform/chromium/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.txt: Added.
  • platform/chromium/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.txt: Added.
  • platform/efl-wk2/compositing/reflections/nested-reflection-anchor-point-expected.png: Renamed from LayoutTests/platform/efl/compositing/reflections/nested-reflection-anchor-point-expected.png.
2:45 PM Changeset in webkit [145273] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled Chromium DEPS to r187037. Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-08

  • DEPS:
2:41 PM Changeset in webkit [145272] by dpranke@chromium.org
  • 2 edits in trunk/Tools

[chromium] use custom freetype on linux asan builds again
https://bugs.webkit.org/show_bug.cgi?id=111884

Reviewed by Tony Chang.

We no longer need the workaround after chromium r186540.

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
2:38 PM Changeset in webkit [145271] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. AppleWin port.

  • platform/win/TestExpectations:
2:36 PM Changeset in webkit [145270] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Warning about the user not having edit rights on Bugzilla is confusing new contributors
https://bugs.webkit.org/show_bug.cgi?id=111798

Reviewed by Dirk Pranke.

Don't scare people by the warning. Instead, tell them to ignore it if they don't have EditBugs privileges.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
2:32 PM May 2013 Meeting edited by rniwa@webkit.org
Add a new topic (diff)
2:26 PM Changeset in webkit [145269] by jamesr@google.com
  • 6 edits
    3 deletes in trunk/LayoutTests

Update baselines for a few chromium compositor tests.

  • platform/chromium-linux/compositing/checkerboard-expected.png: Removed.
  • platform/chromium-linux/compositing/geometry/vertical-scroll-composited-expected.png:
  • platform/chromium-mac-lion/compositing/checkerboard-expected.png: Removed.
  • platform/chromium-mac/compositing/checkerboard-expected.png:
  • platform/chromium-mac/compositing/geometry/vertical-scroll-composited-expected.png:
  • platform/chromium-win/compositing/checkerboard-expected.png: Removed.
  • platform/chromium-win/compositing/geometry/vertical-scroll-composited-expected.png:
  • platform/chromium/TestExpectations:
2:19 PM Changeset in webkit [145268] by mkwst@chromium.org
  • 3 edits
    2 adds in trunk

CSP: 'eval()' is blocked in report-only mode.
https://bugs.webkit.org/show_bug.cgi?id=111867

Reviewed by Adam Barth.

Source/WebCore:

Setting a 'Content-Security-Policy-Report-Only' header should not have
any effect on what a page actually executes. Currently, however, setting
a 'script-src' directive that doesn't whitelist 'unsafe-eval' actually
blocks 'eval()' on the page. This patch fixes that by checking whether
we're in report-only mode before turning 'eval()' off inside the script
engine.

This leaves us in a weird state, however. We don't currently have any
mechanism of explaining to the VM that we just want to be notified of
'eval()' usage. I've filed http://wkbug.com/111869 to cover this
aspect.

Test: http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode.html

  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::didReceiveHeader):

For each policy we parse, check that we're only turning off eval in
the VM when we're in enforce mode. If we're in report-only mode,
skip it.

LayoutTests:

  • http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode.html: Added.
2:09 PM Changeset in webkit [145267] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/13338743> Fix sandbox profile preprocessor flags for compatibility with new clang.

Reviewed by Alexey Proskuryakov.
Patch by Bob Wilson.

  • DerivedSources.make: Only use -traditional when we have to work around old behavior of -std=c89.
1:47 PM Changeset in webkit [145266] by jamesr@google.com
  • 3 edits
    1 delete in trunk/LayoutTests

Update baselines for string prototypes fixed by v8-i18n roll 164:171

  • platform/chromium/fast/js/kde/function_length-expected.txt: Removed.
  • platform/chromium/fast/js/kde/inbuilt_function_tostring-expected.txt:
  • platform/chromium/fast/js/string-prototype-properties-expected.txt:
1:45 PM Changeset in webkit [145265] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (r143643): <button> should support ::first-line and ::first-letter
https://bugs.webkit.org/show_bug.cgi?id=111782

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-03-08
Reviewed by Ojan Vafai.

Source/WebCore:

Test: fast/forms/button-first-line-first-letter.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::firstLineBlock):
(WebCore::findFirstLetterBlock):
Add isRenderButton to the first-line and first-letter checks that
don't allow ::first-* styles for flexbox.

LayoutTests:

  • fast/forms/button-first-line-first-letter-expected.html: Added.
  • fast/forms/button-first-line-first-letter.html: Added.
1:25 PM Changeset in webkit [145264] by joone.hur@intel.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix for EFL, GTK and Qt after r145254.

  • Shared/SandboxExtension.h:

(WebKit::SandboxExtension::revoke):

1:20 PM Changeset in webkit [145263] by jamesr@google.com
  • 2 edits in trunk/LayoutTests

Layout Test fast/dom/HTMLMeterElement/meter-element-crash.html is failing
https://bugs.webkit.org/show_bug.cgi?id=88131

Reviewed by Tony Chang.

This test was calling setTimeout(..., 0) in a <script> block before the end of the document.
The timeout sometimes fired before parsing the rest of the document and sometimes after,
depending on when the parser yielded. This moves the <script> block to the end of the document
so it always runs after parsing the rest of the test, which is the more common and expected
behavior.

  • fast/dom/HTMLMeterElement/meter-element-crash.html:
1:14 PM Changeset in webkit [145262] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebKit

Build fix for AppleWin VS2010.

  • WebKit.vcxproj/FeatureDefines.props:
1:11 PM Changeset in webkit [145261] by ggaren@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests

Added a regression test for raw parsing speed
https://bugs.webkit.org/show_bug.cgi?id=111808

Reviewed by Oliver Hunt.

  • fast/js/regress/nested-function-parsing-random.html: Added.
  • fast/js/regress/script-tests/nested-function-parsing-random.js: Added.

(randomIdent): Use randomness to defeat caching.

1:11 PM Changeset in webkit [145260] by ggaren@apple.com
  • 3 edits in trunk/Source/WebCore

Removed an out-of-date comment from SharedTimer
https://bugs.webkit.org/show_bug.cgi?id=111875

Reviewed by Mark Hahnenberg.

Even if we surround each call to an ObjC interface with an autorelease
pool, it's still nice to have one at top-level entry points like
timers, to avoid turning a single mistake into a long-term leak.

  • platform/ios/SharedTimerIOS.mm:

(WebCore::timerFired):

  • platform/mac/SharedTimerMac.mm:

(WebCore::timerFired):

1:04 PM Changeset in webkit [145259] by jamesr@google.com
  • 2 edits
    6 adds in trunk/LayoutTests

Chromium gardening.

  • platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup-expected.png: Added.
  • platform/chromium-linux/editing/pasteboard/paste-text-016-expected.txt: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup-expected.png: Added.
  • platform/chromium-mac-snowleopard/editing/pasteboard/paste-text-016-expected.txt: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup-expected.png: Added.
  • platform/chromium/TestExpectations:
1:02 PM Changeset in webkit [145258] by commit-queue@webkit.org
  • 12 edits
    1 delete in trunk

[chromium] Remove WebLayerTreeViewClient and WebLayerTreeView::Settings
https://bugs.webkit.org/show_bug.cgi?id=111632

Patch by James Robinson <jamesr@chromium.org> on 2013-03-08
Reviewed by Adrienne Walker.

Source/Platform:

Neither of these are used any more. All callbacks from the compositor are handled by
the embedder and plumbed (where appropriate) through the WebWidget/WebView APIs. All
settings are handled by the embedder.

  • Platform.gypi:
  • chromium/public/WebLayerTreeView.h:

(WebKit):

  • chromium/public/WebLayerTreeViewClient.h: Removed.
  • chromium/public/WebUnitTestSupport.h:

(WebKit):

Source/WebKit/chromium:

  • public/WebWidgetClient.h:

(WebWidgetClient):
(WebKit::WebWidgetClient::initializeLayerTreeView):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

  • src/WebViewImpl.h:
  • tests/ScrollingCoordinatorChromiumTest.cpp:

(WebKit::FakeWebViewClient::initializeLayerTreeView):

Tools:

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::initializeLayerTreeView):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

12:56 PM Changeset in webkit [145257] by rniwa@webkit.org
  • 9 edits
    13 adds in trunk/LayoutTests

Mac rebaseline after r145242. I'm really hoping that the optimization didn't mess this up.

  • css1/box_properties/margin_bottom-expected.txt: Replaced.
  • css1/box_properties/margin_top-expected.txt: Replaced.
  • css1/box_properties/padding_bottom-expected.txt: Replaced.
  • css1/box_properties/padding_top-expected.txt: Replaced.
  • css1/color_and_background/background_attachment-expected.txt: Replaced.
  • platform/mac/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/mac/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
  • platform/mac/css3/flexbox/flexbox-baseline-expected.txt:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug126742-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug69187-expected.txt:
  • platform/win-future/css1: Added.
  • platform/win-future/css1/box_properties: Added.
  • platform/win-future/css1/box_properties/margin_bottom-expected.txt: Added.
  • platform/win-future/css1/box_properties/margin_top-expected.txt: Added.
  • platform/win-future/css1/box_properties/padding_bottom-expected.txt: Added.
  • platform/win-future/css1/box_properties/padding_top-expected.txt: Added.
  • platform/win-future/css1/color_and_background: Added.
  • platform/win-future/css1/color_and_background/background_attachment-expected.txt: Added.
12:47 PM Changeset in webkit [145256] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

non-Mac ports build fix after r145235.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::createInspectorPageGroup):

12:40 PM Changeset in webkit [145255] by benjamin@webkit.org
  • 31 edits in trunk

[Mac] Add a feature flag for 'view-mode' Media Feature, disable it on Mac
https://bugs.webkit.org/show_bug.cgi?id=111297

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

The 'view-mode' Media Feature spec is implemented in WebCore but
there is no WebKit support for it on Mac.
Because of this, we always lie and report a windowed view mode.

This patch add a feature flag for the feature and disable it on
Mac so that we stop reporting incorrect default values.

  • WebCore.exp.in:
  • css/CSSValueKeywords.in:
  • css/MediaFeatureNames.h:

(MediaFeatureNames):

  • css/MediaQueryEvaluator.cpp:
  • css/MediaQueryExp.cpp:

(WebCore::featureWithCSSValueID):
(WebCore::featureWithoutValue):

  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:

(Page):

Source/WebKit2:

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:

Source/WTF:

  • wtf/FeatureDefines.h: Add a new feature flag for the view-mode

CSS media: ENABLE_VIEW_MODE_CSS_MEDIA.

Tools:

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setViewModeMediaFeature):

LayoutTests:

  • platform/mac/TestExpectations:

Mark the view-mode tests as failing to track any regression
or crash in this area.

12:25 PM Changeset in webkit [145254] by ap@apple.com
  • 7 edits in trunk/Source/WebKit2

Make it possible to reuse sandbox extensions
https://bugs.webkit.org/show_bug.cgi?id=111883

Reviewed by Anders Carlsson.

Replaced invalidate() with revoke().

We now count how many times consume() was called, and keep the extension active
for as long as revoke() hasn't been called as many times. Also, we only permanently
destroy the extension in destructor.

This allows for properly keeping extensions in NetworkBlobRegistry for as long as
they are needed.

  • NetworkProcess/SchedulableLoader.cpp: (WebKit::SchedulableLoader::invalidateSandboxExtensions):
  • Shared/Downloads/Download.cpp: (WebKit::Download::didFinish): (WebKit::Download::didFail): (WebKit::Download::didCancel):
  • Shared/SandboxExtension.h: (SandboxExtension):
  • Shared/WebMemorySampler.cpp: (WebKit::WebMemorySampler::stop):
  • Shared/mac/SandboxExtensionMac.mm: (WebKit::SandboxExtension::SandboxExtension): (WebKit::SandboxExtension::revoke): (WebKit::SandboxExtension::consume):
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::performDragControllerAction): (WebKit::WebPage::SandboxExtensionTracker::invalidate): (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension): (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad): (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
12:11 PM Changeset in webkit [145253] by rniwa@webkit.org
  • 9 edits
    4 adds in trunk

After sending message, Mail changes formatting
https://bugs.webkit.org/show_bug.cgi?id=111360

Reviewed by Enrica Casucci.

Source/WebCore:

Added makeInsertedContentRoundTrippableWithHTMLTreeBuilder to move prohibited children (e.g. p, h1, etc...)
out of paragraph elements to run immediately after the fragment insertion. This function splits trees and
moves prohibited children out of paragraph elements to keep the tree isomorphic under HTML serialization and
parsing. Unfortunately, there are many other DOM tree constructs we need to fix to make the subtree truly
isomorphic but this is a step forward.

Test: editing/pasteboard/pasting-into-p-should-not-nest-p.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::isProhibitedParagraphChild): Added. Matches the list at
https://dvcs.w3.org/hg/editing/raw-file/57abe6d3cb60/editing.html#prohibited-paragraph-child
except main element, which is currently missing in the specification.
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder): Added.
(WebCore::ReplaceSelectionCommand::moveNodeOutOfAncestor): Added.
(WebCore::ReplaceSelectionCommand::doApply): Call moveProhibitedChildrenOutOfParagraphElements.

  • editing/ReplaceSelectionCommand.h:

(ReplaceSelectionCommand):

LayoutTests:

Added a regression test, demonstrating that a paragraph element is not nested after a paste.
Also rebaselined multiple tests that had been exhibiting this bug in their expected results.

  • editing/pasteboard/block-wrappers-necessary-expected.txt:
  • editing/pasteboard/paste-table-001-expected.txt:
  • editing/pasteboard/paste-text-011-expected.txt:
  • editing/pasteboard/paste-text-015-expected.txt:
  • editing/pasteboard/pasting-into-p-should-not-nest-p-expected.txt: Added.
  • editing/pasteboard/pasting-into-p-should-not-nest-p.html: Added.
  • editing/pasteboard/pasting-into-h6-should-not-nest-h6-expected.txt: Added.
  • editing/pasteboard/pasting-into-h6-should-not-nest-h6.html: Added.
  • platform/mac/editing/pasteboard/paste-text-016-expected.txt:
11:58 AM Changeset in webkit [145252] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled Chromium DEPS to r186991. Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-08

  • DEPS:
11:34 AM Changeset in webkit [145251] by eae@chromium.org
  • 58 edits
    18 adds
    20 deletes in trunk/LayoutTests

Unreviewed chromium mac/win rebaselines for r145242.

  • css1/basic/inheritance-expected.txt: Added.
  • css1/box_properties/clear_float-expected.txt: Added.
  • css1/box_properties/margin-expected.txt: Added.
  • css1/box_properties/padding-expected.txt: Added.
  • css1/font_properties/font_weight-expected.txt: Added.
  • fast/css-generated-content/015-expected.txt: Added.
  • fast/css/h1-in-section-elements-expected.txt: Added.
  • platform/chromium-linux/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt: Removed.
  • platform/chromium-mac-lion/css1/box_properties/clear_float-expected.png:
  • platform/chromium-mac-lion/css1/box_properties/padding-expected.png:
  • platform/chromium-mac-lion/css1/font_properties/font_weight-expected.png:
  • platform/chromium-mac-lion/css3/flexbox/flexbox-baseline-expected.png:
  • platform/chromium-mac-lion/fast/css/h1-in-section-elements-expected.png:
  • platform/chromium-mac-lion/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt: Removed.
  • platform/chromium-mac-lion/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
  • platform/chromium-mac-lion/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
  • platform/chromium-mac-lion/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
  • platform/chromium-mac-lion/tables/mozilla/bugs/bug126742-expected.png:
  • platform/chromium-mac-lion/tables/mozilla/bugs/bug69187-expected.png:
  • platform/chromium-mac-lion/tables/mozilla/bugs/bug73321-expected.png:
  • platform/chromium-mac-lion/tables/mozilla/bugs/bug73321-expected.txt: Added.
  • platform/chromium-mac-snowleopard/css1/basic/inheritance-expected.png:
  • platform/chromium-mac-snowleopard/css1/box_properties/padding-expected.png:
  • platform/chromium-mac-snowleopard/css1/color_and_background/background_attachment-expected.png:
  • platform/chromium-mac-snowleopard/css1/font_properties/font_weight-expected.png:
  • platform/chromium-mac-snowleopard/css2.1/t080301-c411-vt-mrgn-00-b-expected.png:
  • platform/chromium-mac-snowleopard/css3/flexbox/flexbox-baseline-expected.png:
  • platform/chromium-mac-snowleopard/fast/css/h1-in-section-elements-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
  • platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
  • platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
  • platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug126742-expected.png:
  • platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug69187-expected.png:
  • platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug73321-expected.png:
  • platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug73321-expected.txt: Added.
  • platform/chromium-mac/css1/basic/inheritance-expected.txt: Removed.
  • platform/chromium-mac/css1/box_properties/clear_float-expected.png:
  • platform/chromium-mac/css1/box_properties/clear_float-expected.txt: Removed.
  • platform/chromium-mac/css1/box_properties/margin-expected.txt: Removed.
  • platform/chromium-mac/css1/box_properties/margin_bottom-expected.txt: Added.
  • platform/chromium-mac/css1/box_properties/margin_top-expected.txt: Added.
  • platform/chromium-mac/css1/box_properties/padding-expected.png:
  • platform/chromium-mac/css1/box_properties/padding-expected.txt: Removed.
  • platform/chromium-mac/css1/box_properties/padding_bottom-expected.txt: Added.
  • platform/chromium-mac/css1/box_properties/padding_top-expected.txt: Added.
  • platform/chromium-mac/css1/color_and_background/background_attachment-expected.txt: Added.
  • platform/chromium-mac/css1/font_properties/font_weight-expected.png:
  • platform/chromium-mac/css1/font_properties/font_weight-expected.txt: Removed.
  • platform/chromium-mac/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/chromium-mac/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
  • platform/chromium-mac/css3/flexbox/flexbox-baseline-expected.png:
  • platform/chromium-mac/css3/flexbox/flexbox-baseline-expected.txt:
  • platform/chromium-mac/fast/css-generated-content/015-expected.txt: Removed.
  • platform/chromium-mac/fast/css/h1-in-section-elements-expected.png:
  • platform/chromium-mac/fast/css/h1-in-section-elements-expected.txt: Removed.
  • platform/chromium-mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt: Added.
  • platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt: Removed.
  • platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
  • platform/chromium-mac/tables/mozilla/bugs/bug126742-expected.png:
  • platform/chromium-mac/tables/mozilla/bugs/bug126742-expected.txt:
  • platform/chromium-mac/tables/mozilla/bugs/bug69187-expected.png:
  • platform/chromium-mac/tables/mozilla/bugs/bug69187-expected.txt:
  • platform/chromium-mac/tables/mozilla/bugs/bug73321-expected.png:
  • platform/chromium-mac/tables/mozilla/bugs/bug73321-expected.txt: Added.
  • platform/chromium-win/css1/basic/inheritance-expected.png:
  • platform/chromium-win/css1/box_properties/clear_float-expected.png:
  • platform/chromium-win/css1/box_properties/margin_top-expected.png:
  • platform/chromium-win/css1/font_properties/font_weight-expected.png:
  • platform/chromium-win/css3/flexbox/flexbox-baseline-expected.png:
  • platform/chromium-win/fast/css/h1-in-section-elements-expected.png:
  • platform/chromium-win/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
  • platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
  • platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
  • platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
  • platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
  • platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt: Added.
  • platform/chromium-win/tables/mozilla/bugs/bug126742-expected.png:
  • platform/chromium-win/tables/mozilla/bugs/bug69187-expected.png:
  • platform/chromium-win/tables/mozilla/bugs/bug73321-expected.png:
  • platform/chromium/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt: Removed.
  • platform/chromium/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt: Added.
  • platform/chromium/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt: Removed.
  • platform/mac/css1/basic/inheritance-expected.txt: Removed.
  • platform/mac/css1/box_properties/clear_float-expected.txt: Removed.
  • platform/mac/css1/box_properties/margin-expected.txt: Removed.
  • platform/mac/css1/box_properties/padding-expected.txt: Removed.
  • platform/mac/css1/font_properties/font_weight-expected.txt: Removed.
  • platform/mac/fast/css-generated-content/015-expected.txt: Removed.
  • platform/mac/fast/css/h1-in-section-elements-expected.txt: Removed.
11:28 AM Changeset in webkit [145250] by eae@chromium.org
  • 10 edits
    7 adds
    14 deletes in trunk/LayoutTests

Unreviewed apple rebaselines for r145242.

  • css1/box_properties/margin_bottom-expected.txt: Added.
  • css1/box_properties/margin_top-expected.txt: Added.
  • css1/box_properties/padding_bottom-expected.txt: Added.
  • css1/box_properties/padding_top-expected.txt: Added.
  • css1/color_and_background/background_attachment-expected.txt: Added.
  • platform/chromium-mac/css1/box_properties/margin_bottom-expected.txt: Removed.
  • platform/chromium-mac/css1/box_properties/margin_top-expected.txt: Removed.
  • platform/chromium-mac/css1/box_properties/padding_bottom-expected.txt: Removed.
  • platform/chromium-mac/css1/box_properties/padding_top-expected.txt: Removed.
  • platform/chromium-mac/css1/color_and_background/background_attachment-expected.txt: Removed.
  • platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt: Added.
  • platform/chromium-mac/tables/mozilla/bugs/bug73321-expected.txt: Removed.
  • platform/chromium/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt: Removed.
  • platform/efl/tables/mozilla/bugs/bug73321-expected.txt: Removed.
  • platform/mac-lion/css1/box_properties: Removed.
  • platform/mac/css1/basic/inheritance-expected.txt:
  • platform/mac/css1/box_properties/clear_float-expected.txt:
  • platform/mac/css1/box_properties/margin-expected.txt:
  • platform/mac/css1/box_properties/margin_bottom-expected.txt: Removed.
  • platform/mac/css1/box_properties/margin_top-expected.txt: Removed.
  • platform/mac/css1/box_properties/padding-expected.txt:
  • platform/mac/css1/box_properties/padding_bottom-expected.txt: Removed.
  • platform/mac/css1/box_properties/padding_top-expected.txt: Removed.
  • platform/mac/css1/color_and_background/background_attachment-expected.txt: Removed.
  • platform/mac/css1/font_properties/font_weight-expected.txt:
  • platform/mac/fast/css-generated-content/015-expected.txt:
  • platform/mac/fast/css/h1-in-section-elements-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug73321-expected.txt:
  • tables/mozilla/bugs/bug73321-expected.txt: Added.
11:28 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
11:26 AM Changeset in webkit [145249] by Carlos Garcia Campos
  • 9 edits
    2 adds
    3 deletes in releases/WebKitGTK/webkit-2.0

Merge r143604 - [GTK] Move feature overriding to the configure phase
https://bugs.webkit.org/show_bug.cgi?id=110293

Reviewed by Gustavo Noronha Silva.

.:

Rework the feature overrides logic so all feature defines go into a
header rather than the command line. This has a few benefits. Most
notably, we can reuse the header in the gyp build. Another nice result
is that changes to the configuration automatically result in a full
rebuild and Debug and Release builds can have different configurations.

All feature define processing happens now during the configuration phase,
instead of when running autogen.sh. This means that we need to distribute
the feature processing script.

  • GNUmakefile.am: Read feature defines from WebKitFeatures.txt when kicking

off a build. Also include generate-feature-defines-files in the distribution.

  • Source/autotools/SetupAutoconfHeader.m4: Remove an extra ENABLE_3D_RENDERING

from the autoconf header, as it is already provided by the feature configuration.

  • Source/autotools/SetupWebKitFeatures.m4: Added.
  • Source/autotools/webkitfeature.m4: Removed. The functionality has been moved

to SetupWebKitFeatures.m4.

  • autogen.sh: Remove the call to override-feature-defines.
  • configure.ac: Now include SetupWebKitFeatures.

Source/WebCore:

  • GNUmakefile.am: No longer include GNUmakefile.features.am. We don't

have to process the result of this file or do any modification of
feature_defines_override, because this variable is gone.

Tools:

  • Scripts/webkitdirs.pm:

(runAutogenForAutotoolsProjectIfNecessary): Rename the feature file to
WebKitFeatureOverrides.txt to better match the other filenames used in
the new feature processing.

  • gtk/generate-feature-defines-files: Added. A script which takes as an argument

the default features, overrides them with the contents of WebKitFeatureOverrrides.txt
and writes WebKitFeatures.txt and WebKitFeatures.h.

  • gtk/override-feature-defines: Removed.
11:15 AM Changeset in webkit [145248] by eric@webkit.org
  • 9 edits in trunk/Source/WebCore

AtomicHTMLToken should not be heap allocated or RefCounted
https://bugs.webkit.org/show_bug.cgi?id=111250

Reviewed by Adam Barth.

It was clearly an oversight on our part to ever make AtomicHTMLToken ref-counted.
We don't need the actual "token" saved, just enough of it to recreate a fake token.

This removed many more mallocs than I thought it would, for a nice little speed win.
Before:
median= 450.482999993 ms, stdev= 7.2381436538 ms, min= 436.084999994 ms, max= 464.968999964 ms
After:
median= 436.41600004 ms, stdev= 5.71435647554 ms, min= 427.160999971 ms, max= 446.753000026 ms

  • html/parser/AtomicHTMLToken.h:

(AtomicHTMLToken):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::createElementFromSavedToken):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::constructTreeFromHTMLToken):
(WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):

  • html/parser/HTMLElementStack.cpp:

(WebCore::HTMLElementStack::isHTMLIntegrationPoint):

  • html/parser/HTMLFormattingElementList.cpp:

(WebCore):
(WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
(WebCore::HTMLFormattingElementList::ensureNoahsArkCondition):

  • html/parser/HTMLStackItem.h:

(WebCore::HTMLStackItem::create):
(WebCore::HTMLStackItem::localName):
(WebCore::HTMLStackItem::attributes):
(WebCore::HTMLStackItem::getAttributeItem):
(HTMLStackItem):
(WebCore::HTMLStackItem::hasLocalName):
(WebCore::HTMLStackItem::hasTagName):
(WebCore::HTMLStackItem::HTMLStackItem):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processFakeStartTag):
(WebCore::HTMLTreeBuilder::processFakeEndTag):
(WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
(WebCore::HTMLTreeBuilder::defaultForBeforeHead):
(WebCore::HTMLTreeBuilder::defaultForInHead):
(WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
(WebCore::HTMLTreeBuilder::defaultForAfterHead):

  • html/parser/TextDocumentParser.cpp:

(WebCore::TextDocumentParser::insertFakePreElement):

10:57 AM Changeset in webkit [145247] by roger_fong@apple.com
  • 6 edits in trunk/Source

Makefile fixes.

  • WTF.vcxproj/WTF.make:
  • JavaScriptCore.vcxproj/JavaScriptCore.make:
  • WebCore.vcxproj/WebCore.make:
10:53 AM Changeset in webkit [145246] by Lucas Forschler
  • 4 edits in tags/Safari-537.33.1/Source

Versioning.

10:49 AM WebKitGTK/2.0.x edited by Martin Robinson
(diff)
10:43 AM Changeset in webkit [145245] by Lucas Forschler
  • 1 copy in tags/Safari-537.33.1

New Tag.

10:42 AM Changeset in webkit [145244] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[WK2][GTK] Invalid request returned by webkit_download_get_request if called before download starts
https://bugs.webkit.org/show_bug.cgi?id=111574

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-03-08
Reviewed by Alexey Proskuryakov.

webkit_download_get_request() creates the WebKitURIRequest object
on demand using the ResourceRequest from the DownloadProxy. The
ResourceRequest of the DownloadProxy is set in
DownloadProxy::didStart(), so if we call
webkit_download_get_request() before didStart we return an invalid
WebKitURIRequest created from a NULL ResourceRequest. This is not
a problem for downloads started in the web process, because we
create the WebKitDownload after DownloadProxy::didStart(). For
downloads started manually with webkit_web_context_download_uri()
we need to create download object with the ResourceRequest passed
to the DownloadProxy.

  • UIProcess/API/gtk/WebKitDownload.cpp:

(webkitDownloadCreateForRequest): New helper function for
downloads started manually to created them with a given
ResourceRequest.

  • UIProcess/API/gtk/WebKitDownloadPrivate.h:
  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextStartDownload): Use
webkitDownloadCreateForRequest().

  • UIProcess/API/gtk/tests/TestDownloads.cpp:

(testDownloadLocalFile):
(testDownloadLocalFileError):
(testDownloadRemoteFile):
(testDownloadRemoteFileError):
(testPolicyResponseDownload):

10:33 AM Changeset in webkit [145243] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Skip editing/selection/drag-list-item.html on Mac WebKit2 since drag and drop is not supported
in WebKitTestRunner yet.

  • platform/mac-wk2/TestExpectations:
10:30 AM Changeset in webkit [145242] by eae@chromium.org
  • 34 edits
    2 adds in trunk

[sub-pixel] Rounding error in table cell height calculation causes unnecessary scrollbar
https://bugs.webkit.org/show_bug.cgi?id=111794

Source/WebCore:

Reviewed by Levi Weintraub.

In RenderTableCell::logicalHeightForRowSizing the
adjustedLogicalHeight is calculated from the logicalHeight and
intrinsic padding and is then returned and floored. This can
cause cause the cell to be slightly smaller (0.5px) than the
element it contains.

Test: fast/sub-pixel/table-cell-height.html

  • rendering/RenderTableCell.h:

(WebCore::RenderTableCell::logicalHeightForRowSizing):
Change to use pixelSnapped version of logicalHeight method and
change signature to return int as the only caller immediately
down-casts the result to an int.

LayoutTests:

Reviewed by Levi Weintraub.

Add test for zoomed-in table containing block child.

  • fast/sub-pixel/table-cell-height-expected.html: Added.
  • fast/sub-pixel/table-cell-height.html: Added.
10:27 AM Changeset in webkit [145241] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

RenderFullScreen needs to clear override sizes when exiting full screen
https://bugs.webkit.org/show_bug.cgi?id=111775

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-03-08
Reviewed by Ojan Vafai.

Source/WebCore:

Test: fullscreen/full-screen-with-flex-item.html

  • rendering/RenderFullScreen.cpp:

(RenderFullScreen::unwrapRenderer):
RenderFullScreen is a flexbox, so it will potentially set override
sizes on its children while in fullscreen mode. When we exit
fullscreen mode, we need to clear this override size, otherwise the
the leftover override size may affect layout. See the testcase for an
example.

LayoutTests:

  • fullscreen/full-screen-with-flex-item-expected.txt: Added.
  • fullscreen/full-screen-with-flex-item.html: Added.
10:26 AM LayoutUnit edited by eae@chromium.org
Removed note about FractionalLayoutUnit typedef as it has since been … (diff)
10:25 AM Changeset in webkit [145240] by jchaffraix@webkit.org
  • 7 edits
    2 adds in trunk

[CSS Grid Layout] Handle 2 positions with one 'auto' properly
https://bugs.webkit.org/show_bug.cgi?id=111653

Reviewed by Tony Chang.

Source/WebCore:

The rendering code was making the assumption that we have one position.
Thus it couldn't fully match what the specification wants as the 2 opposite
positions are required to resolve either position in several cases (e.g.
1 / span 2, auto / 'c').

This change introduces resolveGridPositionsFromStyle to do both opposite
positions resolution in one pass and thus handling more cases.

Test: fast/css-grid-layout/grid-item-spanning-resolution.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::maximumIndexInDirection):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
Updated the above functions to rely on resolveGridPositionsFromStyle.

(WebCore::RenderGrid::resolveGridPositionsFromStyle):
Added this new function that handle the correct resolution.

(WebCore::RenderGrid::resolveGridPositionFromStyle):
Updated the ASSERT to match the new code flow.

  • rendering/RenderGrid.h:

(WebCore::RenderGrid::GridSpan::GridSpan):
Introduced this new struct to hold the 2 positions along one axis.

LayoutTests:

  • fast/css-grid-layout/grid-auto-flow-resolution-expected.txt:
  • fast/css-grid-layout/grid-auto-flow-resolution.html:
  • fast/css-grid-layout/grid-item-spanning-resolution-expected.txt: Added.
  • fast/css-grid-layout/grid-item-spanning-resolution.html: Added.

Extended and added a new test. Most of the new testing is failing as it
requires other changes to land. This will help us track our progress
towards fully supporting the new syntax and padding.

  • fast/css-grid-layout/resources/grid.css:

Added the 2 new classes.

10:12 AM Changeset in webkit [145239] by dominicc@chromium.org
  • 3 edits
    6 adds in trunk

RenderTextControlSingleLine should not assume that its text element has a renderer
https://bugs.webkit.org/show_bug.cgi?id=111826

Reviewed by Ojan Vafai.

Source/WebCore:

Tests: fast/forms/search/search-autoscroll-hidden-decoration-container-crash.html

fast/forms/search/search-hide-decoration-container-crash.html
fast/forms/search/search-scroll-hidden-decoration-container-crash.html

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::layout):
(WebCore::RenderTextControlSingleLine::controlClipRect):
(WebCore::RenderTextControlSingleLine::autoscroll):
(WebCore::RenderTextControlSingleLine::scroll):

LayoutTests:

  • fast/forms/search/search-autoscroll-hidden-decoration-container-crash-expected.txt: Added.
  • fast/forms/search/search-autoscroll-hidden-decoration-container-crash.html: Added.
  • fast/forms/search/search-hide-decoration-container-crash-expected.txt: Added.
  • fast/forms/search/search-hide-decoration-container-crash.html: Added.
  • fast/forms/search/search-scroll-hidden-decoration-container-crash-expected.txt: Added.
  • fast/forms/search/search-scroll-hidden-decoration-container-crash.html: Added.
10:06 AM Changeset in webkit [145238] by jsbell@chromium.org
  • 9 edits in trunk/Source

IndexedDB: Use WeakPtr for Factory-to-BackingStore reference
https://bugs.webkit.org/show_bug.cgi?id=111459

Reviewed by Adam Barth.

Source/WebCore:

IDBFactoryBackendImpl maintains a map of backing stores - if another database in the same
origin is opened, the backing store instance must be re-used). This was a map to raw
pointers so that the backing store can be collected when all database references are
dropped. The map was maintained manually by passing the factory to the IDBBackingStore which
would add/remove itself on creation/destruction.

Replace this with a HashMap<WeakPtr<T>>. This simplifies the plumbing; map entries
"leak" but are purged on subsequent opens.

Added webkit_unit_test (Chromium port) to verify refcounts.

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::IDBBackingStore::IDBBackingStore): No need to notify factory of lifetime.
(WebCore::IDBBackingStore::~IDBBackingStore): Ditto.
(WebCore::IDBBackingStore::open): Ditto.

  • Modules/indexeddb/IDBBackingStore.h: No reference to the factory, but...

(WebCore::IDBBackingStore::createWeakPtr): Do need to expose weak pointers for the factory to hold.

  • Modules/indexeddb/IDBFactoryBackendImpl.cpp:

(WebCore::cleanWeakMap): Helper function to scrub a HashMap<WeakPtr<T>> of empty pointers.
May move to WTF when we've learned how general it is, or come up with a dedicated WeakPtrHashMap type.
(WebCore::IDBFactoryBackendImpl::openBackingStore): WeakPtr fu.

  • Modules/indexeddb/IDBFactoryBackendImpl.h:

(IDBFactoryBackendImpl): Remove plumbing methods.

Source/WebKit/chromium:

Add new test that verifies refcounts.

  • WebKit.gyp: Don't include files depending on webkit_support.
  • tests/IDBBackingStoreTest.cpp:

(WebCore::IDBBackingStoreTest::SetUp): No need for dummy factory.
(MockIDBFactoryBackend): Allow access to protected openBackingStore method.
(WebCore::TEST): Add new test that verifies refcounts.

  • tests/IDBCleanupOnIOErrorTest.cpp:

(WebCore::TEST): No need for dummy factory.

9:42 AM Changeset in webkit [145237] by tony@chromium.org
  • 3 edits
    3 copies in branches/chromium/1410

Merge 144894

Crash during middle mouse click when page is removed
https://bugs.webkit.org/show_bug.cgi?id=111489

Reviewed by Hajime Morrita.

Source/WebCore:

Check for a null page that can happen if we remove the document from the DOM.
The other methods in EventHandler also check for a null page.

Test: editing/pasteboard/selection-paste-crash.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handlePasteGlobalSelection):

LayoutTests:

  • editing/pasteboard/resources/selection-paste-crash.html: Added.
  • editing/pasteboard/selection-paste-crash-expected.txt: Added.
  • editing/pasteboard/selection-paste-crash.html: Added.

TBR=tony@chromium.org
Review URL: https://codereview.chromium.org/12510009

9:38 AM Changeset in webkit [145236] by ap@apple.com
  • 4 edits in trunk/Source/WebKit2

<rdar://problem/13363499> Blobs are not cleaned up when WebProcess terminates
https://bugs.webkit.org/show_bug.cgi?id=111803

Reviewed by Brady Eidson.

Track which blobs were created for each connection, and unregister them when
the connection closes.

Normally, this happens when a document is destroyed through PublicURLManager
in WebProcess. But we don't get there when the web process crashes, or is terminated
without waiting for document destruction.

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: (WebKit::NetworkBlobRegistry::registerBlobURL): (WebKit::NetworkBlobRegistry::unregisterBlobURL): (WebKit::NetworkBlobRegistry::connectionToWebProcessDidClose):
  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::didClose): (WebKit::NetworkConnectionToWebProcess::registerBlobURL): (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL): (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
9:35 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
9:33 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
9:30 AM Changeset in webkit [145235] by timothy@apple.com
  • 3 edits in trunk/Source/WebKit2

Make the WebKit2 Web Inspector use tiled drawing and accelerated drawing.

<rdar://problem/12676223>

Reviewed by David Kilzer.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::createInspectorPageGroup): Call setAcceleratedDrawingEnabled with true on 10.8+.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(-[WKWebInspectorWKView _shouldUseTiledDrawingArea]): Added. Return YES on 10.8+.

9:29 AM Changeset in webkit [145234] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

[GTK][WK2] Fix compilation warning missing-field-initializers in webkit-2.0 stable branch
https://bugs.webkit.org/show_bug.cgi?id=111863

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-03-08
Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitUIClient.cpp:

(attachUIClientToView): Include missing initializer for pluginLoadPolicy.

9:19 AM Changeset in webkit [145233] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

@media queries do not take zooming into account
https://bugs.webkit.org/show_bug.cgi?id=53186

Patch by John Mellor <johnme@chromium.org> on 2013-03-08
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Fixes @media width and height to take into account full page zoom, by
adding code to MediaQueryEvaluator's width/heightMediaFeatureEval,
corresponding to the existing code in Element::clientWidth which makes
document.documentElement.clientWidth take into account page zoom.

Test: fast/media/mq-width-pagezoom.html

  • css/MediaQueryEvaluator.cpp:

(WebCore::heightMediaFeatureEval):
(WebCore::widthMediaFeatureEval):

LayoutTests:

  • fast/media/mq-width-pagezoom-expected.html: Added.
  • fast/media/mq-width-pagezoom.html: Added.
9:12 AM Changeset in webkit [145232] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Add stubs for DNSResolveQueue platform specific methods
https://bugs.webkit.org/show_bug.cgi?id=111841

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-03-08
Reviewed by Rob Buis.

Add empty implementations of
DNSResolveQueue::platformProxyIsEnabledInSystemPreferences() and
DNSResolveQueue::platformResolve() to DNSBlackBerry.cpp to make it
build.

  • platform/network/blackberry/DNSBlackBerry.cpp:

(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
(WebCore::DNSResolveQueue::platformResolve):

8:59 AM Changeset in webkit [145231] by Chris Fleizach
  • 7 edits in trunk

[Mac] [WK2] platform/mac/accessibility/press-action-is-first.html fails
https://bugs.webkit.org/show_bug.cgi?id=111814

Reviewed by Ryosuke Niwa.

Tools:

Add the needed supportedActions() attribute to WKTestRunner.

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::supportedActions):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:

(AccessibilityUIElement):

  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::supportedActions):

LayoutTests:

  • platform/mac-wk2/TestExpectations:
8:55 AM WebKitGTK/2.0.x edited by Manuel Rego Casasnovas
Add new change on track (diff)
8:33 AM Changeset in webkit [145230] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Coordinated Graphics: Handle scrolling correctly.
https://bugs.webkit.org/show_bug.cgi?id=111406

Patch by Huang Dongsung <luxtella@company100.net> on 2013-03-08
Reviewed by Simon Fraser.

Coordinated Graphics deals with fast scrolling and slow scrolling in the same
routine, so WebChromeClient::invalidateContentsForSlowScroll() should call
DrawingArea:scroll().

When CoordinatedLayerTreeHost::scrollNonCompositedContents() is called, we
should call scheduleLayerFlush() to notify to UI Process. In addition, when we
don't use fixed layout, we should call setNonCompositedContentsNeedDisplay() to
update non composited contents.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::invalidateContentsForSlowScroll):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):

8:28 AM Changeset in webkit [145229] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Adding a hook to collect data for a Google UMA histogram to track when
m_needsCompositedScrolling is turned on and off.
https://bugs.webkit.org/show_bug.cgi?id=111725

Reviewed by Julien Chaffraix.

We want to keep track of this information to quantify the effects of a
few patches that will cause us to opt in to composited scrolling.
Specifically, we want to measure the effects of
https://bugs.webkit.org/show_bug.cgi?id=109302,
https://bugs.webkit.org/show_bug.cgi?id=109966,
https://bugs.webkit.org/show_bug.cgi?id=109591, and
https://bugs.webkit.org/show_bug.cgi?id=107618.

We do this by measuring a per-layer boolean value, and comparing the
ratio between number of layers opted in and number of layers that remain
uncomposited. We hope the relative number of layers opting in will
increase after the relevant patches land and are enabled.

Unfortunately implementing extra statistics is impractical at the
moment since most of the actionable relevant data is expensive to
compute. For example, it would be useful to know if the layers that opt
out do so because of invisible or non-overlapping layers that cause a
potential stacking container's children to be discontiguous, because we
would potentially be able to mitigate the problem. However, this would
add considerable overhead to perform overlap testing just to gather
data.

No new tests (no change in behaviour).

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateNeedsCompositedScrolling):

Patch by Glenn Hartmann <hartmanng@chromium.org> on 2013-03-08

8:28 AM Changeset in webkit [145228] by sudarsana.nagineni@linux.intel.com
  • 2 edits
    2 adds in trunk/LayoutTests

Unreviewed EFL gardening.

Update platform expectations for failing tests after r145024 and r145067.

  • platform/efl/compositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.
  • platform/efl/fast/forms/datalist/input-list-expected.txt:
  • platform/efl/fast/forms/validationMessage-expected.txt: Added.
8:06 AM Changeset in webkit [145227] by sudarsana.nagineni@linux.intel.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip failing tests on EFL bots.

  • platform/efl/TestExpectations:
8:00 AM Changeset in webkit [145226] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] GraphicsContext: rename addRoundedRectClip to clipRoundedRect
https://bugs.webkit.org/show_bug.cgi?id=111852

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-08
Reviewed by Rob Buis.

This changed in r139353.

  • platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:

(WebCore::GraphicsContext::clipRoundedRect):

7:59 AM Changeset in webkit [145225] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Add BlendMode parameter to GraphicsContext::setPlatformCompositeOperation
https://bugs.webkit.org/show_bug.cgi?id=111840

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-08
Reviewed by Rob Buis.

This parameter was added in r137011.

  • platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation):

7:57 AM Changeset in webkit [145224] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Remove unused GraphicsContext::addInnerRoundedRectClip()
https://bugs.webkit.org/show_bug.cgi?id=111838

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-08
Reviewed by Rob Buis.

This was removed in r139138.

  • platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
7:56 AM Changeset in webkit [145223] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] GraphicsContext: add fillRule parameter to clip() and canvasClip()
https://bugs.webkit.org/show_bug.cgi?id=111836

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-08
Reviewed by Rob Buis.

This parameter was added in r139967.

  • platform/graphics/blackberry/PathBlackBerry.cpp:

(WebCore):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::canvasClip):

7:51 AM Changeset in webkit [145222] by kadam@inf.u-szeged.hu
  • 3 edits
    1 add in trunk/LayoutTests

[Qt] Unreviewed gardening. Unskip now passing compositing tests.

  • platform/qt-5.0-wk2/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/qt/compositing/visibility/visibility-image-layers-dynamic-expected.txt: Added.
7:39 AM Changeset in webkit [145221] by vsevik@chromium.org
  • 12 edits in trunk

Web Inspector: Get rid of file system ids and use file pathes as uri for file based uiSourceCodes.
https://bugs.webkit.org/show_bug.cgi?id=111753

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/front-end/FileSystemMapping.js:

(WebInspector.FileSystemMappingImpl):
(WebInspector.FileSystemMappingImpl.prototype._loadFromSettings.get this):
(WebInspector.FileSystemMappingImpl.prototype._loadFromSettings):
(WebInspector.FileSystemMappingImpl.prototype._saveToSettings):
(WebInspector.FileSystemMappingImpl.prototype.set addFileSystemMapping):
(WebInspector.FileSystemMappingImpl.prototype.removeFileSystemMapping):
(WebInspector.FileSystemMappingImpl.prototype.fileSystemPaths):
(WebInspector.FileSystemMappingImpl.prototype.fileSystemPathForPrefix):

  • inspector/front-end/FileSystemProjectDelegate.js:

(WebInspector.FileSystemProjectDelegate.projectId):
(WebInspector.FileSystemProjectDelegate.prototype.id):
(WebInspector.FileSystemProjectDelegate.prototype.fileSystemPath):
(WebInspector.FileSystemWorkspaceProvider):
(WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
(WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemRemoved):
(WebInspector.FileSystemWorkspaceProvider.prototype.fileSystemPath):

  • inspector/front-end/IsolatedFileSystemManager.js:

(WebInspector.IsolatedFileSystemManager.prototype._innerAddFileSystem):
(WebInspector.IsolatedFileSystemManager.prototype._fileSystemRemoved):

  • inspector/front-end/Workspace.js:

(WebInspector.Workspace.prototype.uiSourceCodeForURL):

LayoutTests:

  • inspector/file-system-mapping-expected.txt:
  • inspector/file-system-mapping.html:
  • inspector/file-system-project-expected.txt:
  • inspector/workspace-mapping-expected.txt:
  • inspector/workspace-mapping.html:
7:25 AM Changeset in webkit [145220] by vsevik@chromium.org
  • 6 edits in trunk/Source/WebCore

Web Inspector: Polish TabbedEditorContaner and ScriptsNavigator behavior.
https://bugs.webkit.org/show_bug.cgi?id=111732

Reviewed by Pavel Feldman.

Resources matching inspectedPageURL are always expanded in NavigatorView now.
Snippets tab in scripts navigator is not automatically opened anymore.
Cleared saved TabbedEditorContainer history because it might have been corrupted due to errors in earlier versions.
Snippets are not revealed in TabbedEditorContainer anymore unless they were actually selected by user or there is no other tabs opened.

  • inspector/front-end/NavigatorView.js:

(WebInspector.NavigatorView):
(WebInspector.NavigatorView.prototype.addUISourceCode):
(WebInspector.NavigatorView.prototype._inspectedURLChanged):
(WebInspector.NavigatorView.prototype.revealUISourceCode):
(WebInspector.NavigatorView.prototype.removeUISourceCode):
(WebInspector.NavigatorFolderTreeElement.prototype.onattach):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.uiSourceCode):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.reveal):

  • inspector/front-end/ScriptsNavigator.js:

(WebInspector.ScriptsNavigator.prototype.revealUISourceCode):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._showFile):

  • inspector/front-end/Settings.js:

(WebInspector.VersionController.prototype._updateVersionFrom1To2):

  • inspector/front-end/TabbedEditorContainer.js:

(WebInspector.TabbedEditorContainer.prototype.addUISourceCode.tabId.this._tabIds.get this):
(WebInspector.TabbedEditorContainer.prototype.addUISourceCode):
(WebInspector.TabbedEditorContainer.History.prototype._rebuildItemIndex):

7:14 AM Changeset in webkit [145219] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/TestExpectations: Skip test after r145195.
7:11 AM Changeset in webkit [145218] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Add shortcut for running a snippet.
https://bugs.webkit.org/show_bug.cgi?id=111680

Reviewed by Pavel Feldman.

Added Ctrl/Cmd+Enter as a shortcut for running a snippet.

  • inspector/front-end/SnippetJavaScriptSourceFrame.js:

(WebInspector.SnippetJavaScriptSourceFrame):
(WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
(WebInspector.SnippetJavaScriptSourceFrame.prototype._runSnippet):
(WebInspector.SnippetJavaScriptSourceFrame.prototype._onKeyDown):

7:05 AM Changeset in webkit [145217] by mikhail.pozdnyakov@intel.com
  • 2 edits in trunk/Tools

[EFL] Memory leak at WKViewClientWebProcessCallbacks API test
https://bugs.webkit.org/show_bug.cgi?id=111851

Reviewed by Kenneth Rohde Christiansen.

  • TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:

(TestWebKitAPI::TEST):

Fixed WKURLRef instance leaking.

6:37 AM Changeset in webkit [145216] by pdr@google.com
  • 3 edits
    2 adds in trunk

Prevent infinite loop in SVG use cycle detection
https://bugs.webkit.org/show_bug.cgi?id=111822

Reviewed by Stephen Chenney.

Source/WebCore:

SVG use cycle detection depended on idForStyleResolution() which differs from
getIdAttribute() in quirks mode. During use tree cycle detection, this difference
resulted in an infinite loop because idForStyleResolution() used lower-cased id
attributes. This patch removes an existing fixme for this and switches to using
getIdAttribute().

Test: svg/custom/use-cycle-detection.html

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::hasCycleUseReferencing):

LayoutTests:

  • svg/custom/use-cycle-detection-expected.html: Added.
  • svg/custom/use-cycle-detection.html: Added.
6:32 AM Changeset in webkit [145215] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

When we set word-wrap: break-word and xml:space="preserve" to svg text element, the text is collapsed.
https://bugs.webkit.org/show_bug.cgi?id=111675

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2013-03-08
Reviewed by Stephen Chenney.

Source/WebCore:

RenderSVGText define its size when it laid out its first line at SVGRootInlineBox::computePerCharacterLayoutInformation().

In the following spec, SVG don't perform automatic line break or word wrapping.
http://www.w3.org/TR/SVG/text.html#Introduction

SVG performs no automatic line breaking or word wrapping.

However, when we set word-wrap: break-word and xml:space="preserve" to svg text element, RenderBlock::LineBreaker::nextLineBreak() breaks the text.
This make single character lines and make RenderSVGText narrow.

We must ignore word-wrap property to make the text a single line.

We always disable break words and break all in nextLineBreak() when the object is SVGInlineText.

Test: svg/text/preserve-break-word.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Disable break words and break all when we process SVG Text.

LayoutTests:

Test combination of xml:space="preserve" and word-wrap: break-word to SVG Text.
These text should not be collapsed.

  • svg/text/preserve-break-word-expected.html: Added.
  • svg/text/preserve-break-word.html: Added.
6:23 AM Changeset in webkit [145214] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt] HTML5 video - sound volume bar out of widget
https://bugs.webkit.org/show_bug.cgi?id=108213

Reviewed by Jocelyn Turcotte.

Since we use Safari shadow DOM for media controls, follow
the overall layout of Safari media control CSS.

  • css/mediaControlsQt.css:

(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
(audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
(audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
(audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
(audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
(audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
(audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):

6:13 AM Changeset in webkit [145213] by mikhail.pozdnyakov@intel.com
  • 4 edits in trunk/Source/WebKit2

[WK2][EFL] Remove EwkView::setImageData()
https://bugs.webkit.org/show_bug.cgi?id=111849

Reviewed by Andreas Kling.

EwkView::setImageData() removed as it is not used at the moment
(it used to be part of eliminated non coord graphics code path).

  • UIProcess/API/efl/EwkView.cpp:
  • UIProcess/API/efl/EwkView.h:

(EwkView):

  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit::BackingStore::incorporateUpdate):

6:12 AM Changeset in webkit [145212] by tkent@chromium.org
  • 3 edits
    1 copy in trunk/LayoutTests

Allow platform-dependent strings for validationMessage property
https://bugs.webkit.org/show_bug.cgi?id=111846

Reviewed by Kentaro Hara.

Do not check matching with fixed strings in validationMessage.html
test. We print validationMessage values in the test instead.
We'd like to change user-visible strings at our own discretion.

  • fast/forms/validationMessage-expected.txt:

Note that many platforms don't have a dedicated message for
badInput and uses the same message as typeMismatch for now.

  • fast/forms/validationMessage.html:
  • platform/chromium/fast/forms/validationMessage-expected.txt:

Chromium has a dedicated one for badInput.

5:43 AM Changeset in webkit [145211] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/qt

[Qt] QWebSettings::clearMemoryCaches should release FastMalloc's free pages to OS
https://bugs.webkit.org/show_bug.cgi?id=111605

Patch by Arunprasad Rajkumar <arunprasadr@nds.com> on 2013-03-08
Reviewed by Jocelyn Turcotte.

  • Api/qwebsettings.cpp:

(QWebSettings::clearMemoryCaches):

5:24 AM Changeset in webkit [145210] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt] Doesn't build with QtMultimedia
https://bugs.webkit.org/show_bug.cgi?id=111847

Reviewed by Jocelyn Turcotte.

Fix include.

  • platform/graphics/qt/MediaPlayerPrivateQt.h:
5:18 AM Changeset in webkit [145209] by Christophe Dumez
  • 4 edits
    1 add in trunk

[EFL] [WK2] Some authentication tests fail in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=106407

Reviewed by Kenneth Rohde Christiansen.

Tools:

Add patch from upstream for libsoup 2.40 to fix several authentication
test cases.

  • efl/jhbuild.modules:
  • efl/patches/libsoup-2.40-auth-fix.patch: Added.

LayoutTests:

Unskip several authentication test cases now that we cherry-picked
the needed libsoup fix from upstream.

  • platform/efl-wk2/TestExpectations:
4:12 AM Changeset in webkit [145208] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/fast/js/global-constructors-expected.txt: Rebaselining after r145200.
3:36 AM May 2013 Meeting edited by alexis@webkit.org
(diff)
3:25 AM Changeset in webkit [145207] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[EFL][Qt] REGRESSION(r144787): A fixed element lags when scrolling and wheeling.
https://bugs.webkit.org/show_bug.cgi?id=111829

Patch by Huang Dongsung <luxtella@company100.net> on 2013-03-08
Reviewed by Noam Rosenthal.

Currently, flagsChanged deals with all boolean flags. It introduces this bug
because when another flag (i.e. preserves3D) is changed, fixedToViewport is set
to false. So this patch updates all flags when at least one flag is changed.

In addition, this patch amends isScrollable code to match other flags.

This patch can only be tested manually since there is no automated
testing facilities for in-motion touch.
Test: ManualTests/fixed-position.html

ManualTests/nested-fixed-position.html

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setScrollableArea):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::setLayerState):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:

(WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):

3:20 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:19 AM Changeset in webkit [145206] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r144982 - [GTK][WK2] Implement WebInspector::localizedStringsURL() to return the file URL of localizedStrings.js
https://bugs.webkit.org/show_bug.cgi?id=111448

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-03-06
Reviewed by Alexey Proskuryakov.

Implement WebInspector::localizedStringsURL() method to return the
file URL of the localizedStrings.js.

This prevents printing warnings about "Localized string not found" in
the console.

  • WebProcess/WebPage/gtk/WebInspectorGtk.cpp:

(WebKit::WebInspector::localizedStringsURL):

3:09 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:08 AM Changeset in webkit [145205] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit/gtk

Merge r144943 - Link the webkit_tests to XRENDER_LIBS.
This solves the linking failure when building against gtk2 like:
usr/lib/gcc/i586-suse-linux/4.7/../../../../i586-suse-linux/bin/ld:
Source/WebCore/platform/gtk/Programs_unittests_testcopyandpaste-GtkVersioning.o:
undefined reference to symbol 'XFree'
/usr/lib/gcc/i586-suse-linux/4.7/../../../../i586-suse-linux/bin/ld:
note: 'XFree' is defined in DSO /usr/lib/libX11.so.6 so try adding it
to the linker command line
/usr/lib/libX11.so.6: could not read symbols: Invalid operation

https://bugs.webkit.org/show_bug.cgi?id=111572

Patch by Dominique Leuenberger <dimstar@opensuse.org> on 2013-03-06
Reviewed by Gustavo Noronha Silva.

  • GNUmakefile.am:
3:01 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:00 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:00 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
2:58 AM Changeset in webkit [145204] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore

Merge r144936 - [soup] session cookies are not correctly reported in getRawCookies()
https://bugs.webkit.org/show_bug.cgi?id=111584

Reviewed by Martin Robinson.

As per libsoup documentation, SoupCookie->expires is NULL for session cookies.
However, the soup implementation for getRawCookies() does not check for NULL
case before passing the value to soup_date_to_time_t(), which leads to run time
warnings.

We should also pass true for WebCore::Cookie's session argument if
SoupCookie->expires is NULL. The current implementation reports the cookie as a
session one if soup_cookie_jar_is_persistent(jar) returns true, which is
inaccurate.

No new tests, no behavior change for layout tests as Web Inspector currently
ignores the "session" member and uses expires/max-age instead to deduce it.

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::getRawCookies):

2:55 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
2:54 AM Changeset in webkit [145203] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.0

Merge r144969 - [WK2][GTK] Fix unit test WebKit2APITests/WebKitWebView/mouse-target
https://bugs.webkit.org/show_bug.cgi?id=82866

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-03-06
Reviewed by Martin Robinson.

Source/WebKit2:

Test was failing because of new media controls needs more space to be
painted than just 10x10 pixels. This is similar to r144070.

  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:

(testWebViewMouseTarget): Modified HTML in order to give more space to the media controls.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Unflag WebKit2APITests/WebKitWebView/mouse-target test as
it is passing now.

2:40 AM Changeset in webkit [145202] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Memory leak in webkit_web_view_load_request() in WebKit2 API
https://bugs.webkit.org/show_bug.cgi?id=111160

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-03-08
Reviewed by Benjamin Poulain.

leakRef() is used for the returned PassRefPtr without taking the
ownership of the leaked ref.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_load_request): Use RefPtr local variable.

2:29 AM Changeset in webkit [145201] by zandobersek@gmail.com
  • 2 edits in trunk

[Autotools] Remove definitions of unnecessary Automake conditionals
https://bugs.webkit.org/show_bug.cgi?id=111830

Reviewed by Philippe Normand.

The following Automake conditionals are not used anywhere and should have their
definitions in SetupAutomake.m4 removed:
ENABLE_GAMEPAD, ENABLE_XSLT, ENABLE_GEOLOCATION, ENABLE_SVG_FONTS,
ENABLE_OPCODE_STATS, ENABLE_CSS_FILTERS, ENABLE_CSS_SHADERS.

  • Source/autotools/SetupAutomake.m4:
2:08 AM Changeset in webkit [145200] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[GTK] Enable Web Audio in development builds
https://bugs.webkit.org/show_bug.cgi?id=111831

Reviewed by Philippe Normand.

Web Audio is already quite well supported on the GTK port but still has a few issues
that must be addressed before it is enabled by default. Despite that it should be enabled
in development builds just so we are up-to-date with future feature infrastructure changes.
The Web Audio-related layout tests are not run yet due to missing support in DRT/WKTR, but
that's an obvious goal before enabling the feature in release builds.

  • Scripts/webkitperl/FeatureList.pm:
2:06 AM Changeset in webkit [145199] by zandobersek@gmail.com
  • 5 edits in trunk

[GTK] Remove media stream support from the configuration options
https://bugs.webkit.org/show_bug.cgi?id=111813

Reviewed by Philippe Normand.

Remove the media-stream configuration flag. The feature is incomplete and
thus unsupported, so it really shouldn't be possible to enable it.

  • Source/autotools/PrintBuildConfiguration.m4:
  • Source/autotools/ReadCommandLineArguments.m4:
  • Source/autotools/SetupAutomake.m4:
  • Source/autotools/SetupWebKitFeatures.m4:
2:04 AM Changeset in webkit [145198] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Skipping the tests in inspector-protocol/layers as they rely on compositing support
which is not available on the GTK builders.
Adding failure expectations for tests that regressed with r145100.

  • platform/gtk/TestExpectations:
2:01 AM Changeset in webkit [145197] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Remove dead label code in snapshotted plugin
https://bugs.webkit.org/show_bug.cgi?id=111781

Reviewed by Tim Horton.

Since ports can use the shadow tree to do label display,
there is no need for the hardcoded timers in RenderSnapshottedPlugin.

  • rendering/RenderSnapshottedPlugIn.cpp: Remove label flags and timers.

(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
(WebCore::RenderSnapshottedPlugIn::~RenderSnapshottedPlugIn):
(WebCore::RenderSnapshottedPlugIn::updateSnapshot):
(WebCore::RenderSnapshottedPlugIn::handleEvent):

  • rendering/RenderSnapshottedPlugIn.h:

(RenderSnapshottedPlugIn):

Conflicts:

Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp

2:01 AM Changeset in webkit [145196] by dino@apple.com
  • 13 edits
    2 adds in trunk

Implement a custom appearance for the snapshotted plugin background
https://bugs.webkit.org/show_bug.cgi?id=108368

Reviewed by NOBODY (OOPS!).

Source/WebCore:

After https://bugs.webkit.org/show_bug.cgi?id=108284 (r142507), a
snapshotted plugin was no longer drawing the background of the
label blurred. Since the snapshot content was now a shadow tree,
it wasn't feasible to pre-blur a region of the snapshot: the label
could be any size and in any location, with ports being able to
override the appearance through their UA style sheet.

Instead we now use one of the elements in the tree, the snapshot-overlay,
as a hook where ports can add any effect they want. This could be simply
a border, or a transparent mask, or even a CSS filter. We introduce a custom
CSS appearance "snapshotted-plugin-overlay", which could be added to the
element in the injected UA stylesheet. This calls into RenderTheme in
the same way that custom controls do.

Meanwhile, in RenderThemeMac, we implement the appearance by drawing the
content of the plugin snapshot into the background of the element. That
way we can add effects in CSS.

Test: plugins/snapshot-appearance.html

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle SnapshottedPluginOverlayPart.

  • css/CSSValueKeywords.in: New appearance value snapshotted-plugin-overlay.
  • platform/ThemeTypes.h: New value SnapshottedPluginOverlayPart.
  • html/HTMLPlugInElement.h:

(WebCore::toHTMLPlugInElement): Add safer casting helpers.

  • html/HTMLPlugInImageElement.h:

(WebCore::toHTMLPlugInImageElement): Ditto.

  • rendering/RenderSnapshottedPlugIn.cpp: Remove the code for handling

the blur directly in the renderer.

(WebCore::RenderSnapshottedPlugIn::paint): Simplify the paint logic since we're

no longer trying to blur here.

(WebCore::RenderSnapshottedPlugIn::paintSnapshot): Ditto.

  • rendering/RenderSnapshottedPlugIn.h: Remove the methods that were trying

to blur the image directly.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint): Call paintSnapshottedPluginOverlay.

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintSnapshottedPluginOverlay): New virtual method with default implementation.

  • rendering/RenderThemeMacShared.h:

(RenderThemeMacShared): Override paintSnapshottedPluginOverlay.

  • rendering/RenderThemeMacShared.mm:

(WebCore::RenderThemeMacShared::paintSnapshottedPluginOverlay): Implement a custom render path

that takes the snapshot image from the node's parent, and draws it into the background.
Along the way make sure we're actually using the right type of element (an HTMLPlugInImageElement).

LayoutTests:

Toggles our new snapshotted-plugin-overlay appearance, to make sure it
isn't getting applied to non-plugins.

  • plugins/snapshot-appearance-expected.html: Added.
  • plugins/snapshot-appearance.html: Added.
1:58 AM Changeset in webkit [145195] by sergio@webkit.org
  • 5 edits
    2 adds in trunk

Improve drag&drop of list items in contentEditable divs
https://bugs.webkit.org/show_bug.cgi?id=111556

Reviewed by Ryosuke Niwa.

Source/WebCore:

A single fully selected <li> should generate the same markup as if
we were selecting some of them, i.e., we should preserve the list
structure and appearance.

Test: editing/selection/drag-list-item.html

  • editing/htmlediting.cpp:

(WebCore::isListItem): modified constness.

  • editing/htmlediting.h:

(WebCore): ditto.

  • editing/markup.cpp:

(WebCore::highestAncestorToWrapMarkup):

LayoutTests:

Added a new test case. The test performs 2 drag&drops, first of
all a selection of a single list item, and secondly a selection of
two list items. It checks that both behave the same way, i.e, the
whole <li> is moved and not only the text.

  • editing/selection/drag-list-item-expected.txt: Added.
  • editing/selection/drag-list-item.html: Added.
1:44 AM WebKitGTK/2.0.x edited by zandobersek@gmail.com
(diff)
1:27 AM Changeset in webkit [145194] by rgabor@webkit.org
  • 4 edits in trunk/Source

Cache flush problem on ARMv7 JSC
https://bugs.webkit.org/show_bug.cgi?id=111441

Reviewed by Zoltan Herczeg.

Not proper cache flush causing random crashes on ARMv7 Linux with V8 tests.
The problem is similar to https://bugs.webkit.org/show_bug.cgi?id=77712.
Change the cache fulsh mechanism similar to ARM traditinal and revert the
temporary fix.

Source/JavaScriptCore:

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::cacheFlush):

Source/WTF:

  • wtf/OSAllocatorPosix.cpp:

(WTF::OSAllocator::reserveUncommitted):
(WTF::OSAllocator::decommit):

1:21 AM Changeset in webkit [145193] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] LayerTiler: rename currentFrameHasAlpha as currentFrameKnownToBeOpaque
https://bugs.webkit.org/show_bug.cgi?id=111828

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-08
Reviewed by Carlos Garcia Campos.

This changed in r141637.

  • platform/graphics/blackberry/LayerTiler.cpp:

(WebCore::LayerTiler::updateTextureContentsIfNeeded):

1:17 AM Changeset in webkit [145192] by zarvai@inf.u-szeged.hu
  • 2 edits
    1 add in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/TestExpectations: Skip failing test after r145100.
  • platform/qt/compositing/overflow/composited-scrolling-paint-phases-expected.txt: Rebaselining after r145067.
12:56 AM Changeset in webkit [145191] by Antoine Quint
  • 2 edits in trunk/Source/WebCore

Fix a couple of typos, unreviewed.

12:29 AM Changeset in webkit [145190] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Use OwnPtr for CredentialBackingStore members
https://bugs.webkit.org/show_bug.cgi?id=111737

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-03-08
Reviewed by Rob Buis.

It simplifies the code a bit.

  • platform/network/blackberry/CredentialBackingStore.cpp:

(WebCore::CredentialBackingStore::~CredentialBackingStore):
(WebCore::CredentialBackingStore::open):
(WebCore::CredentialBackingStore::certMgrWrapper):

  • platform/network/blackberry/CredentialBackingStore.h:

(CredentialBackingStore):

12:00 AM Changeset in webkit [145189] by jochen@chromium.org
  • 2 edits in trunk/Tools

[chromium] delay clearing the TestRunners until the main view was deleted
https://bugs.webkit.org/show_bug.cgi?id=111823

Reviewed by Eric Seidel.

During WebViewHost::shutdown, we navigate the WebView to about:blank.
This may call into the test runners which assume that the delegate is
always non-NULL.

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::~TestShell):

Mar 7, 2013:

11:57 PM Changeset in webkit [145188] by barraclough@apple.com
  • 2 edits in trunk/Source/WebCore

MemoryPressureHandler should fully flush the WebCore & NS URL caches
https://bugs.webkit.org/show_bug.cgi?id=111827

Rubber Stamped by Geoff Garen

When the handler is fired we should free as much memory as possible.

  • platform/mac/MemoryPressureHandlerMac.mm:

(WebCore::MemoryPressureHandler::releaseMemory):

  • fully flush the WebCore & NS URL caches
11:55 PM Changeset in webkit [145187] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Sheriffbot whois command can't search by full name
https://bugs.webkit.org/show_bug.cgi?id=111825

Patch by Alan Cutter <alancutter@chromium.org> on 2013-03-07
Reviewed by Eric Seidel.

Allowed multiple arguments to Sheriffbot's whois command.
Updated test expectations.

  • Scripts/webkitpy/tool/bot/irc_command.py:

(Whois.execute):

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:

(IRCCommandTest.test_whois):

11:52 PM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
11:46 PM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
11:41 PM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
11:37 PM Changeset in webkit [145186] by keishi@webkit.org
  • 58 edits
    1 copy
    3 adds
    2 deletes in trunk

Update calendar picker UI
https://bugs.webkit.org/show_bug.cgi?id=109439

Reviewed by Kent Tamura.

.:

  • ManualTests/forms/calendar-picker.html: New test file with more options.
  • ManualTests/forms/date-suggestion-picker.html: Copied from ManualTests/forms/calendar-picker.html. Old one kept for dat/time suggestion picker testing.

Source/WebCore:

This patch changes the calendar picker UI.

Added tests to existing calendar picker tests.
Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup.html

  • Resources/pagepopups/calendarPicker.css:

(body):
(.rtl):
(.scroll-view):
(.scroll-view-content):
(.list-cell):
(.list-cell.hidden):
(.day-cell):
(.week-number-cell):
(.day-cell.today):
(.day-cell.highlighted):
(.day-cell.highlighted.disabled):
(.day-cell.selected):
(.day-cell.disabled):
(.day-cell.current-month):
(.calendar-table-view):
(.preparing .calendar-table-view:focus):
(.week-day-label):
(.week-number-label):
(.calendar-table-header-view):
(.calendar-picker):
(.calendar-header-view):
(.calendar-title):
(.rtl .calendar-title):
(.month-popup-button:disabled):
(.month-popup-button):
(.month-popup-button .disclosure-triangle):
(.month-popup-button .disclosure-triangle svg):
(.today-button::after):
(.calendar-navigation-button):
(.year-list-view):
(.year-list-cell):
(.year-list-cell .label):
(.year-list-cell .month-chooser):
(.month-buttons-row):
(.month-button):
(.month-button.highlighted):
(.scrubby-scroll-bar):
(.scrubby-scroll-thumb):
(.month-popup-view):
(.year-list-view .scrubby-scroll-bar):
(.rtl .year-list-view .scrubby-scroll-bar):

  • Resources/pagepopups/calendarPicker.js:

(setGlobalParams): Sets the global params.
(initialize):
(openCalendarPicker):
(CalendarHeaderView.prototype.onNavigationButtonClick): Fix typo.
(CalendarPicker):
(CalendarPicker.prototype.onWindowResize): We want to have the "preparing" class applied
to cancel css transitions while setting up the calendar picker so we can avoid flaky pixel tests.
(CalendarPicker.prototype.onYearListViewDidHide): The user clicked on a month so hide the month popup.
(CalendarPicker.prototype.onYearListViewDidSelectMonth): Change the current month in response to the month popup.
(CalendarPicker.prototype.attachTo): We want the calendar table focused when the calendar picker first opens.
(CalendarPicker.prototype.cleanup): Clean up any event listeners or elements attached to nodes outside of this.element.
(CalendarPicker.prototype.onMonthPopupButtonClick): Open the month popup in response to the month popup button being clicked.
(CalendarPicker.prototype._setConfig): Configures the calendar picker.
(CalendarPicker.prototype.currentMonth): The currently shown month.
(CalendarPicker.prototype.setCurrentMonth): Scrolls the calendar table to the given month. Use the navigation behavior param to specify if you want a transition animation.
(CalendarPicker.prototype.adjustHeight): Adjusts the height so its just tall enough to fit the current month. If the month picker is open, fit that.
(CalendarPicker.prototype.selection): Currently selected date range.
(CalendarPicker.prototype.highlight): Currently highlighted date range.
(CalendarPicker.prototype.firstVisibleDay): Returns the first visible day ignoring scroll animation (i.e. this is the first visible day when the scroll animation is done).
(CalendarPicker.prototype.lastVisibleDay): Returns the last visible day ignoring scroll animation.
(CalendarPicker.prototype.selectRangeContainingDay): Sets the selection to the date range containing the given day.
(CalendarPicker.prototype.highlightRangeContainingDay): Sets the highlight to the date range containing the given day.
(CalendarPicker.prototype.setSelection): Sets the selection to the given date range.
(CalendarPicker.prototype._setHighlight): Sets the highlight to the given date range.
(CalendarPicker.prototype._stepMismatch): Just moving.
(CalendarPicker.prototype._outOfRange): Ditto.
(CalendarPicker.prototype.isValid): Returns true if the given date range is a valid selection.
(CalendarPicker.prototype.isValidDay): Returns true if the day is part of a valid selection.
(CalendarPicker.prototype._moveHighlight): Moves the highlight to the given date range if possible. Returns true if it succeeds.
(CalendarPicker.prototype.onCalendarTableKeyDown): Handles the arrow keys, etc.
(CalendarPicker.prototype.width):
(CalendarPicker.prototype.height):
(CalendarPicker.prototype.setHeight):
(CalendarPicker.prototype.onBodyKeyDown): Handles esc/m/y/d.

  • Resources/pagepopups/chromium/calendarPickerChromium.css:

(.calendar-table-view:focus):
(.preparing .calendar-table-view:focus):

Source/WebKit/chromium:

  • src/DateTimeChooserImpl.cpp:

(WebKit::DateTimeChooserImpl::writeDocument): Adding shortMonthLabels property.

LayoutTests:

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-key-operations-expected.txt: Removed.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/week-picker-key-operations-expected.txt: Removed.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-key-operations-expected.txt:
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations-expected.txt:
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-key-operations-expected.txt:
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-month-popup.html:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step.html:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime.html:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-datetimelocal-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-datetimelocal.html:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations.html:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-mouse-operations-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-mouse-operations.html:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-pre-100-year-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-pre-100-year.html:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-with-step-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-with-step.html:
  • platform/chromium/fast/forms/calendar-picker/date-picker-events-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/date-picker-events.html:
  • platform/chromium/fast/forms/calendar-picker/datetimelocal-picker-events-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/datetimelocal-picker-events.html:
  • platform/chromium/fast/forms/calendar-picker/month-picker-key-operations-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/month-picker-key-operations.html:
  • platform/chromium/fast/forms/calendar-picker/month-picker-mouse-operations-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/month-picker-mouse-operations.html:
  • platform/chromium/fast/forms/calendar-picker/month-picker-with-step-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/month-picker-with-step.html:
  • platform/chromium/fast/forms/calendar-picker/resources/calendar-picker-common.js:

(currentMonth):
(highlightedValue):
(selectedValue):
(skipAnimation):
(hoverOverDayCellAt):
(clickDayCellAt):

  • platform/chromium/fast/forms/calendar-picker/week-picker-key-operations-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/week-picker-key-operations.html:
  • platform/chromium/fast/forms/calendar-picker/week-picker-mouse-operations-expected.txt:
  • platform/chromium/fast/forms/calendar-picker/week-picker-mouse-operations.html:
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-key-operations-expected.txt:
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-key-operations.html:
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations-expected.txt:
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations.html:
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-key-operations-expected.txt:
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-key-operations.html:
11:30 PM Changeset in webkit [145185] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL] EwkView should keep css position instead of scroll position in device pixel.
https://bugs.webkit.org/show_bug.cgi?id=110847

Patch by Huang Dongsung <luxtella@company100.net> on 2013-03-07
Reviewed by Kenneth Rohde Christiansen.

Signed off for WebKit2 by Benjamin Poulain.

There are bugs that some code expect that EwkView::pagePosition() returns css
position while others expect that it returns scroll position in device pixel.
In addition, some code call EwkView::setPagePosition() with css position while
others call it with scroll position in device pixel.

This patch makes all code use setPagePosition() and pagePosition() with
UI pixels (a.k.a Density Independent Pixel).

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::setViewportPosition):

  • UIProcess/efl/WebView.cpp:

(WebKit::WebView::paintToCairoSurface):
(WebKit::WebView::updateViewportSize):
(WebKit::WebView::transformToScene):
(WebKit::WebView::pageDidRequestScroll):

11:17 PM Changeset in webkit [145184] by ap@apple.com
  • 10 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=111801
https://bugs.webkit.org/show_bug.cgi?id=111801

Reviewed by Geoff Garen.

Move unnecessary includes out of headers.

  • NetworkProcess/HostRecord.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:
  • NetworkProcess/NetworkProcess.cpp:
  • NetworkProcess/NetworkResourceLoadScheduler.cpp:
  • NetworkProcess/NetworkResourceLoadScheduler.h:
  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/SchedulableLoader.cpp:
  • NetworkProcess/SchedulableLoader.h:
  • NetworkProcess/SyncNetworkResourceLoader.cpp:
11:10 PM Changeset in webkit [145183] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Remove unused return value after r122962
https://bugs.webkit.org/show_bug.cgi?id=111821

Patch by Seokju Kwon <Seokju Kwon> on 2013-03-07
Reviewed by Pavel Feldman.

No new tests.

  • inspector/front-end/ConsolePanel.js:

(WebInspector.ConsolePanel.prototype.jumpToPreviousSearchResult):

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):

11:02 PM Changeset in webkit [145182] by hayato@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium/TestExpectations: compositing/rtl/rtl-iframe-absolute-overflow.html
10:29 PM Changeset in webkit [145181] by hayato@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium/TestExpectations: fast/js/exception-sequencing-binops2.html
9:51 PM Changeset in webkit [145180] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Unreviewed, rolling out r145166.
http://trac.webkit.org/changeset/145166
https://bugs.webkit.org/show_bug.cgi?id=111819

build break - no symbol
webkit_support::CreateScopedTempDirectory() (Requested by
hayato on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-07

Source/WebCore:

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::IDBBackingStore::IDBBackingStore):
(WebCore::IDBBackingStore::~IDBBackingStore):
(WebCore::IDBBackingStore::open):

  • Modules/indexeddb/IDBBackingStore.h:

(WebCore):
(IDBBackingStore):

  • Modules/indexeddb/IDBFactoryBackendImpl.cpp:

(WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
(WebCore):
(WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
(WebCore::IDBFactoryBackendImpl::openBackingStore):

  • Modules/indexeddb/IDBFactoryBackendImpl.h:

(IDBFactoryBackendImpl):

Source/WebKit/chromium:

  • tests/IDBBackingStoreTest.cpp:

(WebCore::IDBBackingStoreTest::SetUp):
(IDBBackingStoreTest):

  • tests/IDBCleanupOnIOErrorTest.cpp:

(WebCore::TEST):

9:49 PM Changeset in webkit [145179] by commit-queue@webkit.org
  • 6 edits
    1 delete in trunk/Source

Source/ThirdParty: Replace Mersenne Twister RNG with a simple but fast RNG
https://bugs.webkit.org/show_bug.cgi?id=111533

Patch by Andrew Bortz <andrew@abortz.net> on 2013-03-07
Reviewed by Adam Barth.

This code is no longer used.

  • mt19937ar.c: Removed.

Source/WTF: Replace Mersenne Twister random number generator with a simpler one.
https://bugs.webkit.org/show_bug.cgi?id=111533

Patch by Andrew Bortz <andrew@abortz.net> on 2013-03-07
Reviewed by Adam Barth.

The new generator is only a single line long, but passes all the Diehard
statistical tests and runs ~3x faster than the Mersenne Twister, with a
guaranteed cycle length of 264 and only 8 bytes of state.

  • wtf/Platform.h: Mersenne Twister defines are no longer needed
  • wtf/RandomNumber.cpp:

(WTF::Internal::initializeRandomNumber): State initialization
(WTF::Internal::randomNumber): Actual implementation
(WTF::randomNumber): We don't need to fall back on rand()-based generator anymore,
so this code is greatly simplified.

  • wtf/RandomNumber.h:
  • wtf/RandomNumberSeed.h:

(WTF::initializeRandomNumberGenerator): This code is no longer needed.
Additionally, the code had an error, since rand() returns 32-bits, so each
initializationBuffer's upper 16-bits has more bits set than random.

8:48 PM Changeset in webkit [145178] by hayato@chromium.org
  • 2 edits in trunk/LayoutTests

Add Mac WebKit2 test expectations per bugs 111814 and 111815.

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2013-03-07

  • platform/mac-wk2/TestExpectations:
8:31 PM Changeset in webkit [145177] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add Mac WebKit2 test expectations per bugs 111814 and 111815.

  • platform/mac-wk2/TestExpectations:
8:29 PM Changeset in webkit [145176] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add Nils Barth and Koji Hara to committers.py
https://bugs.webkit.org/show_bug.cgi?id=111806

Patch by Nils Barth <nbarth@chromium.org> on 2013-03-07
Reviewed by Eric Seidel.

  • Scripts/webkitpy/common/config/committers.py:
8:25 PM Changeset in webkit [145175] by morrita@google.com
  • 5 edits in trunk

Custom Elements: CustomElement constructor shouldn't share function instance
https://bugs.webkit.org/show_bug.cgi?id=111807

Reviewed by Kentaro Hara.

Source/WebCore:

Adaptor functions of custom elements unintentionally share the instance.
This fix gives new one for each.

Test: Updated fast/dom/custom/document-register-basic.html

  • bindings/v8/V8AdaptorFunction.cpp:

(WebCore::V8AdaptorFunction::wrap):

LayoutTests:

  • fast/dom/custom/document-register-basic-expected.txt:
  • fast/dom/custom/document-register-basic.html:
8:24 PM Changeset in webkit [145174] by hayato@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/win/TestExpectations: Remove duplication of svg/custom/foreign-object-skew.svg.
8:11 PM Changeset in webkit [145173] by glenn@skynav.com
  • 5 edits in trunk/Tools

run-pert-tests should have a --test-runner-count option
https://bugs.webkit.org/show_bug.cgi?id=111726

Reviewed by Ryosuke Niwa.

Add --test-runner-count option to run-perf-tests, with default value of 4.
This option allows command line configuration of the number of times to invoke
the test runner (serially, not in parallel) when running a specific test in
a test set.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest): Add DEFAULT_TEST_RUNNER_COUNT constant.
(PerfTest.init): Rename process_run_count to test_runner_count (throughout).
(PerfTest.run): Rename process_run_count to test_runner_count.
(SingleProcessPerfTest.init): Add test_runner_count optional argument.
(ChromiumStylePerfTest.init): Add test_runner_count optional argument.
(ReplayPerfTest.init): Add test_runner_count optional argument.
(PerfTestFactory.create_perf_test): Add test_runner_count optional argument.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args): Add '--test-runner-count' option.
(PerfTestsRunner._collect_tests): Use test_runner_count when creating PerfTest.

  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:

(MainTest._test_run_with_json_output): Add optional compare_logs argument.
(MainTest.test_run_with_repeat):
(MainTest.test_run_with_test_runner_count): Add new test for test-runner-count option semantics.

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(MainTest.test_default_args): Add test for default option argument values.
(MainTest.test_parse_args): Add test for test-runner-count option parsing.

7:52 PM Changeset in webkit [145172] by commit-queue@webkit.org
  • 6 edits in trunk

Reading border radius from style property returns in wrong order.
https://bugs.webkit.org/show_bug.cgi?id=110853

Source/WebCore:

Patch by Jared Wyles <wyles@adobe.com> on 2013-03-07
Reviewed by Ryosuke Niwa

Updating the order of border-radius to return in the order specified
in http://www.w3.org/TR/css3-background/#the-border-radius

Tests updated in LayoutTests/fast/borders/border-radius-parsing.html
Changed the expectations in LayoutTests/inspector/elements/elements-panel-styles-expected.txt

Compat information -
jQuery's css function favours using getComputedStyle for elements so that should not be impacted.
Zepto does check for the element on style first so may be a slight concern there.

  • css/StylePropertyShorthand.cpp:

(WebCore::borderRadiusShorthand):

LayoutTests:

Patch by Jared Wyles <wyles@adobe.com> on 2013-03-07
Reviewed by Ryosuke Niwa

  • fast/borders/border-radius-parsing-expected.txt:
  • fast/borders/border-radius-parsing.html:
  • inspector/elements/elements-panel-styles-expected.txt:
7:01 PM Changeset in webkit [145171] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION (r143759): 40% JSBench regression, 20% Octane/closure regression, 40% Octane/jquery regression, 2% Octane regression
https://bugs.webkit.org/show_bug.cgi?id=111797

Reviewed by Oliver Hunt.

The bot's testing configuration stresses the cache's starting guess
of 1MB.

This patch removes any starting guess, and just uses wall clock time
to discover the initial working set size of an app, in code size.

  • runtime/CodeCache.cpp:

(JSC::CodeCacheMap::pruneSlowCase): Update our timer as we go.

Also fixed a bug where pruning from 0 to 0 would hang -- that case is
a possibility now that we start with a capacity of 0.

  • runtime/CodeCache.h:

(CodeCacheMap):
(JSC::CodeCacheMap::CodeCacheMap):
(JSC::CodeCacheMap::add):
(JSC::CodeCacheMap::prune): Don't prune if we're in the middle of
discovering the working set size of an app, in code size.

6:29 PM Changeset in webkit [145170] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit/mac

Add didFocusTextField:inFrame to WebFormDelegate
https://bugs.webkit.org/show_bug.cgi?id=111804

Reviewed by Dan Bernstein.

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::focusedNodeChanged):

  • WebView/WebFormDelegate.h:
  • WebView/WebFormDelegate.m:

(-[WebFormDelegate didFocusTextField:inFrame:]):

6:24 PM Changeset in webkit [145169] by akling@apple.com
  • 13 edits in trunk/Source

Resizing Cappuccino is very laggy on WebKit since Safari 5.1
<http://webkit.org/b/71354>
<rdar://problem/10565998>

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in: Export FloatPoint(const NSPoint&)

Source/WebKit2:

On Mac, we already cache the window rect through the WindowAndViewFramesChanged
message, so simply return that in WebChromeClient::windowRect() instead of
sending a synchronous query to the UIProcess.

If a programmatic resize is requested, we bypass the cache until we've received
a new WindowAndViewFramesChanged message. This compromise allows us to return
cached rects in the common case, and handles creating a new window and immediately
resizing it gracefully.

Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than
IntRect/IntPoint to match the ChromeClient::windowRect() return type.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _updateWindowAndViewFrames]):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::windowAndViewFramesChanged):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::windowAndViewFramesChanged):

  • WebProcess/Plugins/PluginView.h:

(PluginView):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::setWindowRect):
(WebKit::WebChromeClient::windowRect):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::sendSetWindowFrame):
(WebKit::WebPage::windowAndViewFramesChanged):

  • WebProcess/WebPage/WebPage.h:

(WebPage):
(WebKit::WebPage::windowFrameInScreenCoordinates):
(WebKit::WebPage::viewFrameInWindowCoordinates):
(WebKit::WebPage::hasCachedWindowFrame):
(WebKit::WebPage::accessibilityPosition):

  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:

(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):

6:08 PM Changeset in webkit [145168] by akling@apple.com
  • 27 edits
    8 deletes in trunk

Remove desktop version of -webkit-text-size-adjust property.
<http://webkit.org/b/56543>
<rdar://problem/9150203>

Reviewed by Simon Fraser.

Source/WebCore:

This property existed to support a number of Apple-internal clients of WebKit.
We no longer need this property, and since it's clashing with a mobile version of the
same property with different meaning, let's remove it altogether from the desktop build.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeLengthDouble):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyLineHeight::applyValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::updateFont):
(WebCore::StyleResolver::applyProperties):
(WebCore::StyleResolver::applyProperty):

  • css/StyleResolver.h:

(StyleResolver):

  • css/svg.css:
  • editing/EditingStyle.cpp:
  • inspector/front-end/inspector.css:

(#console-messages):

  • inspector/front-end/resourcesPanel.css:

(.storage-view.query):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::diff):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):

  • rendering/style/StyleRareInheritedData.h:

(StyleRareInheritedData):

LayoutTests:

  • editing/pasteboard/5078739.html:
  • editing/pasteboard/data-transfer-items-expected.txt:
  • editing/pasteboard/onpaste-text-html-expected.txt:
  • fast/css/font-size-nan.svg:
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:
  • fast/css/ignore-text-zoom.html: Removed.
  • fast/css/text-rendering-priority.html:
  • fast/events/ondrop-text-html-expected.txt:
  • platform/chromium-linux/fast/css/ignore-text-zoom-expected.png: Removed.
  • platform/chromium-mac-lion/fast/css/ignore-text-zoom-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/css/ignore-text-zoom-expected.png: Removed.
  • platform/chromium-mac/fast/css/ignore-text-zoom-expected.png: Removed.
  • platform/chromium-win/fast/css/ignore-text-zoom-expected.png: Removed.
  • platform/chromium-win/fast/css/ignore-text-zoom-expected.txt: Removed.
  • platform/chromium/fast/css/ignore-text-zoom-expected.txt: Removed.
  • platform/efl/fast/css/ignore-text-zoom-expected.png: Removed.
  • platform/efl/fast/css/ignore-text-zoom-expected.txt: Removed.
  • platform/gtk/fast/css/ignore-text-zoom-expected.png: Removed.
  • platform/gtk/fast/css/ignore-text-zoom-expected.txt: Removed.
  • platform/mac/fast/css/ignore-text-zoom-expected.png: Removed.
  • platform/mac/fast/css/ignore-text-zoom-expected.txt: Removed.
  • platform/qt/fast/css/ignore-text-zoom-expected.png: Removed.
  • platform/qt/fast/css/ignore-text-zoom-expected.txt: Removed.
5:47 PM Changeset in webkit [145167] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't try to create a sandbox extension when path is empty
https://bugs.webkit.org/show_bug.cgi?id=111788

Reviewed by Anders Carlsson.

  • Shared/FileAPI/BlobRegistrationData.cpp:

(WebKit::BlobRegistrationData::BlobRegistrationData): Skip File objects with empty
paths to avoid logging an error to console.

5:42 PM Changeset in webkit [145166] by jsbell@chromium.org
  • 8 edits in trunk/Source

IndexedDB: Use WeakPtr for Factory-to-BackingStore reference
https://bugs.webkit.org/show_bug.cgi?id=111459

Reviewed by Adam Barth.

Source/WebCore:

IDBFactoryBackendImpl maintains a map of backing stores - if another database in the same
origin is opened, the backing store instance must be re-used). This was a map to raw
pointers so that the backing store can be collected when all database references are
dropped. The map was maintained manually by passing the factory to the IDBBackingStore which
would add/remove itself on creation/destruction.

Replace this with a HashMap<WeakPtr<>>. This simplifies the plumbing; map entries
"leak" but are purged on subsequent opens.

Added webkit_unit_test (Chromium port) to verify refcounts.

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::IDBBackingStore::IDBBackingStore): No need to notify factory of lifetime.
(WebCore::IDBBackingStore::~IDBBackingStore): Ditto.
(WebCore::IDBBackingStore::open): Ditto.

  • Modules/indexeddb/IDBBackingStore.h: No reference to the factory, but...

(WebCore::IDBBackingStore::createWeakPtr): Do need to expose weak pointers for the factory to hold.

  • Modules/indexeddb/IDBFactoryBackendImpl.cpp:

(WebCore::cleanWeakMap): Helper function to scrub a HashMap<WeakPtr<T>> of empty pointers.
May move to WTF when we've learned how general it is, or come up with a dedicated WeakPtrHashMap type.
(WebCore::IDBFactoryBackendImpl::openBackingStore): WeakPtr fu.

  • Modules/indexeddb/IDBFactoryBackendImpl.h:

(IDBFactoryBackendImpl): Remove plumbing methods.

Source/WebKit/chromium:

Added tests to verify refcounts on backing stores, update method signatures.

  • tests/IDBBackingStoreTest.cpp:

(WebCore::IDBBackingStoreTest::SetUp): No dummy factory needed.
(MockIDBFactoryBackend): Expose protected method to tests.
(WebCore::TEST): Added BackingStoreLifetime test.

  • tests/IDBCleanupOnIOErrorTest.cpp: No dummy factory needed.
5:36 PM Changeset in webkit [145165] by acolwell@chromium.org
  • 2 edits in trunk/LayoutTests

Fix commented out code in LayoutTests/http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
https://bugs.webkit.org/show_bug.cgi?id=111800

Unreviewed.

  • http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html:
5:31 PM Changeset in webkit [145164] by mark.lam@apple.com
  • 5 edits in trunk/Source/WebKit2

WebPageProxy::exceededDatabaseQuota() needs to be serialized.
https://bugs.webkit.org/show_bug.cgi?id=111631.

Reviewed by Geoffrey Garen.

Previously, WebPageProxy::exceededDatabaseQuota() is called synchronously
with script execution in the WebProcess. Hence, it is never called in a
recursive manner.

In webkit2, we can have multiple WebProcesses concurrently triggering a
call to this function. While the function is waiting on feedback from a
UI dialog, the wait loop may re-enter the function to service a second
request to call this function from another WebProcess. This results in
problems where some of the WebProcesses will not get a proper reply, and
therefore hangs perpetually waiting for a non-forthcoming reply.

This changeset changes the function to queue the requests and ensure
that we do not recursively callback to the UI client.

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC::callMemberFunction):

  • UIProcess/WebPageProxy.cpp:

(ExceededDatabaseQuotaRecords):
(Record):
(WebKit::ExceededDatabaseQuotaRecords::areBeingProcessed):
(WebKit::ExceededDatabaseQuotaRecords::ExceededDatabaseQuotaRecords):
(WebKit::ExceededDatabaseQuotaRecords::~ExceededDatabaseQuotaRecords):
(WebKit::ExceededDatabaseQuotaRecords::shared):
(WebKit::ExceededDatabaseQuotaRecords::createRecord):
(WebKit::ExceededDatabaseQuotaRecords::add):
(WebKit::ExceededDatabaseQuotaRecords::next):
(WebKit::WebPageProxy::exceededDatabaseQuota):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
5:31 PM Changeset in webkit [145163] by commit-queue@webkit.org
  • 14 edits in trunk/Source

[BlackBerry] RefCounting ParsedCookie to avoid SegFaults
https://bugs.webkit.org/show_bug.cgi?id=111761

Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-03-07
Reviewed by Rob Buis.

Source/WebCore:

Making necessary changes to ref count the ParsedCookie object.

Tested using the opera cookie test suite and the BB Browser cookie test suite.
Tested using the browser, visiting popular sites such as facebook, reddit, google etc
to ensure cookie functionality isn't changed.

  • loader/blackberry/CookieJarBlackBerry.cpp:

(WebCore::getRawCookies):

  • platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:

(WebCore::CookieDatabaseBackingStore::insert):
(WebCore::CookieDatabaseBackingStore::update):
(WebCore::CookieDatabaseBackingStore::remove):
(WebCore::CookieDatabaseBackingStore::getCookiesFromDatabase):
(WebCore::CookieDatabaseBackingStore::invokeGetCookiesWithLimit):
(WebCore::CookieDatabaseBackingStore::invokeSendChangesToDatabase):
(WebCore::CookieDatabaseBackingStore::addToChangeQueue):

  • platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:

(CookieDatabaseBackingStore):

  • platform/blackberry/CookieManager.cpp:

(WebCore::cookieSorter):
(WebCore::CookieManager::setCookies):
(WebCore::CookieManager::getCookie):
(WebCore::CookieManager::generateHtmlFragmentForCookies):
(WebCore::CookieManager::getRawCookies):
(WebCore::CookieManager::checkAndTreatCookie):
(WebCore::CookieManager::addCookieToMap):
(WebCore::CookieManager::getBackingStoreCookies):
(WebCore::CookieManager::findOrCreateCookieMap):
(WebCore::CookieManager::removeCookieWithName):
(WebCore::CookieManager::cookieLimitCleanUp):

  • platform/blackberry/CookieManager.h:
  • platform/blackberry/CookieMap.cpp:

(WebCore::CookieMap::addOrReplaceCookie):
(WebCore::CookieMap::removeCookieAtIndex):
(WebCore::CookieMap::removeCookie):
(WebCore::CookieMap::getAllCookies):
(WebCore::CookieMap::removeOldestCookie):
(WebCore::CookieMap::deleteAllCookiesAndDomains):
(WebCore::CookieMap::getAllChildCookies):

  • platform/blackberry/CookieMap.h:

(CookieMap):

  • platform/blackberry/CookieParser.cpp:

(WebCore):
(WebCore::CookieParser::parse):
(WebCore::CookieParser::parseOneCookie):

  • platform/blackberry/CookieParser.h:

(CookieParser):

  • platform/blackberry/ParsedCookie.cpp:
  • platform/blackberry/ParsedCookie.h:

(ParsedCookie):
(WebCore::ParsedCookie::create):

Source/WebKit/blackberry:

Making necessary changes to ref-count the ParsedCookie object.

  • Api/WebCookieJar.cpp:

(BlackBerry::WebKit::WebCookieJar::cookies):

5:12 PM Changeset in webkit [145162] by acolwell@chromium.org
  • 7 edits
    3 adds in trunk

Heap-use-after-free in WebCore::HTMLMediaElement::~HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=110623

Reviewed by Kentaro Hara.

Source/WebCore:

Test: http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html

  • bindings/v8/V8GCController.cpp: Fix MinorGCWrapperVisitor so it doesn't collect ActiveDOMObjects

that have pending activity.

  • html/HTMLAudioElement.h:

(HTMLAudioElement): Removed hasPendingActivity() now that this is handled by the base class.

  • html/HTMLAudioElement.idl: Removed ActiveDOMObject annotation since HTMLMediaElement now has it.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::hasPendingActivity): Update implementation to return true if the media

has audio and is playing. This brings the code into
compliance with the detached element behavior outlined
in the HTML5 spec.

  • html/HTMLMediaElement.idl: Added ActiveDOMObject annotation so that all derived classes are

considered ActiveDOMObjects.

LayoutTests:

  • http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal-expected.txt: Added.
  • http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html: Added.
  • http/tests/misc/resources/delete-frame-during-readystatechange-frame-with-gc-after-video-removal.html: Added.
5:10 PM Changeset in webkit [145161] by jpfau@apple.com
  • 7 edits in trunk/Source

CFNetwork cache partitioning does not work properly on subdomains
https://bugs.webkit.org/show_bug.cgi?id=111772

Reviewed by David Kilzer.

Source/WebCore:

Ensure that the cache partitioning is done over the top privately-controlled domain for the NSURLRequest.

Not possible to test with current automated test tools, must be tested manually.

  • loader/cache/MemoryCache.cpp: Remove extraneous calls to partitionName

(WebCore):
(WebCore::MemoryCache::add):
(WebCore::MemoryCache::revalidationSucceeded):
(WebCore::MemoryCache::resourceForRequest):
(WebCore::MemoryCache::evict):
(WebCore::MemoryCache::removeResourcesWithOrigin):

  • platform/network/cf/ResourceRequest.h: Put top privately-controlled domain reduction code into ResourceRequest::partitionName

(ResourceRequest):
(WebCore::ResourceRequest::cachePartition):
(WebCore::ResourceRequest::setCachePartition): Pre-process the partition name

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore):
(WebCore::ResourceRequest::partitionName):

  • platform/network/mac/ResourceRequestMac.mm:

(WebCore::ResourceRequest::doUpdatePlatformRequest): Use a UTF-8 version of the cache partition name

Source/WebKit2:

Ensure that the CFString is UTF-8 so that WKCFURLCacheCopyAllHostNamesInPersistentStoreForPartition will always work.

  • WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:

(WebKit::partitionName): Create a UTF-8 CFString explicitly

5:06 PM Changeset in webkit [145160] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Roll out an accidentally committed change I made for local testing.

  • http/tests/misc/empty-file-formdata.html:
5:06 PM Changeset in webkit [145159] by kbr@google.com
  • 2 edits in trunk/Source/WebCore

Compute WebGL context attributes from DrawingBuffer when it is used
https://bugs.webkit.org/show_bug.cgi?id=111666

Reviewed by James Robinson.

Fixed computation of antialias flag when DrawingBuffer is used.

No new tests; covered by existing tests. Ran WebGL conformance
tests on desktop Linux and Android to test.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::getContextAttributes):

Query DrawingBuffer, when used, for antialias flag.

4:59 PM Changeset in webkit [145158] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add myself to reviewers.py
https://bugs.webkit.org/show_bug.cgi?id=111757

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-03-07
Reviewed by Eric Seidel.

  • Scripts/webkitpy/common/config/committers.py:
4:59 PM Changeset in webkit [145157] by rafaelw@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium/TestExpectations: fast/events/before-unload-adopt-subframe-to-outside.html
4:57 PM Changeset in webkit [145156] by Beth Dakin
  • 11 edits in trunk/Source

Need API to draw custom overhang area
https://bugs.webkit.org/show_bug.cgi?id=111679
-and corresponding-
<rdar://problem/13291415>

Reviewed by Simon Fraser.

Source/WebCore:

This will allow clients to put custom images into the top or bottom overhang area.

New FrameView API takes a bool indicating whether the client wants a top/bottom
overhang layer. If the bool is true, the overhang layer will be returned.

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::setWantsLayerForTopOverHangArea):
(WebCore::FrameView::setWantsLayerForBottomOverHangArea):

  • page/FrameView.h:

(FrameView):

Keep member variables for the top and bottom overhang layers. Create them if
necessary, and update them if the root layer changes.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
(WebCore::RenderLayerCompositor::reportMemoryUsage):

  • rendering/RenderLayerCompositor.h:

(RenderLayerCompositor):

Source/WebKit2:

The new API is WKBundlePageSetTopOverhangImage() and
WKBundlePageSetBottomOverhangImage(). When the API is called, WebPage will get
GraphicsLayers for the appropriate area from FrameView, and then set the image as
the contents of the layer.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageSetTopOverhangImage):
(WKBundlePageSetBottomOverhangImage):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::setTopOverhangImage):
(WebKit):
(WebKit::WebPage::setBottomOverhangImage):

4:54 PM Changeset in webkit [145155] by rafaelw@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium-linux/compositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.
  • platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-paint-phases-expected.txt: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.
4:53 PM Changeset in webkit [145154] by barraclough@apple.com
  • 4 edits in trunk/Source

Reduce page cache size on Mac
https://bugs.webkit.org/show_bug.cgi?id=111795

Rubber stamped by Geoff Garen

5 entries is unnecessarily large; research show 3 should suffice.
On a low memory warning we should clear this completely.

Source/WebCore:

  • platform/mac/MemoryPressureHandlerMac.mm:

(WebCore::MemoryPressureHandler::releaseMemory):

  • clear the page cache completely

Source/WebKit2:

  • Shared/CacheModel.cpp:

(WebKit::calculateCacheSizes):

  • reduce maximum to 3.
4:44 PM Changeset in webkit [145153] by li.yin@intel.com
  • 3 edits in trunk/LayoutTests

Adding id attribute test for MediaStream
https://bugs.webkit.org/show_bug.cgi?id=111526

Reviewed by Kentaro Hara.

Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#widl-MediaStream-id
The id strings must only use characters in the ranges U+0021, U+0023 to U+0027,
U+002A to U+002B, U+002D to U+002E, U+0030 to U+0039, U+0041 to U+005A,
U+005E to U+007E, and must be 36 characters long.

  • fast/mediastream/MediaStreamConstructor-expected.txt:
  • fast/mediastream/MediaStreamConstructor.html:
4:38 PM Changeset in webkit [145152] by glenn@skynav.com
  • 4 edits in trunk/Tools

run-perf-tests should have a --repeat option
https://bugs.webkit.org/show_bug.cgi?id=100030

Reviewed by Ryosuke Niwa.

Add --repeat option to run-perf-tests, with default value of 1. When greater
than 1, runs test set specified number of times. Note that multiple runs are
not aggregated for statistical purposes.

Incidentally fixed typo: s/suceeds/succeeds/.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args): Add repeat option.
(PerfTestsRunner.run): Add outer repeat loop.
(PerfTestsRunner._generate_results): Split from original _generate_and_show_results.
(PerfTestsRunner._upload_and_show_results): Split from original _generate_and_show_results.

  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:

(MainTest._test_run_with_json_output): Add repeat optional argument for generating expected logs. Fix typo.
(MainTest._test_run_with_json_output.mock_upload_json): Fix typo.
(MainTest.test_run_with_json_output): Fix typo.
(MainTest.test_run_with_description): Fix typo.
(MainTest.test_run_respects_no_results): Fix typo.
(MainTest.test_run_with_slave_config_json): Fix typo.
(MainTest.test_run_with_multiple_repositories): Fix typo.
(MainTest.test_run_with_upload_json): Fix typo.
(MainTest.test_run_with_upload_json_should_generate_perf_webkit_json): Fix typo.
(MainTest.test_run_with_repeat): Added new test for repeat count semantics.

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(MainTest.test_parse_args): Add test for repeat option parsing.

4:26 PM Changeset in webkit [145151] by dino@apple.com
  • 2 edits in trunk/LayoutTests

border-fit should happen at layout time rather than paint time
https://bugs.webkit.org/show_bug.cgi?id=111606

Unreviewed. Skipping some broken tests.

  • platform/mac/TestExpectations:
4:19 PM Changeset in webkit [145150] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Crash when updating predictions below JSC::arrayProtoFuncForEach on tuaw.com article
https://bugs.webkit.org/show_bug.cgi?id=111777

Reviewed by Filip Pizlo.

Moved register allocations to be above any generated control flow so that any
resulting spill would be visible to all subsequently generated code.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compile):

3:54 PM Changeset in webkit [145149] by Lucas Forschler
  • 5 edits in branches/safari-534.59-branch/Source

Versioning.

3:54 PM Changeset in webkit [145148] by Simon Fraser
  • 14 edits
    4 moves in trunk/Source/WebCore

Rename Mac's TileCache to TileController, and WebTileCacheLayer to WebTiledBackingLayer
https://bugs.webkit.org/show_bug.cgi?id=111779

Reviewed by Tim Horton.

"TileCache" was a name conflict in downstream code, so rename it to TileController.
The layer that has a TileController is now a WebTiledBackingLayer (which fits with
the TiledBacking API that TileController exposes).

Also renamed the flags in PlatformCALayer to match.

Rename only, no behavior change.

  • WebCore.xcodeproj/project.pbxproj:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::shouldUseTiledBacking):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
(WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
(WebCore::GraphicsLayerCA::updateVisibleRect):
(WebCore::GraphicsLayerCA::getDebugBorderInfo):
(WebCore::GraphicsLayerCA::requiresTiledLayer):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayer.h:

(WebCore::PlatformCALayer::usesTiledBackingLayer):

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayer::PlatformCALayer):
(PlatformCALayer::~PlatformCALayer):
(PlatformCALayer::tiledBacking):

  • platform/graphics/ca/mac/TileController.h: Renamed from Source/WebCore/platform/graphics/ca/mac/TileCache.h.
  • platform/graphics/ca/mac/WebTileLayer.h:

(TileController):

  • platform/graphics/ca/mac/WebTileLayer.mm:

(-[WebTileLayer drawInContext:]):
(-[WebTileLayer setTileController:WebCore::]):
(-[WebTileLayer logFilledFreshTile]):

  • platform/graphics/ca/mac/WebTiledBackingLayer.h: Renamed from Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.h.
  • platform/graphics/ca/mac/WebTiledBackingLayer.mm: Renamed from Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.mm.
  • platform/graphics/mac/WebLayer.mm:

(drawLayerContents):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::shouldUseTiledBacking):
(WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):

  • rendering/RenderLayerBacking.h:

(WebCore::RenderLayerBacking::usingTiledBacking):
(RenderLayerBacking):
(WebCore::RenderLayerBacking::hasTiledBackingFlatteningLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::frameViewDidLayout):
(WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged):
(WebCore::RenderLayerCompositor::supportsFixedRootBackgroundCompositing):

3:52 PM Changeset in webkit [145147] by Lucas Forschler
  • 1 copy in tags/Safari-534.59.1

New Tag.

3:48 PM Changeset in webkit [145146] by jparent@chromium.org
  • 2 edits in trunk/Tools

showAllRuns checkbox no longer works on the stats dashboard
https://bugs.webkit.org/show_bug.cgi?id=111673

Reviewed by Ojan Vafai.

Stats dashboard does not have any DB_SPECIFIC_INVALIDATING_PARAMETERS,
so we were trying to index into an undefined object.

  • TestResultServer/static-dashboards/dashboard_base.js:

(invalidateQueryParameters):

3:45 PM Changeset in webkit [145145] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk

DFG should not get corrupted IR in the case of code that is dead, unreachable, and contains a chain of nodes that use each other in an untyped way
https://bugs.webkit.org/show_bug.cgi?id=111783

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Unreachable code is not touched by CFA and so thinks that even untyped uses are checked.
But dead untyped uses don't need checks and hence don't need to be Phantom'd. The DCE knew
this in findTypeCheckRoot() but not in eliminateIrrelevantPhantomChildren(), leading to a
Phantom node that had another Phantom node as one of its kids.

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::eliminateIrrelevantPhantomChildren):

LayoutTests:

Reviewed by Mark Hahnenberg.

  • fast/js/dfg-dead-unreachable-code-with-chain-of-dead-unchecked-nodes-expected.txt: Added.
  • fast/js/dfg-dead-unreachable-code-with-chain-of-dead-unchecked-nodes.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-dead-unreachable-code-with-chain-of-dead-unchecked-nodes.js: Added.

(foo.bar):
(foo):

3:42 PM Changeset in webkit [145144] by pilgrim@chromium.org
  • 2 edits in trunk/Tools

[Chromium] Update #include for WebStorageNamespace.h
https://bugs.webkit.org/show_bug.cgi?id=111748

Reviewed by Adam Barth.

In anticipation of removing
WK/chromium/public/WebStorageNamespace.h (once downstream
references have been updated)

  • DumpRenderTree/chromium/WebViewHost.cpp:
3:11 PM Changeset in webkit [145143] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

The DFG fixpoint is not strictly profitable, and should be straight-lined
https://bugs.webkit.org/show_bug.cgi?id=111764

Reviewed by Oliver Hunt and Geoffrey Garen.

The DFG previously ran optimizations to fixpoint because there exists a circular dependency:

CSE depends on CFG simplification: CFG simplification merges blocks, and CSE is block-local.

CFG simplification depends on CFA and constant folding: constant folding reveals branches on
constants.

CFA depends on CSE: CSE reveals must-alias relationships by proving that two operations
always produce identical values.

Arguments simplification also depends on CSE, but it ought not depend on anything else.

Hence we get a cycle like: CFA -> folding -> CFG -> CSE -> CFA.

Note that before we had sparse conditional CFA, we also had CFA depending on CFG. This ought
not be the case anymore: CFG simplification should not by itself lead to better CFA results.

My guess is that the weakest link in this cycle is CFG -> CSE. CSE cuts both ways: if you
CSE too much then you increase register pressure. Hence it's not clear that you always want
to CSE after simplifying control flow. This leads to an order of optimization as follows:

CSE -> arguments -> CFA -> folding -> CFG

This is a 2.5% speed-up on SunSpider, a 4% speed-up on V8Spider, a possible 0.3% slow-down
on V8v7, nothing on Kraken, and 1.2% speed-up in the JSRegress geomean. I'll take a 2.5%
speed-up over a 0.3% V8v7 speed-up.

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

2:52 PM Changeset in webkit [145142] by ap@apple.com
  • 5 edits
    5 adds in trunk

FormData should allow setting filename to empty
https://bugs.webkit.org/show_bug.cgi?id=111687

Reviewed by Brady Eidson.

Tests: http/tests/local/formdata/send-form-data-with-empty-blob-filename.html

http/tests/local/formdata/send-form-data-with-empty-file-filename.html

  • platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems): Missing value is a null string. If the string is empty, we should treat is as authoritative.
2:40 PM Changeset in webkit [145141] by dpranke@chromium.org
  • 8 edits in trunk/Tools

run-perf-tests fails due to svn_revision not working on a pure git clone
https://bugs.webkit.org/show_bug.cgi?id=110839

Reviewed by Ryosuke Niwa.

Previously we would call git svn find-rev to look up the commit for
a given revision, and that'll hang in a pure git checkout.

This patch changes the way we look up svn revisions in a git
repository to use git log --grep 'git-svn-id', which is much faster
than grepping ourselves. It also renames timestamp_of_latest_commit()
to timestamp_of_revision() in order to accurately reflect what
the method is doing. Note that this patch only changes the logic
inside latest_revision() and svn_revision(). I'll file a separate
bug to change git_commit_from_svn_revision().

This patch also contains some fixes to unit tests that had bit-rotted
or were otherwise fragile, so that test-webkitpy --all would pass
cleanly, and a fix to outputcapture so that
test-webkitpy -p would work correctly again.

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.svn_revision):
(Git.timestamp_of_revision):

  • Scripts/webkitpy/common/checkout/scm/scm.py:

(SCM.svn_revision):
(SCM.timestamp_of_revision):

  • Scripts/webkitpy/common/checkout/scm/scm_mock.py:

(MockSCM.timestamp_of_revision):

  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:

(_shared_test_commit_with_message):
(test_commit_without_authorization):
(test_timestamp_of_revision):

  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVN.timestamp_of_revision):

  • Scripts/webkitpy/common/system/outputcapture.py: Importing unittest2 directly may not be safe if this module is imported before the autoinstaller gets a chance to set things up properly. We don't actually need unittest2 here.
  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._generate_results_dict):

2:37 PM Changeset in webkit [145140] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening AppleWin port.

  • platform/win/TestExpectations:
2:33 PM Changeset in webkit [145139] by hyatt@apple.com
  • 5 edits in trunk

REGRESSION: fast/border/border-fit-2.html needs updating
https://bugs.webkit.org/show_bug.cgi?id=111776

Reviewed by Simon Fraser.

Source/WebCore:

This test is incorrectly shrinking the border image now.
We need to apply some clamping to the border-fit like the
old code did. The pixel results *are* still changing though,
since a layout-time shrinkage will not result in right-aligned
boxes in an LTR block when the left edge gets chopped. We'll
have to see if this behavioral change ends up being a problem,
but for now we'll rebaseline and assume it will be ok.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::fitBorderToLinesIfNeeded):

LayoutTests:

  • platform/mac/fast/borders/border-fit-2-expected.png:
  • platform/mac/fast/borders/border-fit-2-expected.txt:
2:32 PM Changeset in webkit [145138] by Lucas Forschler
  • 4 edits in branches/safari-536.29-branch/Source

Versioning.

2:31 PM Changeset in webkit [145137] by Lucas Forschler
  • 1 copy in tags/Safari-536.29.5

New Tag.

2:21 PM Changeset in webkit [145136] by Antoine Quint
  • 5 edits
    2 adds in trunk

Web Inspector: provide reasons why a layer was composited in the LayerTreeAgent
https://bugs.webkit.org/show_bug.cgi?id=111703

Source/WebCore:

Introduce a new LayerTree.reasonsForCompositingLayer(layerId) method which returns
the list of reasons why the provided layer was composited as an object with an
optional property for each possible reason. The RenderLayerCompositor already knows
how to provide this information via its own reasonsForCompositing() method, and we
process the returned bitmask to populate the object sent to the front-end.

Reviewed by Timothy Hatcher.

Test: inspector-protocol/layers/layers-compositing-reasons.html

  • inspector/Inspector.json:
  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
(WebCore):

  • inspector/InspectorLayerTreeAgent.h:

(InspectorLayerTreeAgent):

LayoutTests:

New test for LayerTree.reasonsForCompositingLayer(layerId).

Reviewed by Timothy Hatcher.

  • inspector-protocol/layers/layers-compositing-reasons-expected.txt: Added.
  • inspector-protocol/layers/layers-compositing-reasons.html: Added.
2:13 PM Changeset in webkit [145135] by rafaelw@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium/TestExpectations: http/tests/security/cross-origin-css.html
2:07 PM Changeset in webkit [145134] by rafaelw@chromium.org
  • 2 edits
    1 move in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium-mac/fast/repaint/border-fit-lines-expected.txt: Renamed from LayoutTests/platform/chromium/fast/repaint/border-fit-lines-expected.txt.
  • platform/chromium-win/fast/repaint/border-fit-lines-expected.txt:
2:02 PM Changeset in webkit [145133] by andersca@apple.com
  • 9 edits in trunk/Source

Add a didFocusTextField callback to the injected bundle form client
https://bugs.webkit.org/show_bug.cgi?id=111771

Reviewed by Andreas Kling.

Source/WebCore:

Export a symbol needed by WebKit2.

  • WebCore.exp.in:

Source/WebKit2:

Add a new client callback that's invoked whenever a text input field is focused.

  • Shared/APIClientTraits.cpp:

(WebKit):

  • Shared/APIClientTraits.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:

(WebKit::InjectedBundlePageFormClient::didFocusTextField):
(WebKit):

  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:

(InjectedBundlePageFormClient):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::focusedNodeChanged):

2:01 PM Changeset in webkit [145132] by rafaelw@chromium.org
  • 2 edits
    2 moves
    2 deletes in trunk/LayoutTests

Unreviewed gardening.

  • fast/borders/border-fit-expected.txt: Renamed from LayoutTests/platform/chromium/fast/borders/border-fit-expected.txt.
  • platform/chromium-mac/fast/borders/border-fit-expected.txt: Renamed from LayoutTests/platform/mac/fast/borders/border-fit-expected.txt.
  • platform/chromium-win/fast/borders/border-fit-expected.txt:
  • platform/efl/fast/borders/border-fit-expected.txt: Removed.
  • platform/gtk/fast/borders/border-fit-expected.txt: Removed.
1:53 PM Changeset in webkit [145131] by jamesr@google.com
  • 6 edits in trunk/Source

[chromium] Stop using WebTransformationMatrix on WebLayer
https://bugs.webkit.org/show_bug.cgi?id=111635

Reviewed by Adrienne Walker.

Source/Platform:

WebLayer supports setting transforms by using either SkMatrix44 or WebTransformationMatrix,
both of which are wrappers around 16 doubles. There's no need to have both.

  • chromium/public/WebLayer.h:

(WebKit):
(WebLayer):

Source/WebCore:

Switches over to the SkMatrix44 transform setters.

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::transformToSkMatrix44):

Utility for convering a WebCore::TransformationMatrix to an SkMatrix44.
Will move to a more common location once it gets more callers.

(WebCore::GraphicsLayerChromium::updateTransform):
(WebCore::GraphicsLayerChromium::updateChildrenTransform):

Source/WebKit/chromium:

  • src/LinkHighlight.cpp:

(WebKit::LinkHighlight::computeEnclosingCompositingLayer):

  • tests/GraphicsLayerChromiumTest.cpp:

(GraphicsLayerChromiumTest):

1:50 PM Changeset in webkit [145130] by Christophe Dumez
  • 6 edits in trunk

[EFL] Bump libsoup dependency to 2.40.3 to fix regressions
https://bugs.webkit.org/show_bug.cgi?id=111756

Reviewed by Kenneth Rohde Christiansen.

.:

Update libsoup required version to v2.40.3 for EFL port.

  • Source/cmake/OptionsEfl.cmake:

Tools:

Bump libsoup to v2.40.3 to fix the regressions introduced by
previous v2.40.0 bump.

  • efl/jhbuild.modules:

LayoutTests:

Unskip several tests that are passing after the libsoup dependency
bump to 2.40.3.

  • platform/efl/TestExpectations:
1:40 PM Changeset in webkit [145129] by roger_fong@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Build fix for AppleWin VS2010.

1:29 PM Changeset in webkit [145128] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Re-enable Win EWS tests.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(WinEWS):

1:27 PM Changeset in webkit [145127] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] allow iOS to use CaptionUserPreferencesMac
https://bugs.webkit.org/show_bug.cgi?id=111770

Reviewed by Dean Jackson.

No new tests, covered by existing tests.

  • page/CaptionUserPreferencesMac.h:
  • page/CaptionUserPreferencesMac.mm:

(WebCore::userCaptionPreferencesChangedNotificationCallback): Respond to notifications on

the web thread.

1:24 PM Changeset in webkit [145126] by mkwst@chromium.org
  • 5 edits in trunk/Source/WebCore

Move side-effects on hover/active state out of hit-testing
https://bugs.webkit.org/show_bug.cgi?id=98168

Reviewed by Julien Chaffraix.

Original patch by Allan Sandfeld Jensen; I'm just tweaking things.

Document::updateHoverActiveState is currently called during hit testing
to update the hover and active states of elements effected by mouse
movements (or their keyboard equivalents). This conflates the hit test
algorithm itself with side-effects associated with specific use-cases.

This conflation makes it very difficult to reuse the hover/active logic
for things other than hit testing. 'mouseenter'/'mouseleave' events[1]
are one example of a feature that would be simple to implement on top of
this existing logic if we split it out from the hit testing path, and
instead call it explicitly when necessary. An explicit split between
hit testing and its side-effects will also enable us to simplify the
logic in future patches with well-named parameters, rather than relying
on stuffing properties into HitTestRequest.

This patch drops the call to Document::updateHoverActiveState from
RenderView::hitTest, and adjusts the three call-sites in EventHandler
to explicitly call out to it rather than Document::updateStyleIfNeeded.
The latter call is still necessary but has been folded into
updateHoverActiveState, as the former is never called without calling
the latter.

[1]: http://wkbug.com/18930

  • dom/Document.h:
  • dom/Document.cpp:

(WebCore::Document::updateHoverActiveState):

First, this function must now only be called from contexts that were
performing a read/write hit-test: the code asserts this
precondition.

Second, rather than accepting a HitTestResult, the function accepts
an Element* from which to begin the hover/active chain changes.

Third, we have to explicitly update the hover/active states for
documents between the updated element and the top-level document.
The hit-testing logic was taking care of this for us, now we need to
take care of it ourselves.

Fourth, call out to updateStyleIfNeeded rather than making our
caller do so. The calls were always paired; now that's explicit.

(WebCore::Document::prepareMouseEvent):

  • page/EventHandler.cpp:

(WebCore::EventHandler::hitTestResultAtPoint):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::hoverTimerFired):

Call out to updateHoverActiveState rather than updateStyleIfNeeded.

  • rendering/RenderView.cpp:

(WebCore::RenderView::hitTest):

Drop the call to updateHoverActiveState.

1:18 PM Changeset in webkit [145125] by pilgrim@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[Chromium] Update some #includes for WebMessagePortChannel.h
https://bugs.webkit.org/show_bug.cgi?id=111752

Reviewed by James Robinson.

In anticipation of removing
WK/chromium/public/WebMessagePortChannel.h (once all downstream
references have been updated)

  • public/WebDOMMessageEvent.h:
  • public/WebFrame.h:
  • public/WebSharedWorkerClient.h:
1:08 PM Changeset in webkit [145124] by rafaelw@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium/compositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.
  • platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-paint-phases-expected.txt: Added.
  • platform/chromium/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.
12:59 PM Changeset in webkit [145123] by commit-queue@webkit.org
  • 5 edits
    5 deletes in trunk

Unreviewed, rolling out r145097.
http://trac.webkit.org/changeset/145097
https://bugs.webkit.org/show_bug.cgi?id=111765

Triggers an ASSERT in the Chromium port (Requested by abarth
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-07

Source/WebCore:

  • html/FileInputType.cpp:

(WebCore::FileInputType::appendFormData):

  • platform/network/FormData.cpp:

(WebCore::FormData::appendKeyValuePairItems):

LayoutTests:

  • http/tests/local/formdata/send-form-data-with-empty-blob-filename-expected.txt: Removed.
  • http/tests/local/formdata/send-form-data-with-empty-blob-filename.html: Removed.
  • http/tests/local/formdata/send-form-data-with-empty-file-filename-expected.txt: Removed.
  • http/tests/local/formdata/send-form-data-with-empty-file-filename.html: Removed.
  • http/tests/xmlhttprequest/resources/multipart-post-echo-filenames.php: Removed.
  • platform/wk2/TestExpectations:
12:58 PM Changeset in webkit [145122] by dpranke@chromium.org
  • 2 edits
    1 add in trunk/Tools

[nrwt] handle corrupt http server pid files cleanly
https://bugs.webkit.org/show_bug.cgi?id=111628

Reviewed by Eric Seidel.

If the pid file from a previous http server is corrupt for some
reason, NRWT will just raise errors and not clean it up or recover.
This patch fixes that to at least delete the pid file and
not throw; not that we may still have stale http servers left on
the system, since there's no way to know which pid to kill if
the file was corrupted.

  • Scripts/webkitpy/layout_tests/servers/http_server_base.py:

(HttpServerBase.start):
(HttpServerBase.stop):
(HttpServerBase._remove_pid_file):

  • Scripts/webkitpy/layout_tests/servers/http_server_base_unittest.py: Added.

(TestHttpServerBase):
(TestHttpServerBase.test_corrupt_pid_file):

12:55 PM Changeset in webkit [145121] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Prevent text selection inside Colour and Date/Time input fields
https://bugs.webkit.org/show_bug.cgi?id=111733

Reviewed by Rob Buis.

PR 305194.

Prevent selection for popup input fields as they are buttons.

Informally Reviewed Gen Mak.

  • WebCoreSupport/EditorClientBlackBerry.cpp:

(WebCore::EditorClientBlackBerry::shouldChangeSelectedRange):

12:49 PM Changeset in webkit [145120] by Lucas Forschler
  • 2 edits in branches/safari-536.29-branch/Source/WebCore

Merged r145013. <rdar://problem/13370880>

12:43 PM Changeset in webkit [145119] by mhahnenberg@apple.com
  • 20 edits
    4 adds in trunk/Source/JavaScriptCore

Objective-C API: Need a good way to reference event handlers without causing cycles
https://bugs.webkit.org/show_bug.cgi?id=111088

Reviewed by Geoffrey Garen.

JSManagedValue is like a special kind of weak value. When you create a JSManagedValue, you can
supply an Objective-C object as its "owner". As long as the Objective-C owner object remains
alive and its wrapper remains accessible to the JSC garbage collector (e.g. by being marked by
the global object), the reference to the JavaScript value is strong. As soon as the Objective-C
owner is deallocated or its wrapper becomes inaccessible to the garbage collector, the reference
becomes weak.

If you do not supply an owner or you use the weakValueWithValue: convenience class method, the
returned JSManagedValue behaves as a normal weak reference.

This new class allows clients to maintain references to JavaScript values in the Objective-C
heap without creating reference cycles/leaking memory.

  • API/JSAPIWrapperObject.cpp: Added.

(JSC):
(JSC::::createStructure):
(JSC::JSAPIWrapperObject::JSAPIWrapperObject): This is a special JSObject for the Objective-C API that knows
for the purposes of garbage collection/marking that it wraps an opaque Objective-C object.
(JSC::JSAPIWrapperObject::visitChildren): We add the pointer to the wrapped Objective-C object to the set of
opaque roots so that the weak handle owner for JSManagedValues can find it later.

  • API/JSAPIWrapperObject.h: Added.

(JSC):
(JSAPIWrapperObject):
(JSC::JSAPIWrapperObject::wrappedObject):
(JSC::JSAPIWrapperObject::setWrappedObject):

  • API/JSBase.cpp:

(JSSynchronousGarbageCollect):

  • API/JSBasePrivate.h:
  • API/JSCallbackObject.cpp:

(JSC):

  • API/JSCallbackObject.h:

(JSC::JSCallbackObject::destroy): Moved this to the header so that we don't get link errors with JSAPIWrapperObject.

  • API/JSContext.mm:

(-[JSContext initWithVirtualMachine:]): We weren't adding manually allocated/initialized JSVirtualMachine objects to
the global cache of virtual machines. The init methods handle this now rather than contextWithGlobalContextRef, since
not everyone is guaranteed to use the latter.
(-[JSContext initWithGlobalContextRef:]):
(+[JSContext contextWithGlobalContextRef:]):

  • API/JSManagedValue.h: Added.
  • API/JSManagedValue.mm: Added.

(JSManagedValueHandleOwner):
(managedValueHandleOwner):
(+[JSManagedValue weakValueWithValue:]):
(+[JSManagedValue managedValueWithValue:owner:]):
(-[JSManagedValue init]): We explicitly call the ARC entrypoints to initialize/get the weak owner field since we don't
use ARC when building our framework.
(-[JSManagedValue initWithValue:]):
(-[JSManagedValue initWithValue:owner:]):
(-[JSManagedValue dealloc]):
(-[JSManagedValue value]):
(-[JSManagedValue weakOwner]):
(JSManagedValueHandleOwner::isReachableFromOpaqueRoots): If the Objective-C owner is still alive (i.e. loading the weak field
returns non-nil) and that value was added to the set of opaque roots by the wrapper for that Objective-C owner, then the the
JSObject to which the JSManagedObject refers is still alive.

  • API/JSObjectRef.cpp: We have to add explicit checks for the JSAPIWrapperObject, just like the other types of JSCallbackObjects.

(JSObjectGetPrivate):
(JSObjectSetPrivate):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):

  • API/JSValue.mm:

(objectToValueWithoutCopy):

  • API/JSValueRef.cpp:

(JSValueIsObjectOfClass):

  • API/JSVirtualMachine.mm:

(-[JSVirtualMachine initWithContextGroupRef:]):
(+[JSVirtualMachine virtualMachineWithContextGroupRef:]):

  • API/JSWrapperMap.mm:

(wrapperFinalize):
(makeWrapper): This is our own internal version of JSObjectMake which creates JSAPIWrapperObjects, the Obj-C API
version of JSCallbackObjects.
(createObjectWithCustomBrand):
(-[JSObjCClassInfo wrapperForObject:]):
(tryUnwrapObjcObject):

  • API/JavaScriptCore.h:
  • API/tests/testapi.mm: Added new tests for the strong and weak uses of JSManagedValue in the context of an

onclick handler for an Objective-C object inserted into a JSContext.
(-[TextXYZ setWeakOnclick:]):
(-[TextXYZ setOnclick:]):
(-[TextXYZ weakOnclick]):
(-[TextXYZ onclick]):
(-[TextXYZ click]):

  • CMakeLists.txt: Various build system additions.
  • GNUmakefile.list.am:
  • JavaScriptCore.gypi:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • runtime/JSGlobalObject.cpp: Added the new canonical Structure for the JSAPIWrapperObject class.

(JSC::JSGlobalObject::reset):
(JSC):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSGlobalObject):
(JSC::JSGlobalObject::objcWrapperObjectStructure):

12:18 PM Changeset in webkit [145118] by wangxianzhu@chromium.org
  • 26 edits
    2 copies in branches/chromium/1410

Merge 144350

Focus ring for a child layer is incorrectly offset by ancestor composited layer's position
https://bugs.webkit.org/show_bug.cgi?id=110895

Reviewed by Simon Fraser.

Source/WebCore:

Test: compositing/sub-layer-focus-ring.html

The problem occurs in RenderBlock::addFocusRingRects() where the absolute position of a sub-layer is used to calculate the focus ring rect of the layer.
Should use the relative position to the current paintContainer instead.

To fix the issue:

  • RenderLayer passes LayerPaintingInfo.rootLayer to PaintInfo.paintContainer
  • Let RenderObject::paintFocusRing() and RenderObject::paintOutline() take PaintInfo instead of GraphicsContext* so that the paintContainer can be passed
  • RenderBlock::addFocusRingRects() uses localToContainerPoint(FloatPoint(), paintContainer) instead of localToAbsolute() to calculate the focus ring rect of a sublayer.
  • rendering/PaintInfo.h:

(WebCore):
(WebCore::PaintInfo::PaintInfo): Add a field paintContainer (the RenderLayerModelObject which originates the current painting)
(PaintInfo):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::RenderBlock::addFocusRingRects): Use the added paintContainer parameter to calculate the relative offset of the child layer.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintBackgroundForFragments): Pass LayerPaintingInfo.rootLayer to PaintInfo.paintContainer.
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase): Ditto.
(WebCore::RenderLayer::paintOutlineForFragments): Ditto.
(WebCore::RenderLayer::paintMaskForFragments): Ditto.

  • rendering/RenderLayer.cpp:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::paintFocusRing): Now takes PaintInfo instead of GraphicsContext*. Pass paintInfo.paintContainer to addFocusRingRects().
(WebCore::RenderObject::paintOutline): Now takes PaintInfo instead of GraphicsContext*.
(WebCore::RenderObject::absoluteFocusRingQuads):

  • rendering/RenderObject.h:

(WebCore::RenderObject::addFocusRingRects): Add paintContainer parameter.

LayoutTests:

New ref test for the bug.

  • compositing/sub-layer-focus-ring-expected.html: Added.
  • compositing/sub-layer-focus-ring.html: Added.

TBR=wangxianzhu@chromium.org
Review URL: https://codereview.chromium.org/12641003

12:08 PM Changeset in webkit [145117] by ojan@chromium.org
  • 3 edits in trunk/LayoutTests

Image rebaselines after r145104.

  • platform/chromium-mac/fast/table/border-collapsing/cached-change-row-border-width-expected.png:
  • platform/chromium-mac/fast/table/border-collapsing/cached-change-tbody-border-width-expected.png:
12:04 PM Changeset in webkit [145116] by Chris Fleizach
  • 7 edits
    2 adds in trunk

AX: Can't activate links with VoiceOver in Safari
https://bugs.webkit.org/show_bug.cgi?id=111755

Reviewed by Tim Horton.

Source/WebCore:

VoiceOver is relying on the press action being the first action in the list. We changed
that order inadvertently recently, which confuses VoiceOver.

Test: platform/mac/accessibility/press-action-is-first.html

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityActionNames]):

Tools:

  • DumpRenderTree/AccessibilityUIElement.cpp:

(supportedActionsCallback):
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/AccessibilityUIElement.h:

(AccessibilityUIElement):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::supportedActions):

LayoutTests:

  • platform/mac/accessibility/press-action-is-first-expected.txt: Added.
  • platform/mac/accessibility/press-action-is-first.html: Added.
12:03 PM Changeset in webkit [145115] by rafaelw@chromium.org
  • 208 edits in trunk

Unreviewed, rolling out r145083.
http://trac.webkit.org/changeset/145083
https://bugs.webkit.org/show_bug.cgi?id=110733

caused lots crashes in http/tests/security/xssAuditor/* tests

Source/WebCore:

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::XSSAuditor):
(WebCore::XSSAuditor::init):
(WebCore::XSSAuditor::filterToken):

  • html/parser/XSSAuditor.h:
  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::didBlockScript):

  • html/parser/XSSAuditorDelegate.h:

(WebCore::XSSInfo::create):
(XSSInfo):
(WebCore::XSSInfo::XSSInfo):

LayoutTests:

  • fast/frames/xss-auditor-handles-file-urls-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt:
  • http/tests/security/xssAuditor/base-href-control-char-expected.txt:
  • http/tests/security/xssAuditor/base-href-expected.txt:
  • http/tests/security/xssAuditor/base-href-null-char-expected.txt:
  • http/tests/security/xssAuditor/base-href-scheme-relative-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
  • http/tests/security/xssAuditor/cached-frame-expected.txt:
  • http/tests/security/xssAuditor/cookie-injection-expected.txt:
  • http/tests/security/xssAuditor/dom-write-URL-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-javascript-URL-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-code-attribute-2-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-code-attribute-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-control-char-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-null-char-expected.txt:
  • http/tests/security/xssAuditor/form-action-expected.txt:
  • http/tests/security/xssAuditor/formaction-on-button-expected.txt:
  • http/tests/security/xssAuditor/formaction-on-input-expected.txt:
  • http/tests/security/xssAuditor/full-block-base-href-expected.txt:
  • http/tests/security/xssAuditor/full-block-get-from-iframe-expected.txt:
  • http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt:
  • http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
  • http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
  • http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-post-from-iframe-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
  • http/tests/security/xssAuditor/get-from-iframe-expected.txt:
  • http/tests/security/xssAuditor/iframe-injection-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt:
  • http/tests/security/xssAuditor/iframe-onload-GBK-char-expected.txt:
  • http/tests/security/xssAuditor/iframe-onload-in-svg-tag-expected.txt:
  • http/tests/security/xssAuditor/iframe-srcdoc-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-GBK-char-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-accented-char-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-expected.txt:
  • http/tests/security/xssAuditor/inline-event-HTML-entities-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-named-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-ampersand-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-control-char-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-null-char-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-one-plus-one-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-url-encoded-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-control-char-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-entities-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-null-char-expected.txt:
  • http/tests/security/xssAuditor/link-opens-new-window-expected.txt:
  • http/tests/security/xssAuditor/malformed-HTML-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-1-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-2-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-3-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-4-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-5-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-6-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-7-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-8-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-9-expected.txt:
  • http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt:
  • http/tests/security/xssAuditor/object-embed-tag-expected.txt:
  • http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt:
  • http/tests/security/xssAuditor/object-tag-expected.txt:
  • http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/open-attribute-body-expected.txt:
  • http/tests/security/xssAuditor/open-event-handler-iframe-expected.txt:
  • http/tests/security/xssAuditor/open-iframe-src-01-expected.txt:
  • http/tests/security/xssAuditor/open-iframe-src-02-expected.txt:
  • http/tests/security/xssAuditor/open-iframe-src-03-expected.txt:
  • http/tests/security/xssAuditor/open-script-src-01-expected.txt:
  • http/tests/security/xssAuditor/open-script-src-02-expected.txt:
  • http/tests/security/xssAuditor/open-script-src-03-expected.txt:
  • http/tests/security/xssAuditor/open-script-src-04-expected.txt:
  • http/tests/security/xssAuditor/post-from-iframe-expected.txt:
  • http/tests/security/xssAuditor/property-escape-comment-01-expected.txt:
  • http/tests/security/xssAuditor/property-escape-comment-02-expected.txt:
  • http/tests/security/xssAuditor/property-escape-comment-03-expected.txt:
  • http/tests/security/xssAuditor/property-escape-entity-01-expected.txt:
  • http/tests/security/xssAuditor/property-escape-entity-02-expected.txt:
  • http/tests/security/xssAuditor/property-escape-entity-03-expected.txt:
  • http/tests/security/xssAuditor/property-escape-expected.txt:
  • http/tests/security/xssAuditor/property-escape-long-expected.txt:
  • http/tests/security/xssAuditor/property-escape-quote-01-expected.txt:
  • http/tests/security/xssAuditor/property-escape-quote-02-expected.txt:
  • http/tests/security/xssAuditor/property-escape-quote-03-expected.txt:
  • http/tests/security/xssAuditor/report-script-tag-expected.txt:
  • http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt:
  • http/tests/security/xssAuditor/script-tag-Big5-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-Big5-char2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-addslashes-backslash-expected.txt:
  • http/tests/security/xssAuditor/script-tag-addslashes-double-quote-expected.txt:
  • http/tests/security/xssAuditor/script-tag-addslashes-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-addslashes-single-quote-expected.txt:
  • http/tests/security/xssAuditor/script-tag-control-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-convoluted-expected.txt:
  • http/tests/security/xssAuditor/script-tag-entities-expected.txt:
  • http/tests/security/xssAuditor/script-tag-expected.txt:
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag-expected.txt:
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag3-expected.txt:
  • http/tests/security/xssAuditor/script-tag-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-open-redirect-expected.txt:
  • http/tests/security/xssAuditor/script-tag-post-control-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-post-expected.txt:
  • http/tests/security/xssAuditor/script-tag-post-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-redirect-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode3-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode4-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-actual-comma-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-comma-02-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-fancy-unicode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-double-quote-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-no-quote-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-relative-scheme-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-01-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-02-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-03-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment3-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment4-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment5-expected.txt:
  • http/tests/security/xssAuditor/svg-animate-expected.txt:
  • http/tests/security/xssAuditor/svg-script-tag-expected.txt:
  • http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt:
  • http/tests/security/xssAuditor/xss-filter-bypass-long-string-expected.txt:
  • http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-01-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-02-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
  • platform/chromium/http/tests/security/xssAuditor/javascript-link-control-char2-expected.txt:
12:00 PM Changeset in webkit [145114] by Michelangelo De Simone
  • 4 edits
    4 adds in trunk

[CSS Shaders] Implement hue and saturation non-separable blend modes
https://bugs.webkit.org/show_bug.cgi?id=109464

Source/WebCore:

Added the following GLSL helper functions to the CustomFilterValidatedProgram:

  • css_Sat(C): returns the saturation for the color C
  • css_SetSat(C, s): sets the saturation s on the color C
  • css_SetSatHelper(Cmin, Cmid, Cmax, s): helper function for css_SetSat

The above functions are being used for the "hue" and "saturation" non-separable
blend modes, the relevant spec for such modes is at URL:
https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blendingnonseparable

Reviewed by Dean Jackson.

Tests: css3/filters/custom/custom-filter-nonseparable-blend-mode-hue.html

css3/filters/custom/custom-filter-nonseparable-blend-mode-saturation.html

  • platform/graphics/filters/CustomFilterValidatedProgram.cpp:

(WebCore::CustomFilterValidatedProgram::blendFunctionString):

LayoutTests:

Added relevant tests for the "hue" and "saturation" non-separable blend modes.
These tests are currently skipped on Mac due to a slight color difference; please see relevant bug: http://webkit.org/b/107487.

Reviewed by Dean Jackson.

  • css3/filters/custom/custom-filter-nonseparable-blend-mode-hue-expected.html: Added.
  • css3/filters/custom/custom-filter-nonseparable-blend-mode-hue.html: Added.
  • css3/filters/custom/custom-filter-nonseparable-blend-mode-saturation-expected.html: Added.
  • css3/filters/custom/custom-filter-nonseparable-blend-mode-saturation.html: Added.
  • platform/mac/TestExpectations:
11:53 AM Changeset in webkit [145113] by rafaelw@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium-mac/fast/borders/border-radius-with-box-shadow-01-expected.png: Added.
  • platform/chromium-win/fast/borders/border-radius-with-box-shadow-01-expected.png: Added.
11:43 AM Changeset in webkit [145112] by wangxianzhu@chromium.org
  • 26 edits
    2 deletes in branches/chromium/1410

Revert 145087

Merge 144350

Focus ring for a child layer is incorrectly offset by ancestor composited layer's position
https://bugs.webkit.org/show_bug.cgi?id=110895

Reviewed by Simon Fraser.

Source/WebCore:

Test: compositing/sub-layer-focus-ring.html

The problem occurs in RenderBlock::addFocusRingRects() where the absolute position of a sub-layer is used to calculate the focus ring rect of the layer.
Should use the relative position to the current paintContainer instead.

To fix the issue:

  • RenderLayer passes LayerPaintingInfo.rootLayer to PaintInfo.paintContainer
  • Let RenderObject::paintFocusRing() and RenderObject::paintOutline() take PaintInfo instead of GraphicsContext* so that the paintContainer can be passed
  • RenderBlock::addFocusRingRects() uses localToContainerPoint(FloatPoint(), paintContainer) instead of localToAbsolute() to calculate the focus ring rect of a sublayer.
  • rendering/PaintInfo.h:

(WebCore):
(WebCore::PaintInfo::PaintInfo): Add a field paintContainer (the RenderLayerModelObject which originates the current painting)
(PaintInfo):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::RenderBlock::addFocusRingRects): Use the added paintContainer parameter to calculate the relative offset of the child layer.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintBackgroundForFragments): Pass LayerPaintingInfo.rootLayer to PaintInfo.paintContainer.
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase): Ditto.
(WebCore::RenderLayer::paintOutlineForFragments): Ditto.
(WebCore::RenderLayer::paintMaskForFragments): Ditto.

  • rendering/RenderLayer.cpp:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::paintFocusRing): Now takes PaintInfo instead of GraphicsContext*. Pass paintInfo.paintContainer to addFocusRingRects().
(WebCore::RenderObject::paintOutline): Now takes PaintInfo instead of GraphicsContext*.
(WebCore::RenderObject::absoluteFocusRingQuads):

  • rendering/RenderObject.h:

(WebCore::RenderObject::addFocusRingRects): Add paintContainer parameter.

LayoutTests:

New ref test for the bug.

  • compositing/sub-layer-focus-ring-expected.html: Added.
  • compositing/sub-layer-focus-ring.html: Added.

TBR=wangxianzhu@chromium.org
Review URL: https://codereview.chromium.org/12616003

TBR=wangxianzhu@chromium.org
Review URL: https://codereview.chromium.org/12545020

11:40 AM Changeset in webkit [145111] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

IndexedDB: Make test behavior deterministic in multiprocess ports
https://bugs.webkit.org/show_bug.cgi?id=111643

Reviewed by Tony Chang.

Root cause is documented in wkbug.com/111642 but as a stop-gap - ensure
that this test doesn't fail flakily in multiprocess ports by moving the
last part of the test out of a limbo zone.

  • storage/indexeddb/resources/index-multientry.js: Run subsequent part of

test in open's "success" handler rather than transaction's "complete" handler.

11:20 AM Changeset in webkit [145110] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Windows debug layout tests are crashing like crazy again.
Disable tests on Win EWS bots temporarily.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(WinEWS):

11:18 AM Changeset in webkit [145109] by pilgrim@chromium.org
  • 1 edit
    1 delete in trunk/Source/WebKit/chromium

[Chromium] Remove WK/chromium/public/WebStorageArea.h
https://bugs.webkit.org/show_bug.cgi?id=111744

Reviewed by James Robinson.

File moved to new Platform/ directory. All references have already
been updated (including downstream).

  • public/WebStorageArea.h: Removed.
11:13 AM Changeset in webkit [145108] by pilgrim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Update some #includes for WebFileInfo.h in WK/chromium/src/
https://bugs.webkit.org/show_bug.cgi?id=111741

Reviewed by James Robinson.

In preparation for removing WK/chromium/public/WebFileInfo.h.

  • src/AssertMatchingEnums.cpp:
11:07 AM Changeset in webkit [145107] by roger_fong@apple.com
  • 3 edits in trunk/Tools

Make EWS bots build and test in release.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(WinEWS):

  • Scripts/webkitpy/tool/steps/runtests.py:

(RunTests.run):

11:03 AM Changeset in webkit [145106] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [ACE] set correct font
https://bugs.webkit.org/show_bug.cgi?id=111747

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Pavel Feldman.

No new tests.

Set class "source-code" for the ace editor element.

  • inspector/front-end/AceTextEditor.js:

(WebInspector.AceTextEditor):

11:03 AM Changeset in webkit [145105] by kov@webkit.org
  • 10 edits
    14 moves
    30 adds
    29 deletes in releases/WebKitGTK/webkit-2.0

Merge 145081 - [GTK] Enable translations for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=111398

Patch by Gustavo Noronha Silva <gns@gnome.org> on 2013-03-07.
Reviewed by Martin Robinson.

  • GNUmakefile.am: adjust path for i18n GNUmakefile.am.
  • configure.ac: generate the i18n makefile unconditionally, the translations are

used by both WebKitGTK+ and WebKit2GTK+.

Source/WebCore:

  • GNUmakefile.am: distribute po files.
  • platform/gtk/po/POTFILES.in: adjust paths for translatable files.

Source/WebCore/platform/gtk/po:

  • GNUmakefile.am: Renamed from Source/WebKit/gtk/po/GNUmakefile.am.
  • POTFILES.in: Renamed from Source/WebKit/gtk/po/POTFILES.in.
  • README: Renamed from Source/WebKit/gtk/po/README.
  • ar.po: Renamed from Source/WebKit/gtk/po/ar.po.
  • as.po: Renamed from Source/WebKit/gtk/po/as.po.
  • bg.po: Renamed from Source/WebKit/gtk/po/bg.po.
  • cs.po: Renamed from Source/WebKit/gtk/po/cs.po.
  • de.po: Renamed from Source/WebKit/gtk/po/de.po.
  • el.po: Renamed from Source/WebKit/gtk/po/el.po.
  • en_CA.po: Renamed from Source/WebKit/gtk/po/en_CA.po.
  • en_GB.po: Renamed from Source/WebKit/gtk/po/en_GB.po.
  • eo.po: Renamed from Source/WebKit/gtk/po/eo.po.
  • es.po: Renamed from Source/WebKit/gtk/po/es.po.
  • et.po: Renamed from Source/WebKit/gtk/po/et.po.
  • eu.po: Renamed from Source/WebKit/gtk/po/eu.po.
  • fr.po: Renamed from Source/WebKit/gtk/po/fr.po.
  • gl.po: Renamed from Source/WebKit/gtk/po/gl.po.
  • gu.po: Renamed from Source/WebKit/gtk/po/gu.po.
  • he.po: Renamed from Source/WebKit/gtk/po/he.po.
  • hi.po: Renamed from Source/WebKit/gtk/po/hi.po.
  • hu.po: Renamed from Source/WebKit/gtk/po/hu.po.
  • id.po: Renamed from Source/WebKit/gtk/po/id.po.
  • it.po: Renamed from Source/WebKit/gtk/po/it.po.
  • ko.po: Renamed from Source/WebKit/gtk/po/ko.po.
  • lt.po: Renamed from Source/WebKit/gtk/po/lt.po.
  • lv.po: Renamed from Source/WebKit/gtk/po/lv.po.
  • mr.po: Renamed from Source/WebKit/gtk/po/mr.po.
  • nb.po: Renamed from Source/WebKit/gtk/po/nb.po.
  • nl.po: Renamed from Source/WebKit/gtk/po/nl.po.
  • pa.po: Renamed from Source/WebKit/gtk/po/pa.po.
  • pl.po: Renamed from Source/WebKit/gtk/po/pl.po.
  • pt.po: Renamed from Source/WebKit/gtk/po/pt.po.
  • pt_BR.po: Renamed from Source/WebKit/gtk/po/pt_BR.po.
  • ro.po: Renamed from Source/WebKit/gtk/po/ro.po.
  • ru.po: Renamed from Source/WebKit/gtk/po/ru.po.
  • sl.po: Renamed from Source/WebKit/gtk/po/sl.po.
  • sr.po: Renamed from Source/WebKit/gtk/po/sr.po.
  • sr@latin.po: Renamed from Source/WebKit/gtk/po/sr@latin.po.
  • sv.po: Renamed from Source/WebKit/gtk/po/sv.po.
  • uk.po: Renamed from Source/WebKit/gtk/po/uk.po.
  • vi.po: Renamed from Source/WebKit/gtk/po/vi.po.
  • zh_CN.po: Renamed from Source/WebKit/gtk/po/zh_CN.po.

Source/WebKit2:

  • GNUmakefile.am: define PACKAGE_LOCALE_DIR when building WebProcess's main module.
  • WebProcess/gtk/WebProcessMainGtk.cpp:

(WebKit::WebProcessMainGtk): register the i18n domain name, and prefer UTF-8, since
we're GTK+; at the moment we're just using the same name as WebKitGTK+, pro: the
translation module can be reused, con: you can't have different versions of
WebKitGTK+ and WebKit2GTK+ installed, because the module would not be fit for reuse
in that case.

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::childSetupFunction): do not set LC_ALL environment variable explicitly,
the child process will already inherit the environment of the parent, which should
have all the variables set properly.

Conflicts:

configure.ac

11:02 AM WebKitGTK/2.0.x edited by kov@webkit.org
(diff)
10:59 AM Changeset in webkit [145104] by ojan@chromium.org
  • 7 edits in trunk

Recalculate borders at the beginning of table layout
https://bugs.webkit.org/show_bug.cgi?id=111634

Reviewed by Julien Chaffraix.

Source/WebCore:

Doing it in convertStyleLogicalWidthToComputedWidth missed some dynamic
relayout cases. I confirmed that the new results match the results we
would get if we set the border width initially instead of dynamically.

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
(WebCore::RenderTable::layout):

LayoutTests:

  • fast/table/border-collapsing/cached-change-row-border-width-expected.png:
  • fast/table/border-collapsing/cached-change-row-border-width-expected.txt:
  • fast/table/border-collapsing/cached-change-tbody-border-width-expected.png:
  • fast/table/border-collapsing/cached-change-tbody-border-width-expected.txt:
10:57 AM Changeset in webkit [145103] by rafaelw@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium/TestExpectations: http/tests/css/shared-stylesheet-mutation-preconstruct.html
10:47 AM Changeset in webkit [145102] by pilgrim@chromium.org
  • 1 edit
    1 delete in trunk/Source/WebKit/chromium

[Chromium] Remove WK/chromium/public/WebWorkerRunLoop.h
https://bugs.webkit.org/show_bug.cgi?id=111740

Reviewed by James Robinson.

No longer needed; all references have been updated to new version
in top-level Platform/ directory.

  • public/WebWorkerRunLoop.h: Removed.
10:45 AM Changeset in webkit [145101] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled Chromium DEPS to r186592. Requested by
"Dana Jansens" <danakj@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-07

  • DEPS:
10:41 AM Changeset in webkit [145100] by hyatt@apple.com
  • 6 edits
    2 adds in trunk

Source/WebCore: border-fit-adjust should happen at layout time rather than paint time
https://bugs.webkit.org/show_bug.cgi?id=111606
<rdar://problem/13101714>

Reviewed by Antti Koivisto.

In order for border-fit-adjust to be accurate in more cases, it needs
to be a layout-time adjustment rather than a paint-time adjustment.
Specifically there are cases where an LTR adjusted box was right-aligned
by its container, and without genuinely shrinking the size of the box,
we end up chopping off the right edge but not shifting the box to the
right to compensate.

This patch changes border-fit-adjust to now do the adjustment using
the override width mechanism and a second layout pass instead of just
hacking painting.

Test: fast/block/border-fit-with-right-alignment.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutBlock):
Calls fitBorderToLinesIfNeeded at the end of layout to do a second
layout pass if the adjustment needs to be made.

(WebCore::RenderBlock::fitBorderToLinesIfNeeded):
Renamed borderFitAdjust to fitBorderToLinesIfNeeded and made it
non-virtual, since it's no longer called from RenderBox code. Changed it
to do a relayout using override widths if an adjustment is needed.

  • rendering/RenderBlock.h:

(RenderBlock):
Renamed borderFitAdjust to fitBorderToLinesIfNeeded and made it
non-virtual.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::paintMask):
Removed the paint-time border-fit adjustment.

(WebCore::RenderBox::computeLogicalWidthInRegion):
Use the override width when border-fit is set to lines.

  • rendering/RenderBox.h:

(RenderBox):
Remove the virtual borderFitAdjust method.

LayoutTests: border-fit should happen at layout time rather than paint time
https://bugs.webkit.org/show_bug.cgi?id=111606
<rdar://problem/13101714>

Reviewed by Antti Koivisto.

  • fast/block/border-fit-with-right-alignment-expected.html: Added.
  • fast/block/border-fit-with-right-alignment.html: Added.
10:37 AM Changeset in webkit [145099] by pilgrim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Update some #includes for WebVideoFrame.h
https://bugs.webkit.org/show_bug.cgi?id=111739

Reviewed by James Robinson.

In anticipation of removing WebVideoFrame.h from WK/chromium/public/.

  • public/WebMediaPlayer.h:
10:35 AM Changeset in webkit [145098] by allan.jensen@digia.com
  • 7 edits
    2 adds in trunk

REGRESSION(r143727): Clicking / selecting inside an <embed> is broken
https://bugs.webkit.org/show_bug.cgi?id=111217

Reviewed by Julien Chaffraix.

Source/WebCore:

Hit-testing into child frames need to happen in RenderPart, otherwise
we will miss frame views in <embed> and <object> elements.

Test: fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html

  • rendering/RenderFrameBase.cpp:
  • rendering/RenderFrameBase.h:

(RenderFrameBase):

  • rendering/RenderPart.cpp:

(WebCore::RenderPart::nodeAtPoint):

  • rendering/RenderPart.h:

(RenderPart):

LayoutTests:

Test rect and point based hit-testing inside embed and object child frames.

  • fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content-expected.txt: Added.
  • fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html: Added.
  • fast/dom/nodesFromRect/resources/nodesFromRect.js:

(checkPoint):

10:25 AM Changeset in webkit [145097] by ap@apple.com
  • 5 edits
    5 adds in trunk

FormData should allow setting filename to empty
https://bugs.webkit.org/show_bug.cgi?id=111687

Reviewed by Brady Eidson.

Tests: http/tests/local/formdata/send-form-data-with-empty-blob-filename.html

http/tests/local/formdata/send-form-data-with-empty-file-filename.html

  • html/FileInputType.cpp: (WebCore::FileInputType::appendFormData): Use a Blob for empty file input, not a hacky File with empty path.
  • platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems): Missing value is a null string. If the string is empty, we should treat is as authoritative.
10:23 AM Changeset in webkit [145096] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Null-check the page overlay before trying to use it.

Reviewed by Simon Fraser.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::scroll):

10:17 AM Changeset in webkit [145095] by dino@apple.com
  • 2 edits in trunk/LayoutTests

inspector/debugger/debugger-expand-scope.html sometimes fails on Apple MountainLion Release WK1 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=111754

Skipping this test so that Mac EWS can catch up.

  • platform/mac/TestExpectations:
10:15 AM Changeset in webkit [145094] by beidson@apple.com
  • 2 edits in branches/safari-534.59-branch/Source/WebKit2

<rdar://problem/13368674> - Bogus MESSAGE_CHECK in WebPageProxy::unavailablePluginButtonClicked

Rubberstamped by Alexey Proskuryakov.

I also checked all of my recent merges to make sure I didn't include any other MESSAGE_CHECKs in
lieu of MESSAGE_CHECK_URL.

I didn't.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::unavailablePluginButtonClicked):

10:12 AM Changeset in webkit [145093] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [CodeMirror] dublicated horizontal scroll
https://bugs.webkit.org/show_bug.cgi?id=111712

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Pavel Feldman.

Set a box-sizing css property on all codemirror elements to
"content-box".

No new tests.

  • inspector/front-end/cm/cmdevtools.css:

(.CodeMirror *):

10:03 AM Changeset in webkit [145092] by dino@apple.com
  • 2 edits in trunk/LayoutTests

Chromium, mac-wk2 and mac need new baselines after fixing paint phases for composited scrolling.
https://bugs.webkit.org/show_bug.cgi?id=107952

New baseline for Mac.

  • platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
9:58 AM Changeset in webkit [145091] by danakj@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Remove WebView's sharedGraphicsContext3D method.
https://bugs.webkit.org/show_bug.cgi?id=111499

Reviewed by James Robinson.

  • public/WebView.h:

(WebView):

  • src/WebViewImpl.cpp:
  • src/WebViewImpl.h:

(WebViewImpl):

9:39 AM Changeset in webkit [145090] by acolwell@chromium.org
  • 14 edits in trunk/LayoutTests

Remove GC code duplication in http/tests LayoutTests.
https://bugs.webkit.org/show_bug.cgi?id=111589

Reviewed by Kentaro Hara, Alexey Proskuryakov.

Replaced duplicated GC logic in various tests with a function call to the implementation
in /js-test-resources/js-test-pre.js

  • http/tests/appcache/destroyed-frame.html:
  • http/tests/media/media-source/video-media-source-sourcebufferlist-crash.html:
  • http/tests/misc/async-script.html:
  • http/tests/misc/embed-image-load-outlives-gc-without-crashing.html:
  • http/tests/misc/image-input-type-outlives-gc-without-crashing.html:
  • http/tests/misc/image-load-outlives-gc-without-crashing.html:
  • http/tests/misc/javascript-url-stop-loaders.html:
  • http/tests/misc/object-image-load-outlives-gc-without-crashing.html:
  • http/tests/misc/svg-image-load-outlives-gc-without-crashing.html:
  • http/tests/misc/video-poster-image-load-outlives-gc-without-crashing.html:
  • http/tests/security/detached-sandboxed-frame-access.html:
  • http/tests/websocket/tests/hybi/websocket-pending-activity.html:
  • http/tests/xmlhttprequest/event-listener-gc.html:
9:28 AM Changeset in webkit [145089] by vsevik@chromium.org
  • 5 edits in branches/chromium/1410

Merge 144463

Web Inspector: [Regression] Snippets renaming is broken.
https://bugs.webkit.org/show_bug.cgi?id=111181

Reviewed by Alexander Pavlov.

Source/WebCore:

  • inspector/front-end/NavigatorView.js:
  • inspector/front-end/ScriptSnippetModel.js:
  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.set _fileRenamed):

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype.rename):

LayoutTests:

  • inspector/debugger/script-snippet-model.html:

TBR=vsevik@chromium.org
BUG=179368
Review URL: https://codereview.chromium.org/12622003

9:23 AM Changeset in webkit [145088] by vsevik@chromium.org
  • 1 edit in branches/chromium/1410/Source/WebCore/inspector/front-end/CPUProfileView.js

Merge 143438

Web Inspector: [Regression] Search in ProfilesPanel is broken
https://bugs.webkit.org/show_bug.cgi?id=110312

Reviewed by Pavel Feldman.

  • inspector/front-end/CPUProfileView.js:

(WebInspector.CPUProfileView.prototype.matchesQuery):
(WebInspector.CPUProfileView.prototype.performSearch):

TBR=vsevik@chromium.org
BUG=179316
Review URL: https://codereview.chromium.org/12626002

9:19 AM Changeset in webkit [145087] by wangxianzhu@chromium.org
  • 26 edits
    2 copies in branches/chromium/1410

Merge 144350

Focus ring for a child layer is incorrectly offset by ancestor composited layer's position
https://bugs.webkit.org/show_bug.cgi?id=110895

Reviewed by Simon Fraser.

Source/WebCore:

Test: compositing/sub-layer-focus-ring.html

The problem occurs in RenderBlock::addFocusRingRects() where the absolute position of a sub-layer is used to calculate the focus ring rect of the layer.
Should use the relative position to the current paintContainer instead.

To fix the issue:

  • RenderLayer passes LayerPaintingInfo.rootLayer to PaintInfo.paintContainer
  • Let RenderObject::paintFocusRing() and RenderObject::paintOutline() take PaintInfo instead of GraphicsContext* so that the paintContainer can be passed
  • RenderBlock::addFocusRingRects() uses localToContainerPoint(FloatPoint(), paintContainer) instead of localToAbsolute() to calculate the focus ring rect of a sublayer.
  • rendering/PaintInfo.h:

(WebCore):
(WebCore::PaintInfo::PaintInfo): Add a field paintContainer (the RenderLayerModelObject which originates the current painting)
(PaintInfo):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::RenderBlock::addFocusRingRects): Use the added paintContainer parameter to calculate the relative offset of the child layer.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintBackgroundForFragments): Pass LayerPaintingInfo.rootLayer to PaintInfo.paintContainer.
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase): Ditto.
(WebCore::RenderLayer::paintOutlineForFragments): Ditto.
(WebCore::RenderLayer::paintMaskForFragments): Ditto.

  • rendering/RenderLayer.cpp:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::paintFocusRing): Now takes PaintInfo instead of GraphicsContext*. Pass paintInfo.paintContainer to addFocusRingRects().
(WebCore::RenderObject::paintOutline): Now takes PaintInfo instead of GraphicsContext*.
(WebCore::RenderObject::absoluteFocusRingQuads):

  • rendering/RenderObject.h:

(WebCore::RenderObject::addFocusRingRects): Add paintContainer parameter.

LayoutTests:

New ref test for the bug.

  • compositing/sub-layer-focus-ring-expected.html: Added.
  • compositing/sub-layer-focus-ring.html: Added.

TBR=wangxianzhu@chromium.org
Review URL: https://codereview.chromium.org/12616003

9:15 AM Changeset in webkit [145086] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Styles sidebar pane toolbar disappears in horizontal split mode.
https://bugs.webkit.org/show_bug.cgi?id=111735

Reviewed by Pavel Feldman.

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel.prototype._splitVertically):

  • inspector/front-end/elementsPanel.css:

(.sidebar-pane.composite .metrics-and-computed .sidebar-pane-toolbar):

9:11 AM Changeset in webkit [145085] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/qt

[Qt] QWebSettings::clearMemoryCaches should clear JS garbage
https://bugs.webkit.org/show_bug.cgi?id=111094

Patch by Arunprasad Rajkumar <arunprasadr@nds.com> on 2013-03-07
Reviewed by Jocelyn Turcotte.

  • Api/qwebsettings.cpp:

(QWebSettings::clearMemoryCaches):

8:58 AM Changeset in webkit [145084] by zandobersek@gmail.com
  • 10 edits in trunk

[GTK] Limit the supported compilers to GCC >= 4.7 and Clang >= 3.0
https://bugs.webkit.org/show_bug.cgi?id=109932

Patch by Zan Dobersek <zdobersek@igalia.com> on 2013-03-07
Reviewed by Martin Robinson.

.:

  • Source/autotools/CheckSystemAndBasicDependencies.m4: Strictly check for one of the two compilers.
  • Source/autotools/SetupCompilerFlags.m4: Set up C++11-specific compiler flags. Force the C99 standard for the C code.

Use the -Qunused-arguments flag when using Clang, it reduces irrelevant errors when using ccache.

Source/WebCore:

  • GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.

They are now available by default due to the limited set of supported compilers.

  • bindings/gobject/GNUmakefile.am: Ditto.

Source/WebKit/gtk:

  • GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.

They are now available by default due to the limited set of supported compilers.

Source/WebKit2:

  • GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.

They are now available by default due to the limited set of supported compilers.

8:39 AM Changeset in webkit [145083] by mkwst@chromium.org
  • 208 edits in trunk

XSSAuditor should send only one console error when blocking a page.
https://bugs.webkit.org/show_bug.cgi?id=110733

Reviewed by Daniel Bates.

Source/WebCore:

Currently, we send two console errors when XSSAuditor blocks a page:
"Refused to execute a JavaScript script. Source code of script found
within request.\n", and "Entire page will be blocked.".

We should only send one message, tuning it properly for the context, and
including the URL of the page effected by the XSSAuditor's work.

Covered by rebaselines of all the XSSAuditor and 'reflected-xss' tests.

  • html/parser/XSSAuditor.cpp:
  • html/parser/XSSAuditor.h:

(WebCore::XSSAuditor::XSSAuditor):

Add two booleans to track the headers used to set the XSSAuditor state.

(WebCore::XSSAuditor::init):

Save a copy of the document's URL even if we're not generating a
report upon violation: we'll need it for the console messages. Also
populate the didSendValidXXXHeader booleans for use later.

(WebCore::XSSAuditor::filterToken):

Add detail about the header status to the constructed XSSInfo object.

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::buildConsoleError):

Move message construction out into a separate inlined function, as
it's becoming complex.

(WebCore::XSSAuditorDelegate::didBlockScript):

Fold the "Entire page will be blocked" message into the main console
error.

  • html/parser/XSSAuditorDelegate.h:

(WebCore::XSSInfo::create):
(WebCore::XSSInfo::XSSInfo):

Add detail about header status to XSSInfo in order to correctly
construct the console error.

LayoutTests:

  • fast/frames/xss-auditor-handles-file-urls-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt:
  • http/tests/security/xssAuditor/base-href-control-char-expected.txt:
  • http/tests/security/xssAuditor/base-href-expected.txt:
  • http/tests/security/xssAuditor/base-href-null-char-expected.txt:
  • http/tests/security/xssAuditor/base-href-scheme-relative-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
  • http/tests/security/xssAuditor/cached-frame-expected.txt:
  • http/tests/security/xssAuditor/cookie-injection-expected.txt:
  • http/tests/security/xssAuditor/dom-write-URL-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-javascript-URL-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-code-attribute-2-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-code-attribute-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-control-char-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-null-char-expected.txt:
  • http/tests/security/xssAuditor/formaction-on-button-expected.txt:
  • http/tests/security/xssAuditor/formaction-on-input-expected.txt:
  • http/tests/security/xssAuditor/form-action-expected.txt:
  • http/tests/security/xssAuditor/full-block-base-href-expected.txt:
  • http/tests/security/xssAuditor/full-block-get-from-iframe-expected.txt:
  • http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt:
  • http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
  • http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
  • http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-post-from-iframe-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
  • http/tests/security/xssAuditor/get-from-iframe-expected.txt:
  • http/tests/security/xssAuditor/iframe-injection-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt:
  • http/tests/security/xssAuditor/iframe-onload-GBK-char-expected.txt:
  • http/tests/security/xssAuditor/iframe-onload-in-svg-tag-expected.txt:
  • http/tests/security/xssAuditor/iframe-srcdoc-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-GBK-char-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-accented-char-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-expected.txt:
  • http/tests/security/xssAuditor/inline-event-HTML-entities-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-named-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-ampersand-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-control-char-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-null-char-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-one-plus-one-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-url-encoded-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-control-char-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-entities-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-null-char-expected.txt:
  • http/tests/security/xssAuditor/link-opens-new-window-expected.txt:
  • http/tests/security/xssAuditor/malformed-HTML-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-1-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-2-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-3-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-4-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-5-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-6-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-7-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-8-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-9-expected.txt:
  • http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt:
  • http/tests/security/xssAuditor/object-embed-tag-expected.txt:
  • http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt:
  • http/tests/security/xssAuditor/object-tag-expected.txt:
  • http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/open-attribute-body-expected.txt:
  • http/tests/security/xssAuditor/open-event-handler-iframe-expected.txt:
  • http/tests/security/xssAuditor/open-iframe-src-01-expected.txt:
  • http/tests/security/xssAuditor/open-iframe-src-02-expected.txt:
  • http/tests/security/xssAuditor/open-script-src-01-expected.txt:
  • http/tests/security/xssAuditor/open-script-src-02-expected.txt:
  • http/tests/security/xssAuditor/open-script-src-03-expected.txt:
  • http/tests/security/xssAuditor/open-script-src-04-expected.txt:
  • http/tests/security/xssAuditor/post-from-iframe-expected.txt:
  • http/tests/security/xssAuditor/property-escape-comment-01-expected.txt:
  • http/tests/security/xssAuditor/property-escape-comment-02-expected.txt:
  • http/tests/security/xssAuditor/property-escape-comment-03-expected.txt:
  • http/tests/security/xssAuditor/property-escape-entity-01-expected.txt:
  • http/tests/security/xssAuditor/property-escape-entity-02-expected.txt:
  • http/tests/security/xssAuditor/property-escape-entity-03-expected.txt:
  • http/tests/security/xssAuditor/property-escape-expected.txt:
  • http/tests/security/xssAuditor/property-escape-long-expected.txt:
  • http/tests/security/xssAuditor/property-escape-quote-01-expected.txt:
  • http/tests/security/xssAuditor/property-escape-quote-02-expected.txt:
  • http/tests/security/xssAuditor/property-escape-quote-03-expected.txt:
  • http/tests/security/xssAuditor/report-script-tag-expected.txt:
  • http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt:
  • http/tests/security/xssAuditor/script-tag-Big5-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-Big5-char2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-addslashes-backslash-expected.txt:
  • http/tests/security/xssAuditor/script-tag-addslashes-double-quote-expected.txt:
  • http/tests/security/xssAuditor/script-tag-addslashes-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-addslashes-single-quote-expected.txt:
  • http/tests/security/xssAuditor/script-tag-control-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-convoluted-expected.txt:
  • http/tests/security/xssAuditor/script-tag-entities-expected.txt:
  • http/tests/security/xssAuditor/script-tag-expected.txt:
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag-expected.txt:
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag3-expected.txt:
  • http/tests/security/xssAuditor/script-tag-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-open-redirect-expected.txt:
  • http/tests/security/xssAuditor/script-tag-post-control-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-post-expected.txt:
  • http/tests/security/xssAuditor/script-tag-post-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-redirect-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode3-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode4-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-actual-comma-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-comma-02-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-fancy-unicode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-double-quote-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-no-quote-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-relative-scheme-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-01-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-02-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-03-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment3-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment4-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment5-expected.txt:
  • http/tests/security/xssAuditor/svg-script-tag-expected.txt:
  • http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt:
  • http/tests/security/xssAuditor/xss-filter-bypass-long-string-expected.txt:
  • http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-01-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-02-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
  • platform/chromium/http/tests/security/xssAuditor/javascript-link-control-char2-expected.txt:
8:28 AM Changeset in webkit [145082] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Add some more compilation annotations to NavigatorView
https://bugs.webkit.org/show_bug.cgi?id=111730

Reviewed by Alexander Pavlov.

  • inspector/front-end/NavigatorView.js:
8:25 AM Changeset in webkit [145081] by kov@webkit.org
  • 10 edits
    14 moves
    30 adds
    29 deletes in trunk

[GTK] Enable translations for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=111398

Patch by Gustavo Noronha Silva <gns@gnome.org> on 2013-03-07.
Reviewed by Martin Robinson.

  • GNUmakefile.am: adjust path for i18n GNUmakefile.am.
  • configure.ac: generate the i18n makefile unconditionally, the translations are

used by both WebKitGTK+ and WebKit2GTK+.

Source/WebCore:

  • GNUmakefile.am: distribute po files.
  • platform/gtk/po/POTFILES.in: adjust paths for translatable files.

Source/WebCore/platform/gtk/po:

  • GNUmakefile.am: Renamed from Source/WebKit/gtk/po/GNUmakefile.am.
  • POTFILES.in: Renamed from Source/WebKit/gtk/po/POTFILES.in.
  • README: Renamed from Source/WebKit/gtk/po/README.
  • ar.po: Renamed from Source/WebKit/gtk/po/ar.po.
  • as.po: Renamed from Source/WebKit/gtk/po/as.po.
  • bg.po: Renamed from Source/WebKit/gtk/po/bg.po.
  • cs.po: Renamed from Source/WebKit/gtk/po/cs.po.
  • de.po: Renamed from Source/WebKit/gtk/po/de.po.
  • el.po: Renamed from Source/WebKit/gtk/po/el.po.
  • en_CA.po: Renamed from Source/WebKit/gtk/po/en_CA.po.
  • en_GB.po: Renamed from Source/WebKit/gtk/po/en_GB.po.
  • eo.po: Renamed from Source/WebKit/gtk/po/eo.po.
  • es.po: Renamed from Source/WebKit/gtk/po/es.po.
  • et.po: Renamed from Source/WebKit/gtk/po/et.po.
  • eu.po: Renamed from Source/WebKit/gtk/po/eu.po.
  • fr.po: Renamed from Source/WebKit/gtk/po/fr.po.
  • gl.po: Renamed from Source/WebKit/gtk/po/gl.po.
  • gu.po: Renamed from Source/WebKit/gtk/po/gu.po.
  • he.po: Renamed from Source/WebKit/gtk/po/he.po.
  • hi.po: Renamed from Source/WebKit/gtk/po/hi.po.
  • hu.po: Renamed from Source/WebKit/gtk/po/hu.po.
  • id.po: Renamed from Source/WebKit/gtk/po/id.po.
  • it.po: Renamed from Source/WebKit/gtk/po/it.po.
  • ko.po: Renamed from Source/WebKit/gtk/po/ko.po.
  • lt.po: Renamed from Source/WebKit/gtk/po/lt.po.
  • lv.po: Renamed from Source/WebKit/gtk/po/lv.po.
  • mr.po: Renamed from Source/WebKit/gtk/po/mr.po.
  • nb.po: Renamed from Source/WebKit/gtk/po/nb.po.
  • nl.po: Renamed from Source/WebKit/gtk/po/nl.po.
  • pa.po: Renamed from Source/WebKit/gtk/po/pa.po.
  • pl.po: Renamed from Source/WebKit/gtk/po/pl.po.
  • pt.po: Renamed from Source/WebKit/gtk/po/pt.po.
  • pt_BR.po: Renamed from Source/WebKit/gtk/po/pt_BR.po.
  • ro.po: Renamed from Source/WebKit/gtk/po/ro.po.
  • ru.po: Renamed from Source/WebKit/gtk/po/ru.po.
  • sl.po: Renamed from Source/WebKit/gtk/po/sl.po.
  • sr.po: Renamed from Source/WebKit/gtk/po/sr.po.
  • sr@latin.po: Renamed from Source/WebKit/gtk/po/sr@latin.po.
  • sv.po: Renamed from Source/WebKit/gtk/po/sv.po.
  • uk.po: Renamed from Source/WebKit/gtk/po/uk.po.
  • vi.po: Renamed from Source/WebKit/gtk/po/vi.po.
  • zh_CN.po: Renamed from Source/WebKit/gtk/po/zh_CN.po.

Source/WebKit2:

  • GNUmakefile.am: define PACKAGE_LOCALE_DIR when building WebProcess's main module.
  • WebProcess/gtk/WebProcessMainGtk.cpp:

(WebKit::WebProcessMainGtk): register the i18n domain name, and prefer UTF-8, since
we're GTK+; at the moment we're just using the same name as WebKitGTK+, pro: the
translation module can be reused, con: you can't have different versions of
WebKitGTK+ and WebKit2GTK+ installed, because the module would not be fit for reuse
in that case.

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::childSetupFunction): do not set LC_ALL environment variable explicitly,
the child process will already inherit the environment of the parent, which should
have all the variables set properly.

8:09 AM Changeset in webkit [145080] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [CodeMirror] update codemirror to version 3.1
https://bugs.webkit.org/show_bug.cgi?id=111711

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Vsevolod Vlasov.

Update code mirror experimental editor to version 3.1

No new tests.

  • inspector/front-end/cm/codemirror.css:

(.CodeMirror div.CodeMirror-cursor):
(.CodeMirror div.CodeMirror-secondarycursor):
(.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor):
(.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor:not(#nonsense_id)):
(.CodeMirror div.CodeMirror-cursor.CodeMirror-overwrite):
(.CodeMirror-gutters):
(.CodeMirror-linewidget):
(.CodeMirror-widget):
(.CodeMirror-focused div.CodeMirror-cursor):
(@media print):

  • inspector/front-end/cm/codemirror.js:

(window.CodeMirror):
(window.CodeMirror.):

7:54 AM Changeset in webkit [145079] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

OpenGLShims: fix check for ANGLE GLES2 extensions
https://bugs.webkit.org/show_bug.cgi?id=111656

Patch by Sergio Correia <Sergio Correia> on 2013-03-07
Reviewed by Simon Hausmann.

The check for ANGLE GLES2 extensions is currently being overriden
with checks for APPLE extensions in lookupOpenGLFunctionAddress().

No new tests. No user visible behavior changed.

  • platform/graphics/OpenGLShims.cpp:

(WebCore::lookupOpenGLFunctionAddress):

7:43 AM Changeset in webkit [145078] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Rename visible_units.h to VisibleUnits.h in WebCore.vcxproj.filters
<http://webkit.org/b/111426>

  • WebCore.vcxproj/WebCore.vcxproj.filters: Rename visible_units.h

to VisibleUnits.h and re-sort.

7:36 AM Changeset in webkit [145077] by vsevik@chromium.org
  • 5 edits in trunk/Source

Web Inspector: Support a shortcut for reloading front-end in debug mode.
https://bugs.webkit.org/show_bug.cgi?id=111709

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/front-end/buildSystemOnly.js:
  • inspector/front-end/inspector.js:

(WebInspector.documentKeyDown):

Source/WebKit/chromium:

  • src/js/DevTools.js:
7:35 AM Changeset in webkit [145076] by vsevik@chromium.org
  • 11 edits in trunk/Source/WebCore

Web Inspector: Support setting up file system mappings from scripts panel context menu.
https://bugs.webkit.org/show_bug.cgi?id=111583

Reviewed by Pavel Feldman.

Added context menu items to set up network - file system mappings from sources panel.
Implemented mapping add/remove methods on Workspace.
Added a dialog suggesting to reload front-end after making such changes.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/FileSystemMapping.js:

(WebInspector.FileSystemMappingImpl.prototype.fileSystemPath):

  • inspector/front-end/FileSystemProjectDelegate.js:

(WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemRemoved):
(WebInspector.FileSystemWorkspaceProvider.prototype.fileSystemPath):

  • inspector/front-end/FilteredItemSelectionDialog.js:

(WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
(WebInspector.FilteredItemSelectionDialog.prototype.setQuery):
(WebInspector.SelectUISourceCodeDialog):
(WebInspector.SelectUISourceCodeDialog.prototype.uiSourceCodeSelected):
(WebInspector.SelectUISourceCodeDialog.prototype.filterProject):
(WebInspector.SelectUISourceCodeDialog.prototype.filterUISourceCode):
(WebInspector.SelectUISourceCodeDialog.prototype.selectItem):
(WebInspector.SelectUISourceCodeDialog.prototype._uiSourceCodeAdded):
(WebInspector.OpenResourceDialog):
(WebInspector.OpenResourceDialog.prototype.uiSourceCodeSelected):
(WebInspector.OpenResourceDialog.prototype.filterProject):
(WebInspector.SelectUISourceCodeForProjectTypeDialog):
(WebInspector.SelectUISourceCodeForProjectTypeDialog.prototype.uiSourceCodeSelected):
(WebInspector.SelectUISourceCodeForProjectTypeDialog.prototype.filterProject):
(WebInspector.SelectUISourceCodeForProjectTypeDialog.show):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork.mapFileSystemToNetwork):
(WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork):
(WebInspector.ScriptsPanel.prototype._removeNetworkMapping):
(WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem.mapNetworkToFileSystem):
(WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem):
(WebInspector.ScriptsPanel.prototype.):
(WebInspector.ScriptsPanel.prototype._appendUISourceCodeMappingItems):
(WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):

  • inspector/front-end/SettingsScreen.js:

(WebInspector.WorkspaceSettingsTab):
(WebInspector.WorkspaceSettingsTab.prototype.wasShown):
(WebInspector.WorkspaceSettingsTab.prototype._reset):

  • inspector/front-end/ViewportControl.js:

(WebInspector.ViewportControl.prototype.refresh):

  • inspector/front-end/Workspace.js:

(WebInspector.Workspace.prototype.addMapping):
(WebInspector.Workspace.prototype.removeMapping):

  • inspector/front-end/externs.js:

(WebInspector.suggestReload):

  • inspector/front-end/inspector.js:

(WebInspector.suggestReload):

7:32 AM Changeset in webkit [145075] by vsevik@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Add support for frontend reloading
https://bugs.webkit.org/show_bug.cgi?id=111727

Reviewed by Pavel Feldman.

This patch adds support for frontend reloading including:

  • making sure no messages are sent to backend once frontend started reloading
  • updating frontend url with up-to-date dockSide query parameter value.
  • inspector/front-end/InspectorBackend.js:

(InspectorBackendClass.prototype.sendMessageObjectToBackend):
(InspectorBackendClass.prototype.disconnect):

  • inspector/front-end/externs.js:

(WebInspector.reload):

  • inspector/front-end/inspector.js:

(WebInspector.reload):

7:28 AM Changeset in webkit [145074] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Web Inspector: Change profile start button caption depending on profile type.
https://bugs.webkit.org/show_bug.cgi?id=111698

Change the start profiling button caption to "Snapshot" for
snapshot-like profile types, e.g. JS heap snapshot, native memory snapshot.

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-07
Reviewed by Yury Semikhatsky.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapSnapshotProfileType.prototype.isInstantProfile):

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeSnapshotProfileType.prototype.isInstantProfile):
(WebInspector.NativeMemoryProfileType.prototype.isInstantProfile):

  • inspector/front-end/ProfileLauncherView.js:

(WebInspector.ProfileLauncherView):
(WebInspector.ProfileLauncherView.prototype.addProfileType):
(WebInspector.ProfileLauncherView.prototype._updateControls):
(WebInspector.MultiProfileLauncherView.prototype._updateControls):
(WebInspector.MultiProfileLauncherView.prototype._profileTypeChanged):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfileType.prototype.isInstantProfile):

7:25 AM Changeset in webkit [145073] by Bruno de Oliveira Abinader
  • 3 edits in trunk/Source/WebCore

[texmap] Remove direct access to clip state from clip stack
https://bugs.webkit.org/show_bug.cgi?id=111630

Reviewed by Allan Sandfeld Jensen.

As we are now monitoring the clip state from
TextureMapperGL/BitmapTextureGL, have direct access to clip state object
would eventually make it dirty without properly setting the
'clipStateDirty' flag. This bug intends to substitute direct access with
auxiliary functions which would set the clip state dirty when necessary.

No new tests. No user visible behavior changed.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::ClipStack::intersect):
(WebCore::TextureMapperGL::ClipStack::setStencilIndex):
(WebCore::TextureMapperGL::drawBorder):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::beginScissorClip):
(WebCore::TextureMapperGL::beginClip):
Replaced direct access with auxiliary functions.

  • platform/graphics/texmap/TextureMapperGL.h:

(ClipStack): Removed ClipStack::current() function.
(WebCore::TextureMapperGL::ClipStack::getStencilIndex): Added.
(WebCore::TextureMapperGL::ClipStack::isCurrentScissorBoxEmpty): Added.

7:20 AM Changeset in webkit [145072] by jochen@chromium.org
  • 2 edits in trunk/Tools

[chromium] don't track the top loading frame if no layout test is currently running
https://bugs.webkit.org/show_bug.cgi?id=111716

Reviewed by Kentaro Hara.

In DRT, we synchronously stop the test and start loading the next test
URL. However, in content_shell, this happens asynchronously. It's
important that the top loading frame is not changed due to stray
navigation events before the next test starts.

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::setTopLoadingFrame):

6:23 AM Changeset in webkit [145071] by Bruno de Oliveira Abinader
  • 3 edits in trunk/Source/WebCore

[Texturemapper] transform-style 'flat' value is broken
https://bugs.webkit.org/show_bug.cgi?id=111566

Reviewed by Allan Sandfeld Jensen.

After changes from r144290, the CSS3 'transform-styles' property, when
used with 'flat' value, resulted in non-stenciled rendering inside
clipped area - vide example from Surfin' Safari blog:
https://www.webkit.org/blog-files/3d-transforms/transform-style.html

This patch forces the clip state to be applied when binding the default
surface.

No new tests. No user visible behavior changed.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::ClipStack::apply):
(WebCore::TextureMapperGL::ClipStack::applyIfNeeded): Added.
Moved state cache check from apply() to applyIfNeeded().

(WebCore::BitmapTextureGL::clearIfNeeded):
(WebCore::BitmapTextureGL::bind):
(WebCore::TextureMapperGL::beginScissorClip):
(WebCore::TextureMapperGL::beginClip):
(WebCore::TextureMapperGL::endClip):

  • platform/graphics/texmap/TextureMapperGL.h:

(ClipStack):
Use applyIfNeeded() to check for clip state before clipping.

6:22 AM Changeset in webkit [145070] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/gtk

[GTK] Expose "ShouldRespectImageOrientation" setting into WebKitWebSettings
https://bugs.webkit.org/show_bug.cgi?id=111414

Patch by Tomas Popela <tpopela@redhat.com> on 2013-03-07
Reviewed by Carlos Garcia Campos.

We should expose ShouldRespectImageOrientation setting into
WebKitWebSettings. When it is enabled, the images are shown with right
orientation regarding to images EXIF data.

  • webkit/webkitwebsettings.cpp:

(webkit_web_settings_class_init):
(webkit_web_settings_set_property):
(webkit_web_settings_get_property):

  • webkit/webkitwebsettingsprivate.h:
  • webkit/webkitwebview.cpp:

(webkit_web_view_update_settings):
(webkit_web_view_settings_notify):

6:22 AM Changeset in webkit [145069] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: refactoring: move TextEditorModel.Indent enum into TextUtils
https://bugs.webkit.org/show_bug.cgi?id=111715

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Pavel Feldman.

Move WebInspector.TextEditorModel.Indent into WebInspector.TextUtils namespace.

No new tests: no change in behaviour.

  • inspector/front-end/SettingsScreen.js:

(WebInspector.GenericSettingsTab):

  • inspector/front-end/TextEditorModel.js:

(WebInspector.TextEditorModel.endsWithBracketRegex.):

  • inspector/front-end/TextUtils.js:
6:17 AM Changeset in webkit [145068] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Web Inspector: Add more diagnostics output to testRendererProcessNativeMemorySize
https://bugs.webkit.org/show_bug.cgi?id=111599

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-07
Reviewed by Yury Semikhatsky.

Add the process size to the test output.

  • src/js/Tests.js:
6:00 AM Changeset in webkit [145067] by vollick@chromium.org
  • 16 edits
    5 adds in trunk

Fix painting phases for composited scrolling
https://bugs.webkit.org/show_bug.cgi?id=107618

Reviewed by Simon Fraser.

With composited scrolling, the scrolling contents layer paints the
foreground and the main graphics layer paints the background. This
causes a few problems:

1) If we create a foreground layer, we end up with two layers painting

the foreground phase.

2) Focus rings / outlines paint into the foreground layer, so they end

up moving around with the scrolling contents.

3) Neg z-order descendants paint in the the main graphics layer and

will therefore not scroll.

To deal with 1) we need to stop painting the foreground into both the
foreground and scrolling contents layers. We also need to ensure that
the foreground layer is the right size and has the right offset from
renderer if we're on the composited scrolling path.

To deal with 2) and 3), I have added a new graphics layer painting phase
flag -- GraphicsLayerPaintCompositedScroll -- and applied it to two
layers in the subtree created by RenderLayerBacking. This ultimately
affects the paint phase passed to RenderLayer::paintLayerContents and
allows us to paint the focus rings, outlines and negative z-order
descendants into the proper layers.

Source/WebCore:

Tests: compositing/overflow/composited-scrolling-paint-phases.html

compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html
compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html

  • page/Frame.h: Added a flag for including painting phases in the layer tree dump.

(WebCore::GraphicsLayer::dumpProperties):

Can now dump painting phase information, but only if requested.

  • platform/graphics/GraphicsLayerClient.h: Added a new entry to GraphicsLayerPaintingPhaseFlags for comp-scroll.

(WebCore::RenderLayer::paintLayerContents):

Updated the logic to account for the new comp-scroll-related paint
phase flag.

  • rendering/RenderLayer.h: Added the RenderLayer painting phase counterpart to GraphicsLayerPaintCompositedScroll.
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

Ensures that the foreground layer is sized correctly for comp-scroll.

(WebCore::RenderLayerBacking::updateScrollingLayers):

If we have a foreground layer, the scrolling contents layer no
longer gets assigned the foreground painting phase.

(WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):

If we're comp-scrolling, then the primary layer gets the new phase.

(WebCore::RenderLayerBacking::paintIntoLayer):

Simply translates the new graphics layer painting phase to its
render layer counterpart.

(WebCore::RenderLayerCompositor::layerTreeAsText):

  • testing/Internals.cpp:

(WebCore::Internals::layerTreeAsText):

  • testing/Internals.h:
  • testing/Internals.idl: The above changes are solely plumbing to allow layout tests to request that paint phase information be included in the layer tree dump.

LayoutTests:

  • compositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.
  • compositing/overflow/composited-scrolling-paint-phases.html: Added.
  • platform/mac/compositing/overflom/composited-scrolling-paint-phases-expected.txt: Added. This is a text-based test that checks that the graphics layer painting phases are correct with composited scrolling + foreground layers.
  • compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html: Added.
  • compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html: Added. These tests cover cases 2) and 3) above.
  • platform/chromium/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations: These have been updated to reflect the missing baselines.
5:52 AM Changeset in webkit [145066] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt] Use Qt5.1 supportedMimeTypes methods.
https://bugs.webkit.org/show_bug.cgi?id=111185

Reviewed by Jocelyn Turcotte.

Uses the supportedMimeTypes() methods from QImageReader and QImageWriter when available.

  • platform/MIMETypeRegistry.cpp:

(WebCore::initializeSupportedImageMIMETypes):
(WebCore::initializeSupportedImageMIMETypesForEncoding):

5:36 AM Changeset in webkit [145065] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Flame Chart. Stick item color to the function.
https://bugs.webkit.org/show_bug.cgi?id=111697

Reviewed by Yury Semikhatsky.

Different nodes associated with a single function have to use the same color.
Minor polish: do not filter out (idle) and (program) items. They were big due to an error on v8 side.
Set minimum width to 0 for more precise picture.

  • inspector/front-end/FlameChart.js:

(WebInspector.FlameChart):
(WebInspector.FlameChart.prototype._rootNodes):
(WebInspector.FlameChart.prototype.draw):
(WebInspector.FlameChart.prototype._drawNode):
(WebInspector.FlameChart.prototype._drawBar):

4:55 AM Changeset in webkit [145064] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [ACE] gutter size should be fixed.
https://bugs.webkit.org/show_bug.cgi?id=111576

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Pavel Feldman.

Add a custom ace editor build that supports setFixedGutterWidth configuration
parameter and switch this setting on.

No new tests.

  • inspector/front-end/AceTextEditor.js:

(WebInspector.AceTextEditor): Switch fixedGutterWidth setting on.

  • inspector/front-end/ace/ace.js:

(.):

4:34 AM WebKitGTK/2.0.x edited by Claudio Saavedra
(diff)
4:15 AM Changeset in webkit [145063] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-1.11.91

Tagging the WebKitGTK+ 1.11.91 release

3:52 AM Changeset in webkit [145062] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.0

Unreviewed. Update NEWS and Versions.m4 for 1.11.91 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 1.11.91.
3:49 AM Changeset in webkit [145061] by commit-queue@webkit.org
  • 15 edits
    4 deletes in trunk/Source/WebCore

Unreviewed, rolling out r145059.
http://trac.webkit.org/changeset/145059
https://bugs.webkit.org/show_bug.cgi?id=111707

crash webkit build (Requested by tasak on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-07

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSAllInOne.cpp:
  • css/DocumentRuleSets.cpp:

(WebCore::ShadowDistributedRules::collectMatchRequests):

  • css/DocumentRuleSets.h:
  • css/ElementRuleCollector.cpp: Removed.
  • css/ElementRuleCollector.h: Removed.
  • css/PageRuleCollector.cpp: Removed.
  • css/PageRuleCollector.h: Removed.
  • css/StyleResolver.cpp:

(WebCore::leftToRightDeclaration):
(WebCore):
(WebCore::rightToLeftDeclaration):
(WebCore::StyleResolver::State::ensureRuleList):
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::addMatchedProperties):
(WebCore::StyleResolver::addElementStyleProperties):
(MatchingUARulesScope):
(WebCore::MatchingUARulesScope::MatchingUARulesScope):
(WebCore::MatchingUARulesScope::~MatchingUARulesScope):
(WebCore::MatchingUARulesScope::isMatchingUARules):
(WebCore::StyleResolver::collectMatchingRules):
(WebCore::StyleResolver::collectMatchingRulesForRegion):
(WebCore::StyleResolver::sortAndTransferMatchedRules):
(WebCore::StyleResolver::matchScopedAuthorRules):
(WebCore::StyleResolver::matchHostRules):
(WebCore::StyleResolver::matchAuthorRules):
(WebCore::StyleResolver::matchUserRules):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::compareRules):
(WebCore::StyleResolver::sortMatchedRules):
(WebCore::StyleResolver::matchAllRules):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::ruleMatches):
(WebCore::StyleResolver::checkRegionSelector):
(WebCore::comparePageRules):
(WebCore::StyleResolver::matchPageRules):
(WebCore::checkPageSelectorComponents):
(WebCore::StyleResolver::matchPageRulesForList):
(WebCore::StyleResolver::isLeftPage):
(WebCore::StyleResolver::isFirstPage):
(WebCore::StyleResolver::pageName):

  • css/StyleResolver.h:

(WebCore::MatchRequest::MatchRequest):
(MatchRequest):
(StyleResolver):
(MatchResult):
(WebCore::StyleResolver::State::State):
(State):
(WebCore::StyleResolver::State::takeRuleList):
(WebCore::StyleResolver::State::setSameOriginOnly):
(WebCore::StyleResolver::State::isSameOriginOnly):
(WebCore::StyleResolver::State::pseudoStyleRequest):
(WebCore::StyleResolver::State::setMode):
(WebCore::StyleResolver::State::mode):
(WebCore::StyleResolver::State::matchedRules):
(WebCore::StyleResolver::State::addMatchedRule):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::willMatchRule):

  • inspector/InspectorCSSAgent.h:

(WebCore):
(InspectorCSSAgent):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::willMatchRuleImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):

3:43 AM Changeset in webkit [145060] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

Unreviewed. Rebaselined run-bindings-tests.

  • bindings/scripts/test/V8/V8TestInterface.cpp:

(WebCore):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore):

3:19 AM Changeset in webkit [145059] by tasak@google.com
  • 15 edits
    4 copies in trunk/Source/WebCore

[Refactoring] Implement RuleCollector
https://bugs.webkit.org/show_bug.cgi?id=109916

Reviewed by Antti Koivisto.

Implemented rule collector for an element and collector for a page.
Not all members in class State are required entire while resolving
a style.

No new tests, because just refactoring.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSAllInOne.cpp:

Added ElementRuleCollector and PageRuleCollector.

  • css/DocumentRuleSets.cpp:

(WebCore::ShadowDistributedRules::collectMatchRequests):
Since behaviorAtBoundary is a state owned by ElementRuleCollector,
removed from here.

  • css/DocumentRuleSets.h:

(WebCore::ShadowDistributedRules::isEmpty):
Added to quickly check whether there exist any ShadowDistributedRules
or not.

  • css/ElementRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.

(WebCore):
(WebCore::ElementRuleCollector::matchedResult):
(WebCore::ElementRuleCollector::matchedRuleList):
(WebCore::ElementRuleCollector::addMatchedRule):
(WebCore::ElementRuleCollector::clearMatchedRules):
(WebCore::ElementRuleCollector::ensureRuleList):
(WebCore::ElementRuleCollector::addElementStyleProperties):
(WebCore::ElementRuleCollector::collectMatchingRules):
(WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
(WebCore::ElementRuleCollector::matchScopedAuthorRules):
(WebCore::ElementRuleCollector::matchHostRules):
(WebCore::ElementRuleCollector::matchShadowDistributedRules):
(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::matchUserRules):
(WebCore::ElementRuleCollector::matchUARules):
(WebCore::ElementRuleCollector::ruleMatches):
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::ElementRuleCollector::sortMatchedRules):
(WebCore::ElementRuleCollector::matchAllRules):
Moved these methods from StyleResolver to this class.
(WebCore::ElementRuleCollector::hasAnyMatchingRules):
This method is used for checking whether a given element can share
a cache.

  • css/ElementRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.

(WebCore):
(WebCore::ElementRuleCollector::ElementRuleCollector):
Use styleResolver instance to initialize its member variables, i.e.
SelectorFilter, RuleSets, InspectorCSSOMWrappers, and
StyleScopedResolver.
(ElementRuleCollector):
(WebCore::ElementRuleCollector::setMode):
(WebCore::ElementRuleCollector::setPseudoStyleRequest):
(WebCore::ElementRuleCollector::setSameOriginOnly):
(WebCore::ElementRuleCollector::setRegionForStyling):
Mode, SameOriginOnly, RegionForStyling are only used while collecting
matched rules.
(WebCore::ElementRuleCollector::setMedium):
Need to know which default stylesheet should be looked up.
(WebCore::ElementRuleCollector::document):

  • css/PageRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.

(WebCore::comparePageRules):
(WebCore::PageRuleCollector::isLeftPage):
(WebCore::PageRuleCollector::isFirstPage):
(WebCore::PageRuleCollector::pageName):
(WebCore::PageRuleCollector::matchAllPageRules):
(WebCore::PageRuleCollector::matchPageRules):
(WebCore::checkPageSelectorComponents):
(WebCore::PageRuleCollector::matchPageRulesForList):
Moved from StyleResolver.

  • css/PageRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.

(WebCore):
(WebCore::PageRuleCollector::PageRuleCollector):
(PageRuleCollector):
(WebCore::PageRuleCollector::matchedResult):

  • css/StyleResolver.cpp:

(WebCore):
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::MatchResult::addMatchedProperties):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::applyMatchedProperties):

  • css/StyleResolver.h:

(WebCore::MatchRequest::MatchRequest):
Removed behaviorAtBoundary. Instead, ElementRuleCollector have the
state.
(MatchRequest):
(WebCore::StyleResolver::selectorFilter):
Added to obtain SelectorFilter in ElementRuleCollector's constructor.
(StyleResolver):
(MatchResult):
(WebCore::StyleResolver::State::State):
To pass ASSERT in StyleResolver::applyProperties, need to keep
m_regionForStyling.
(State):
(WebCore::StyleResolver::State::regionForStyling):
(WebCore::StyleResolver::State::useSVGZoomRules):
(WebCore::StyleResolver::hasSelectorForId):
(WebCore):
(WebCore::checkRegionSelector):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::willMatchRule):
Removed StyleResolver from its parameter list. Instead, added
InspectorCSSOMWrappers and DocumentStyleSheetCollection.

  • inspector/InspectorCSSAgent.h:

(WebCore):
(InspectorCSSAgent):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::willMatchRuleImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):

2:41 AM Changeset in webkit [145058] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [ACE] add experimental breakpoint support
https://bugs.webkit.org/show_bug.cgi?id=111573

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Pavel Feldman.

No new tests.

  • Implement attributes model for ace editor. Update attribute

locations by handling onTextChange event from editor.

  • Implement breakpoints atop of attributes model.
  • inspector/front-end/AceTextEditor.js:

(WebInspector.AceTextEditor):
(WebInspector.AceTextEditor.prototype._updateBreakpoints):
(WebInspector.AceTextEditor.prototype._updateLineAttributes):
(WebInspector.AceTextEditor.prototype._onTextChange):
(WebInspector.AceTextEditor.prototype.addBreakpoint):
(WebInspector.AceTextEditor.prototype.removeBreakpoint):
(WebInspector.AceTextEditor.prototype.getAttribute):
(WebInspector.AceTextEditor.prototype.setAttribute):
(WebInspector.AceTextEditor.prototype.removeAttribute):

  • inspector/front-end/ace/acedevtools.css:

(.ace-editor-container):
(.ace_gutter-cell.webkit-breakpoint):
(.ace_gutter-cell.webkit-breakpoint-conditional):
(.ace_gutter-cell.webkit-breakpoint-disabled):
(.ace_gutter-cell):

2:39 AM Changeset in webkit [145057] by Antoine Quint
  • 9 edits
    2 adds in trunk

Web Inspector: identify layers for CSS generated content in LayerTreeAgent
https://bugs.webkit.org/show_bug.cgi?id=111551

Source/WebCore:

Layers can be associated with pseudo elements, elements that are generated
when ::before or ::after pseudo-classes are used to style an element and
provide additional rendering using the CSS "content" property. In order to
identify that a layer is associated to a pseudo element, we add a new set of
optional properties on the Layer object: "isGeneratedContent", "pseudoElementId"
and "pseudoClass".

We need to provide the "pseudoElementId" for the same reason we provide a
"nodeId" for the Layer. This is so that the front-end can identify that a
layer whose "layerId" may have changed between two layer tree updates is
used to render content for the same pseudo element.

In the instance that a layer is rendering generated content, we also set
the "nodeId" to be the generating node's id. The generating node is the
node in the DOM that the user styled using ::before or ::after pseudo-classes.
We also add the pseudo-class used as the "pseudoClass" property such that the
front-end may provide useful information to the user about what type of
pseudo-class yielded the generation of this layer. We also deal with the
possibility that the layer is a reflection for a pseudo element.

Since pseudo elements are not part of the user-visible DOM, and thus can't be
pushed to the front-end, we maintain a special ID hash map in the LayerTreeAgent.
In order to be able to unbind a pseudo element id and a pseudo element, we add a
destructor method to PseudoElement and provide a new instrumentation call so that
the LayerTreeAgent may be notified of a PseudoElement being destroyed. This
reflects the principle we use to update the RenderLayer bindings when a
RenderLayer is destroyed, as notified by the RenderLayerCompositor.

Reviewed by Simon Fraser.

Test: inspector-protocol/layers/layers-generated-content.html

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::~PseudoElement): New destructor used to notify
InspectorInstrumentation of a PseudoElement being destroyed, such that
it can eventually be relayed to the InspectorLayerTreeAgent.
(WebCore):

  • dom/PseudoElement.h:

(PseudoElement):

  • inspector/Inspector.json: Add the new PseudoElementId type used for

the new "pseudoElementId" property on Layer, to which we also add the
"isGeneratedContent" and "pseudoClass" properties.

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::pseudoElementDestroyed): New method
called in the PseudoElement destructor used to relay the fact that a
PseudoElement was destroyed to the InspectorLayerTreeAgent.

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::reset): Clear the new PseudoElement
identifier maps.
(WebCore::InspectorLayerTreeAgent::pseudoElementDestroyed): Remove any
identifier binding for the provided PseudoElement being destroyed.
(WebCore):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer): Set the new
"isGeneratedContent", "pseudoElementId" and "pseudoClass" properties on
the Layer object for layers associated with a pseudo element.
(WebCore::InspectorLayerTreeAgent::bind): Use emptyString() instead of "".
(WebCore::InspectorLayerTreeAgent::unbind): Use an iterator instead of a
get() and remove() combination in order to reduce lookups and mimick the
code written for unbindPseudoElement().
(WebCore::InspectorLayerTreeAgent::bindPseudoElement): Binds the provided
PseudoElement to a unique identifier.
(WebCore::InspectorLayerTreeAgent::unbindPseudoElement): Unbinds the
provided PseudoElement from its unique identifier.

  • inspector/InspectorLayerTreeAgent.h:

(InspectorLayerTreeAgent):

LayoutTests:

New tests for layers associated with pseudo elements.

Reviewed by Simon Fraser.

  • inspector-protocol/layers/layers-generated-content-expected.txt: Added.
  • inspector-protocol/layers/layers-generated-content.html: Added.
2:08 AM Changeset in webkit [145056] by kadam@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardneing. Skipped some failing tests.

  • platform/qt-5.0-wk2/TestExpectations:
  • platform/qt/TestExpectations:
2:06 AM Changeset in webkit [145055] by keishi@webkit.org
  • 29 edits
    13 adds in trunk

Add clear button to date/time input types
https://bugs.webkit.org/show_bug.cgi?id=111319

Reviewed by Kent Tamura.

Source/WebCore:

We want to remove the clear button from the calendar picker (Bug 109439)
so we are adding the clear button to the right side of the input element.

Tests: fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-change-and-input-events.html

fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-change-and-input-events.html
fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-change-and-input-events.html
fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-change-and-input-events.html
fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-change-and-input-events.html

  • CMakeLists.txt: Added ClearButtonElement.cpp
  • GNUmakefile.list.am: Ditto.
  • Target.pri: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • css/html.css:

(input::-webkit-clear-button): Styles for the clear button.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::~BaseMultipleFieldsDateAndTimeInputType):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::destroyShadowSubtree):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::disabledAttributeChanged):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::requiredAttributeChanged): Hide clear button if the value is required.
(WebCore):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::readonlyAttributeChanged):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::focusAndSelectClearButtonOwner): Called on mouse down on clear button.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldClearButtonRespondToMouseEvents):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::clearValue):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::updateClearButtonVisibility): We want to hide the clear button if the value is required or the value is empty.

  • html/BaseMultipleFieldsDateAndTimeInputType.h:

(BaseMultipleFieldsDateAndTimeInputType):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateClearButtonVisibility):
(WebCore):
(WebCore::HTMLInputElement::requiredAttributeChanged):

  • html/HTMLInputElement.h:

(HTMLInputElement):

  • html/InputType.cpp:

(WebCore::InputType::requiredAttributeChanged): Notifies the InputType that the required attribute has changed.
(WebCore):
(WebCore::InputType::updateClearButtonVisibility):

  • html/InputType.h:

(InputType):

  • html/shadow/ClearButtonElement.cpp: Added.

(WebCore):
(WebCore::ClearButtonElement::ClearButtonElement):
(WebCore::ClearButtonElement::create):
(WebCore::ClearButtonElement::detach):
(WebCore::ClearButtonElement::releaseCapture): Stop capturing mouse events.
(WebCore::ClearButtonElement::defaultEventHandler):

  • html/shadow/ClearButtonElement.h: Added.

(WebCore):
(ClearButtonElement):
(ClearButtonOwner):
(WebCore::ClearButtonElement::ClearButtonOwner::~ClearButtonOwner):
(WebCore::ClearButtonElement::removeClearButtonOwner):
(WebCore::ClearButtonElement::isMouseFocusable):

LayoutTests:

  • fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
  • fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-change-and-input-events.html: Added.
  • fast/forms/date-multiple-fields/date-multiple-fields-mouse-events-expected.txt:
  • fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html:
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-change-and-input-events.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events-expected.txt:
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events.html:
  • fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-change-and-input-events.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-mouse-events-expected.txt:
  • fast/forms/month-multiple-fields/month-multiple-fields-mouse-events.html:
  • fast/forms/resources/common-clearbutton-change-and-input-events.js: Added.

(.testInput.onchange):
(.testInput.oninput):
(testClearButtonChangeAndInputEvents):

  • fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-change-and-input-events.html: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-mouse-events-expected.txt:
  • fast/forms/time-multiple-fields/time-multiple-fields-mouse-events.html:
  • fast/forms/time-multiple-fields/time-multiple-fields-narrow-width-scroll.html:
  • fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
  • fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-change-and-input-events.html: Added.
  • fast/forms/week-multiple-fields/week-multiple-fields-mouse-events-expected.txt:
  • fast/forms/week-multiple-fields/week-multiple-fields-mouse-events.html:
  • platform/chromium/TestExpectations:
1:49 AM Changeset in webkit [145054] by eustas@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Refactorings: Prepare SuggestBox for reuse.
https://bugs.webkit.org/show_bug.cgi?id=111301

Reviewed by Alexander Pavlov.

1) Remove userEnteredText from delegate interface.

Pass prefix to updateSuggestions instead.

2) Clarify that suggestions array is never null.

  • inspector/front-end/SuggestBox.js:

(WebInspector.SuggestBox): Renamed parameter/member.
(WebInspector.SuggestBox.prototype._updateItems):
Minor readability changes.
(WebInspector.SuggestBox.prototype._canShowBox):
Use userEnteredText parameter.
(WebInspector.SuggestBox.prototype.updateSuggestions):
Pass userEnteredText to _canShowBox.

  • inspector/front-end/DatabaseQueryView.js: Fix JSDocs.
  • inspector/front-end/RuntimeModel.js: Ditto.
  • inspector/front-end/TextPrompt.js: Ditto.

(WebInspector.TextPrompt.prototype._completionsReady):
Pass userEnteredText to updateSuggestions.

1:29 AM Changeset in webkit [145053] by vcarbune@chromium.org
  • 5 edits
    6 adds in trunk

TextTrackRegion Constructor
https://bugs.webkit.org/show_bug.cgi?id=110511

Reviewed by Adam Barth.

Source/WebCore:

This is an initial patch for implementing the TextTrackRegion
defined in the "WebVTT Extension: Regions for rendering cue groups":
https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/region.html

The feature components are hidden behind the WEBVTT_REGIONS flag
and is currently disabled by default in all ports and tests skipped.

Test: media/track/regions-webvtt/text-track-region-constructor.html

  • WebCore.gypi: Added files to be included for building Chromium with

feature enabled (it is disabled by default).

  • html/track/TextTrackRegion.cpp: Added.

(WebCore):
(WebCore::TextTrackRegion::TextTrackRegion):
(WebCore::TextTrackRegion::~TextTrackRegion):
(WebCore::TextTrackRegion::setId): Setter.
(WebCore::TextTrackRegion::setWidth): Setter.
(WebCore::TextTrackRegion::setHeight): Setter.
(WebCore::TextTrackRegion::setRegionAnchorX): Setter.
(WebCore::TextTrackRegion::setRegionAnchorY): Setter.
(WebCore::TextTrackRegion::setViewportAnchorX): Setter.
(WebCore::TextTrackRegion::setViewportAnchorY): Setter.
(WebCore::TextTrackRegion::scroll): Getter. Internally, the scroll
value is stored as a boolean, but when returned is converted to either
the empty string or "up".
(WebCore::TextTrackRegion::setScroll): Setter.
(WebCore::TextTrackRegion::setRegionSettings): Not used yet (see b/109818)

  • html/track/TextTrackRegion.h: Added.

(WebCore):
(TextTrackRegion):
(WebCore::TextTrackRegion::create):
(WebCore::TextTrackRegion::track): Getter.
(WebCore::TextTrackRegion::id): Getter.
(WebCore::TextTrackRegion::width): Getter.
(WebCore::TextTrackRegion::height): Getter.
(WebCore::TextTrackRegion::regionAnchorX): Getter.
(WebCore::TextTrackRegion::regionAnchorY): Getter.
(WebCore::TextTrackRegion::viewportAnchorX): Getter.
(WebCore::TextTrackRegion::viewportAnchorY): Getter.
(WebCore::TextTrackRegion::regionSettings): Getter, used only internally (see b/109818).

  • html/track/TextTrackRegion.idl: Added.
  • page/DOMWindow.idl: Constructor support.

LayoutTests:

  • TestExpectations:
  • media/track/regions-webvtt/text-track-region-constructor-expected.txt: Added.
  • media/track/regions-webvtt/text-track-region-constructor.html: Added.
1:05 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
1:04 AM Changeset in webkit [145052] by fpizlo@apple.com
  • 11 edits
    12 adds in trunk

ConvertThis should be turned into Identity based on predictions in Fixup, rather than based on proofs in ConstantFolding
https://bugs.webkit.org/show_bug.cgi?id=111674

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

This gets rid of the speculated forms of ConvertThis in the backend, and has Fixup
convert them to either Identity(Object:@child) if the child is predicted object, or
Phantom(Other:@child) ; WeakJSConstant(global this object) if it's predicted Other.

The goal of this is to ensure that the optimization fixpoint doesn't create
Identity's, since doing so requires a rerun of CSE. So far this isn't a speed-up
but I'm hoping this will be a step towards reducing the need to rerun the fixpoint
so as to ultimately reduce compile times.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::executeEffects):

  • dfg/DFGAssemblyHelpers.h:

(AssemblyHelpers):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(FixupPhase):
(JSC::DFG::FixupPhase::observeUseKindOnNode):
(JSC::DFG::FixupPhase::setUseKindAndUnboxIfProfitable):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::globalThisObjectFor):
(Graph):

  • dfg/DFGNode.h:

(Node):
(JSC::DFG::Node::convertToIdentity):
(JSC::DFG::Node::convertToWeakConstant):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

Reviewed by Oliver Hunt.

  • fast/js/dfg-convert-this-object-then-exit-on-other-expected.txt: Added.
  • fast/js/dfg-convert-this-object-then-exit-on-other.html: Added.
  • fast/js/dfg-convert-this-other-then-exit-on-object-expected.txt: Added.
  • fast/js/dfg-convert-this-other-then-exit-on-object.html: Added.
  • fast/js/dfg-convert-this-polymorphic-object-then-exit-on-other-expected.txt: Added.
  • fast/js/dfg-convert-this-polymorphic-object-then-exit-on-other.html: Added.
  • fast/js/dfg-convert-this-polymorphic-object-then-exit-on-string-expected.txt: Added.
  • fast/js/dfg-convert-this-polymorphic-object-then-exit-on-string.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-convert-this-object-then-exit-on-other.js: Added.

(foo):

  • fast/js/script-tests/dfg-convert-this-other-then-exit-on-object.js: Added.

(foo):

  • fast/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-other.js: Added.

(foo):

  • fast/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-string.js: Added.

(foo):

1:03 AM Changeset in webkit [145051] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Revert "[GTK] When the WebProcess crashes, a signal should be emitted"

This reverts commit r144902. The API is problematic.

12:52 AM Changeset in webkit [145050] by hayato@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:
12:51 AM Changeset in webkit [145049] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[v8] remove latin-1 transition flag
https://bugs.webkit.org/show_bug.cgi?id=111692

Patch by Dan Carney <dcarney@google.com> on 2013-03-07
Reviewed by Jochen Eisinger.

No new tests. No change in functionality.

  • bindings/v8/V8ValueCache.cpp:

(WebCore::makeExternalString):

12:27 AM Changeset in webkit [145048] by vsevik@chromium.org
  • 5 edits in trunk

Web Inspector: NavigatorView should show (program) for uiSourceCodes with empty name.
https://bugs.webkit.org/show_bug.cgi?id=111691

Reviewed by Alexander Pavlov.

Source/WebCore:

Made String.prototype methods return string literal, not String object.

  • inspector/front-end/utilities.js:

(String.prototype.escapeCharacters):

LayoutTests:

  • inspector/debugger/navigator-view-expected.txt:
  • inspector/debugger/navigator-view.html:
12:18 AM Changeset in webkit [145047] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Children method in LLINT AST Not class should return [@child]
https://bugs.webkit.org/show_bug.cgi?id=90740

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-03-07
Reviewed by Filip Pizlo.

  • offlineasm/ast.rb: Fixed the return value of the children method in the Not AST class.
12:15 AM WebKitGTK/2.0.x edited by Manuel Rego Casasnovas
Move landed patch to proposed merges (diff)
12:12 AM Changeset in webkit [145046] by jochen@chromium.org
  • 7 edits
    3 copies in trunk/Source/WebKit/chromium

[chromium] expose UserGestureToken via WebKit API so PPAPI plugins can correctly consume it
https://bugs.webkit.org/show_bug.cgi?id=104268

Reviewed by Darin Fisher.

Currently, the PPAPI creates a WebScopedUserGesture up to 10 seconds
after a call with an currently active user gesture was made. It should
use the newly added WebUserGestureToken to make sure this user gesture
is not consumed multiple times.

We can't require a WebUserGestureToken for a WebScopedUserGesture, since
e.g. the extension API needs to be able to create a WebScopedUserGesture
out of the blue.

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebScopedUserGesture.h:

(WebKit):
(WebKit::WebScopedUserGesture::WebScopedUserGesture):
(WebScopedUserGesture):

  • public/WebUserGestureIndicator.h:

(WebKit):
(WebUserGestureIndicator):

  • public/WebUserGestureToken.h: Copied from Source/WebKit/chromium/public/WebScopedUserGesture.h.

(WebCore):
(WebKit):
(WebUserGestureToken):
(WebKit::WebUserGestureToken::WebUserGestureToken):
(WebKit::WebUserGestureToken::operator=):
(WebKit::WebUserGestureToken::~WebUserGestureToken):
(WebKit::WebUserGestureToken::isNull):

  • src/WebScopedUserGesture.cpp:

(WebKit::WebScopedUserGesture::initializeWithToken):
(WebKit):

  • src/WebUserGestureIndicator.cpp:

(WebKit::WebUserGestureIndicator::currentUserGestureToken):
(WebKit):

  • src/WebUserGestureToken.cpp: Copied from Source/WebKit/chromium/src/WebUserGestureIndicator.cpp.

(WebKit):
(WebKit::WebUserGestureToken::WebUserGestureToken):
(WebKit::WebUserGestureToken::operator WebCore::UserGestureToken*):
(WebKit::WebUserGestureToken::assign):
(WebKit::WebUserGestureToken::reset):

  • tests/WebUserGestureTokenTest.cpp: Copied from Source/WebKit/chromium/src/WebUserGestureIndicator.cpp.

(WebCore):
(WebCore::TEST):

12:08 AM Changeset in webkit [145045] by eustas@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Cmd+L (Go-to-Line) masks Go to location bar action
https://bugs.webkit.org/show_bug.cgi?id=111357

Reviewed by Pavel Feldman.

Allow panel shortcut handlers to bubble event.

  • inspector/front-end/GoToLineDialog.js:

(WebInspector.GoToLineDialog.install): Minor refactoring, added JSDocs.
(WebInspector.GoToLineDialog._show): Added JSDocs and return value.

  • inspector/front-end/Panel.js:

(WebInspector.Panel.prototype.handleShortcut):
Mark event as handled iff handler returned true.

  • inspector/front-end/ScriptsPanel.js: Added return values to handlers.
  • inspector/front-end/TimelinePanel.js: Ditto.
Note: See TracTimeline for information about the timeline view.