WebKit-https.git
7 years agoNeed to notify ScrollingCoordinator when frame scrollbars are destroyed
commit-queue@webkit.org [Tue, 12 Mar 2013 07:46:42 +0000 (07:46 +0000)]
Need to notify ScrollingCoordinator when frame scrollbars are destroyed
https://bugs.webkit.org/show_bug.cgi?id=112104

Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-03-12
Reviewed by James Robinson.

Need to notify ScrollingCoordinatorChromium whenever m_layerForHorizontalScrollbar /
m_layerForVerticalScrollbar changes, for correct lifetime management.

No new tests. Difficult to test lifetime management internal to ScrollingCoordinatorChromium.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::destroyRootLayer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145493 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed test flakiness fix.
vsevik@chromium.org [Tue, 12 Mar 2013 07:34:29 +0000 (07:34 +0000)]
Unreviewed test flakiness fix.

* inspector/debugger/event-listener-breakpoints.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145492 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDFG prediction propagation phase should not rerun forward propagation if double votin...
fpizlo@apple.com [Tue, 12 Mar 2013 07:02:51 +0000 (07:02 +0000)]
DFG prediction propagation phase should not rerun forward propagation if double voting has already converged
https://bugs.webkit.org/show_bug.cgi?id=111920

Reviewed by Oliver Hunt.

I don't know why we weren't exiting early after double voting if !m_changed.

This change also removes backwards propagation from the voting fixpoint, since at that
point short-circuiting loops is probably not particularly profitable. Profiling shows
that this reduces the time spent in prediction propagation even further.

This change appears to be a 1% SunSpider speed-up.

* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::run):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145491 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed test flakiness fix.
vsevik@chromium.org [Tue, 12 Mar 2013 06:52:47 +0000 (06:52 +0000)]
Unreviewed test flakiness fix.

