⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

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:

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:

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)
Note: See TracTimeline for information about the timeline view.