* inspector/debugger/xhr-breakpoints.html:
* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145490 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDFG overflow check elimination is too smart for its own good
fpizlo@apple.com [Tue, 12 Mar 2013 06:43:54 +0000 (06:43 +0000)]
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 2^32 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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145489 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoNot reviewed: Chromium expectations updated.
pfeldman@chromium.org [Tue, 12 Mar 2013 06:26:22 +0000 (06:26 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145488 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoNot reviewed: Chromium expectations updated.
pfeldman@chromium.org [Tue, 12 Mar 2013 06:20:46 +0000 (06:20 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145487 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWe'll get there eventually.
simon.fraser@apple.com [Tue, 12 Mar 2013 06:20:19 +0000 (06:20 +0000)]
We'll get there eventually.

* platform/graphics/ca/win/PlatformCAFiltersWin.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145486 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoLoads are never canceled in the NetworkProcess
beidson@apple.com [Tue, 12 Mar 2013 06:12:25 +0000 (06:12 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145485 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFumbled adding new files to the vcproj. Fixing.
simon.fraser@apple.com [Tue, 12 Mar 2013 06:10:21 +0000 (06:10 +0000)]
Fumbled adding new files to the vcproj. Fixing.

* WebCore.vcproj/WebCore.vcproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145484 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix the Windows build by providing implementations of PlatformCAFilters::setFiltersOn...
simon.fraser@apple.com [Tue, 12 Mar 2013 05:51:46 +0000 (05:51 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145483 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoHarden JSStringJoiner
oliver@apple.com [Tue, 12 Mar 2013 05:51:05 +0000 (05:51 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145482 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDon't create multiple user gesture indicators when forwarding events to sub frames
jochen@chromium.org [Tue, 12 Mar 2013 05:45:19 +0000 (05:45 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145481 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix Windows build.
simon.fraser@apple.com [Tue, 12 Mar 2013 05:37:50 +0000 (05:37 +0000)]
Fix Windows build.

* platform/graphics/ca/win/PlatformCAAnimationWin.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145480 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoNot reviewed: Chromium expectations updated.
pfeldman@chromium.org [Tue, 12 Mar 2013 05:23:08 +0000 (05:23 +0000)]
Not reviewed: Chromium expectations updated.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145479 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoNot reviewed: Chromium rebaselines.
pfeldman@chromium.org [Tue, 12 Mar 2013 05:10:33 +0000 (05:10 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145478 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPDFPlugin: Return PDFKit's data instead of the original resource data for save/etc.
timothy_horton@apple.com [Tue, 12 Mar 2013 05:10:03 +0000 (05:10 +0000)]
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().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145477 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoNot reviewed: Chromium rebaselines.
pfeldman@chromium.org [Tue, 12 Mar 2013 05:00:00 +0000 (05:00 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145476 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix after http://trac.webkit.org/changeset/145472.
timothy_horton@apple.com [Tue, 12 Mar 2013 04:58:55 +0000 (04:58 +0000)]
Unreviewed build fix after trac.webkit.org/changeset/145472.

* platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
(PlatformCAFilters::colorMatrixValueForFilter):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145475 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS] shadow from radius has wrong render in webkit
tasak@google.com [Tue, 12 Mar 2013 04:55:16 +0000 (04:55 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145474 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Fix flaky timeouts in platform/chromium/events/fast/events/intercept-postm...
commit-queue@webkit.org [Tue, 12 Mar 2013 04:22:44 +0000 (04:22 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145473 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CA] Animations of CSS filters don't work correctly
simon.fraser@apple.com [Tue, 12 Mar 2013 04:02:52 +0000 (04:02 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145472 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r145462.
commit-queue@webkit.org [Tue, 12 Mar 2013 03:00:16 +0000 (03:00 +0000)]
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::]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145471 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Mac][WK1] Add support for alert() in MiniBrowser.
akling@apple.com [Tue, 12 Mar 2013 02:38:04 +0000 (02:38 +0000)]
[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:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145468 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMove SharedWorkerRepository functions out of DefaultSharedWorkerRepository
ap@apple.com [Tue, 12 Mar 2013 02:24:17 +0000 (02:24 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145466 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMake BackgroundHTMLParser work with doc.writes that enter or leave foreign content
abarth@webkit.org [Tue, 12 Mar 2013 02:09:50 +0000 (02:09 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145464 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoReplace static_casts with to* functions.
inferno@chromium.org [Tue, 12 Mar 2013 01:59:09 +0000 (01:59 +0000)]
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::]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145462 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Rolled Chromium DEPS to r187216. Requested by
commit-queue@webkit.org [Tue, 12 Mar 2013 01:56:40 +0000 (01:56 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145461 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoReplace static_casts for SVGSVGElement and SVGStopElement
pdr@google.com [Tue, 12 Mar 2013 01:50:07 +0000 (01:50 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145459 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[wk2] WebProcess and WebContentService don't respect system localization
timothy_horton@apple.com [Tue, 12 Mar 2013 01:42:07 +0000 (01:42 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145458 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSmall code cleanup in RenderFlexibleBox
tony@chromium.org [Tue, 12 Mar 2013 01:39:24 +0000 (01:39 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145457 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRename DefinitelyProcessingUserGesture to DefinitelyProcessingNewUserGesture
jochen@chromium.org [Tue, 12 Mar 2013 01:15:57 +0000 (01:15 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145453 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Move WebFileSystemCallbacks to Platform/
pilgrim@chromium.org [Tue, 12 Mar 2013 01:13:50 +0000 (01:13 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145452 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRuby text is incorrectly positioned when its writing-mode is changed to vertical...
commit-queue@webkit.org [Tue, 12 Mar 2013 01:12:11 +0000 (01:12 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145451 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[css3-text] Add partial parsing support for text-underline-position property from...
commit-queue@webkit.org [Tue, 12 Mar 2013 01:10:35 +0000 (01:10 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145450 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoHit testing should use ancestorInThisScope to get the non-shadow ancestor
commit-queue@webkit.org [Tue, 12 Mar 2013 01:08:34 +0000 (01:08 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145448 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDashboard cleanup: Create ui.Errors
jparent@chromium.org [Tue, 12 Mar 2013 01:07:10 +0000 (01:07 +0000)]
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:
(.):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145447 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMore chromium layer tree rebaselines for r145422
jamesr@google.com [Tue, 12 Mar 2013 00:53:06 +0000 (00:53 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145445 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoReplace static_cast with to* helper functions.
inferno@chromium.org [Tue, 12 Mar 2013 00:50:46 +0000 (00:50 +0000)]
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:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145444 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Use SkMatrix44 instead of WebTransformationMatrix in animation APIs
commit-queue@webkit.org [Tue, 12 Mar 2013 00:45:33 +0000 (00:45 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145442 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r145435.
commit-queue@webkit.org [Tue, 12 Mar 2013 00:16:50 +0000 (00:16 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145441 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFirst (of probably many) layer tree rebaselines for r145422
jamesr@google.com [Tue, 12 Mar 2013 00:07:40 +0000 (00:07 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145436 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIndexedDB: Protect against key prefix overflows
alecflett@chromium.org [Mon, 11 Mar 2013 23:57:21 +0000 (23:57 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145435 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoReplace static_cast<SVGStyledElement> with toSVGStyledElement()
pdr@google.com [Mon, 11 Mar 2013 23:48:37 +0000 (23:48 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPDFPlugin: Make scrolling between pages in non-continuous modes work
timothy_horton@apple.com [Mon, 11 Mar 2013 23:47:20 +0000 (23:47 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145432 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove the use of the quotaMap cache in DatabaseTracker.
mark.lam@apple.com [Mon, 11 Mar 2013 23:44:01 +0000 (23:44 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145431 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDe-flake fast/dom/title-directionality.html
jamesr@google.com [Mon, 11 Mar 2013 23:40:36 +0000 (23:40 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145429 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDon't rely on the fact that StaticPosition happens to be defined as 0
commit-queue@webkit.org [Mon, 11 Mar 2013 23:40:19 +0000 (23:40 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145428 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Autotools] Set ENABLE_GTK_DOC to false if gtk-doc is not installed
commit-queue@webkit.org [Mon, 11 Mar 2013 23:39:05 +0000 (23:39 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145427 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix some WebDatabaseManagerProxy methods to only send to one WebProcsess
mark.lam@apple.com [Mon, 11 Mar 2013 23:36:07 +0000 (23:36 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145426 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed attempt to fix build after http://trac.webkit.org/changeset/145421.
abarth@webkit.org [Mon, 11 Mar 2013 23:25:41 +0000 (23:25 +0000)]
Unreviewed attempt to fix build after trac.webkit.org/changeset/145421.

* html/HTMLPlugInImageElement.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145425 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIntrinsic width keyword values don't work for tables
ojan@chromium.org [Mon, 11 Mar 2013 23:20:56 +0000 (23:20 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145424 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoHTMLInputElement can delete an ImageLoader while it's still needed
schenney@chromium.org [Mon, 11 Mar 2013 23:18:44 +0000 (23:18 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145423 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRevert "Mark GraphicsLayers as opaque when possible"
alokp@chromium.org [Mon, 11 Mar 2013 22:59:58 +0000 (22:59 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145422 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPlugins created during user gestures (or soon after) should not be snapshotted
dino@apple.com [Mon, 11 Mar 2013 22:51:43 +0000 (22:51 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145421 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix. Rolling out inadvertent setting of DATA_LOG_TO_FILE.
msaboff@apple.com [Mon, 11 Mar 2013 22:45:06 +0000 (22:45 +0000)]
Unreviewed build fix.  Rolling out inadvertent setting of DATA_LOG_TO_FILE.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145420 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoList cache partitions as units instead of as their contents
jpfau@apple.com [Mon, 11 Mar 2013 22:38:27 +0000 (22:38 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145419 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUpdate chromium render tree baselines for track cue changes in r145397.
jamesr@google.com [Mon, 11 Mar 2013 22:37:41 +0000 (22:37 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145418 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCrash beneath operationCreateInlinedArguments running fast/js/dfg-create-inlined...
msaboff@apple.com [Mon, 11 Mar 2013 22:36:28 +0000 (22:36 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145417 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago Chromium build fix. Forked files strike again.
ap@apple.com [Mon, 11 Mar 2013 22:32:29 +0000 (22:32 +0000)]
    Chromium build fix. Forked files strike again.

        * platform/network/chromium/ResourceHandle.cpp:
        (WebCore::ResourceHandle::firstRequest):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145416 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Add a method to find the ScrollView for a text selection.
commit-queue@webkit.org [Mon, 11 Mar 2013 22:25:51 +0000 (22:25 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix. Remove stray brace which crept into r145409.
jer.noble@apple.com [Mon, 11 Mar 2013 22:22:33 +0000 (22:22 +0000)]
Unreviewed build fix.  Remove stray brace which crept into r145409.

* WebView/WebFullScreenController.mm:
(-[WebFullScreenController performClose:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145414 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix typo from r145399. Rubber stamped by Abhishek Arya.
jamesr@google.com [Mon, 11 Mar 2013 22:18:58 +0000 (22:18 +0000)]
Fix typo from r145399. Rubber stamped by Abhishek Arya.

* rendering/svg/RenderSVGViewportContainer.h:
(WebCore::toRenderSVGViewportContainer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSome StringHasher tests are broken because of missing null termination
ggaren@apple.com [Mon, 11 Mar 2013 22:15:06 +0000 (22:15 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145412 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Exclusions] Refactor the ExclusionPolygon class to enable storing multiple bound...
hmuller@adobe.com [Mon, 11 Mar 2013 22:12:19 +0000 (22:12 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145411 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago Roll out part of r144671.
ap@apple.com [Mon, 11 Mar 2013 21:53:58 +0000 (21:53 +0000)]
    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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145410 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSource/WebCore: Mac: Cmd-w should close full screen window.
jer.noble@apple.com [Mon, 11 Mar 2013 21:51:19 +0000 (21:51 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145409 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoModernize the test visited-link-background-color.html
benjamin@webkit.org [Mon, 11 Mar 2013 21:48:19 +0000 (21:48 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145408 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Bump version
csaavedra@igalia.com [Mon, 11 Mar 2013 21:37:44 +0000 (21:37 +0000)]
[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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145407 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] chromium/linux breaks expectation of select popup background due to bad...
commit-queue@webkit.org [Mon, 11 Mar 2013 21:35:18 +0000 (21:35 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145406 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCompile fix. Rubber-stamp by Eric Seidel.
jamesr@google.com [Mon, 11 Mar 2013 21:26:30 +0000 (21:26 +0000)]
Compile fix. Rubber-stamp by Eric Seidel.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145405 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix build for r145397 (part 2)
dgorbik@apple.com [Mon, 11 Mar 2013 21:20:36 +0000 (21:20 +0000)]
Fix build for r145397 (part 2)

Unreviewed.

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::getDisplayTree):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145404 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix build for r145397
dgorbik@apple.com [Mon, 11 Mar 2013 21:06:44 +0000 (21:06 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145403 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r144818.
commit-queue@webkit.org [Mon, 11 Mar 2013 21:03:58 +0000 (21:03 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145402 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMake SegmentedVector Noncopyable
oliver@apple.com [Mon, 11 Mar 2013 21:02:39 +0000 (21:02 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r145200.
zandobersek@gmail.com [Mon, 11 Mar 2013 21:01:53 +0000 (21:01 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145400 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd ASSERT_WITH_SECURITY_IMPLICATION to catch bad casts.
inferno@chromium.org [Mon, 11 Mar 2013 20:57:44 +0000 (20:57 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFactor HTMLTreeBuilderSimulator out of BackgroundHTMLParser
abarth@webkit.org [Mon, 11 Mar 2013 20:53:47 +0000 (20:53 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145398 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoNot all properties apply to the '::cue' pseudo-element
dgorbik@apple.com [Mon, 11 Mar 2013 20:43:43 +0000 (20:43 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145397 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Set the documentViewportRect and viewport size.
commit-queue@webkit.org [Mon, 11 Mar 2013 20:40:50 +0000 (20:40 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145396 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] WebKit2-only build fails
zandobersek@gmail.com [Mon, 11 Mar 2013 20:22:24 +0000 (20:22 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145395 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUpdate chromium expectations.
jamesr@google.com [Mon, 11 Mar 2013 20:17:33 +0000 (20:17 +0000)]
Update chromium expectations.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145394 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoChromeClient.h doesn’t need to include RenderSnapshottedPlugIn
timothy_horton@apple.com [Mon, 11 Mar 2013 20:03:10 +0000 (20:03 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145393 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoVertical writing doesn't work with form controls.
hyatt@apple.com [Mon, 11 Mar 2013 20:00:37 +0000 (20:00 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[wk2] Search With [your search provider here] should use NSPerformService in WebKit2/Mac
timothy_horton@apple.com [Mon, 11 Mar 2013 19:59:07 +0000 (19:59 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoTiledBacking scrolling coverage can be unfairly limited for clients who do scrolling...
timothy_horton@apple.com [Mon, 11 Mar 2013 19:57:23 +0000 (19:57 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145389 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdding myself to the committers.py
dgorbik@apple.com [Mon, 11 Mar 2013 19:54:06 +0000 (19:54 +0000)]
Adding myself to the committers.py

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145388 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGetnUniform*vEXT (Robustness extension) passed incorrect parameter in WebGLRenderingC...
commit-queue@webkit.org [Mon, 11 Mar 2013 19:49:56 +0000 (19:49 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145387 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2] Add C API preference: accelerated compositing for overflow scroll
commit-queue@webkit.org [Mon, 11 Mar 2013 19:48:52 +0000 (19:48 +0000)]
[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@nokia.com> on 2013-03-11
Reviewed by Simon Fraser.

* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAcceleratedCompositingForOverflowScrollEnabled):
(WKPreferencesGetAcceleratedCompositingForOverflowScrollEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145386 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r145375.
commit-queue@webkit.org [Mon, 11 Mar 2013 19:42:02 +0000 (19:42 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145385 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCoreIPC crash in NetworkProcess after WebProcess crash.
beidson@apple.com [Mon, 11 Mar 2013 19:24:46 +0000 (19:24 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145380 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMutationCallback should be a WebIDL 'callback', not a [Callback] interface
adamk@chromium.org [Mon, 11 Mar 2013 19:16:01 +0000 (19:16 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145379 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Grid Layout] Handle spanning grid items over specified grid tracks
jchaffraix@webkit.org [Mon, 11 Mar 2013 19:07:54 +0000 (19:07 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145378 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoReplace SVG's static_cast<SVGElement> with toSVGElement()
pdr@google.com [Mon, 11 Mar 2013 18:43:48 +0000 (18:43 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145377 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[SOUP] ResourceRequest::updateSoupMessage doesn't update the URI of the soup message
commit-queue@webkit.org [Mon, 11 Mar 2013 18:24:21 +0000 (18:24 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145376 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIndexedDB: Protect against key prefix overflows
alecflett@chromium.org [Mon, 11 Mar 2013 17:37:53 +0000 (17:37 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145375 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Disable MathML support
commit-queue@webkit.org [Mon, 11 Mar 2013 17:17:34 +0000 (17:17 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145373 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] PlatformBlackBerry.cmake: create thin AR archives
commit-queue@webkit.org [Mon, 11 Mar 2013 17:07:51 +0000 (17:07 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145372 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: fix styles toolbar in the vertical mode.
pfeldman@chromium.org [Mon, 11 Mar 2013 16:07:41 +0000 (16:07 +0000)]
Web Inspector: fix styles toolbar in the vertical mode.
Not reviewed: swapped two lines.

* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype._splitVertically):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145371 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: [CodeMirror] add token highlight feature
commit-queue@webkit.org [Mon, 11 Mar 2013 15:59:24 +0000 (15:59 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145370 268f45cc-cd09-0410-ab3c-d52691b4dbfc