WebKit-https.git
6 years agoEME v0.1: Report defaultURL in KeyMessage.
commit-queue@webkit.org [Fri, 14 Dec 2012 08:25:00 +0000 (08:25 +0000)]
EME v0.1: Report defaultURL in KeyMessage.
https://bugs.webkit.org/show_bug.cgi?id=104284

Patch by David Dorwin <ddorwin@chromium.org> on 2012-12-14
Reviewed by Darin Fisher.

Passes defaultURL down from the media engine to HTMLMediaElement.
Only Valid URLs will be passed.

No test because Clear Key does not provide a defaultURL (in v0.1).

Source/WebCore:

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerKeyMessage):
* html/HTMLMediaElement.h:
(HTMLMediaElement):
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::keyMessage):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerKeyAdded):
(WebCore::MediaPlayerClient::mediaPlayerKeyError):
(WebCore::MediaPlayerClient::mediaPlayerKeyMessage):
(WebCore::MediaPlayerClient::mediaPlayerKeyNeeded):
(MediaPlayer):

Source/WebKit/chromium:

* public/WebMediaPlayerClient.h:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::keyMessage):
(WebKit):
(WebKit::WebMediaPlayerClient::keyMessage):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):

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

6 years agoUnreviewed, rolling out r137720.
yosin@chromium.org [Fri, 14 Dec 2012 08:19:46 +0000 (08:19 +0000)]
Unreviewed, rolling out r137720.
http://trac.webkit.org/changeset/137720
https://bugs.webkit.org/show_bug.cgi?id=104991

Wrong Commit

* platform/chromium/TestExpectations:

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

6 years agoUnreviewed, rolling out r137719.
yosin@chromium.org [Fri, 14 Dec 2012 08:14:53 +0000 (08:14 +0000)]
Unreviewed, rolling out r137719.
http://trac.webkit.org/changeset/137719
https://bugs.webkit.org/show_bug.cgi?id=104991

Wrong commit

* platform/chromium-win/fast/events/panScroll-click-hyperlink-expected.txt: Removed.
* platform/chromium-win/fast/events/panScroll-click-hyperlink.html: Removed.
* platform/chromium-win/fast/events/panScroll-event-fired-expected.txt: Removed.
* platform/chromium-win/fast/events/panScroll-event-fired.html: Removed.
* platform/chromium-win/fast/events/panScroll-nested-divs-expected.txt: Removed.
* platform/chromium-win/fast/events/panScroll-nested-divs.html: Removed.

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

6 years ago[GTK] accessibility/ellipsis-text.html is failing
commit-queue@webkit.org [Fri, 14 Dec 2012 08:13:29 +0000 (08:13 +0000)]
[GTK] accessibility/ellipsis-text.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98365

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-12-14
Reviewed by Martin Robinson.

The test was failing due to differences in the accessible hierarchies
with respect to which object contains the accessible text. The solution
is to conditionalize the test.

* accessibility/ellipsis-text.html: Modified to handle differences in
the accessible hierarchy
* platform/gtk/TestExpectations: Unskipped the failing test

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

6 years agoSuspend
yosin@chromium.org [Fri, 14 Dec 2012 08:12:22 +0000 (08:12 +0000)]
Suspend

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

6 years agoSuspend 2012-12-14T14:48
yosin@chromium.org [Fri, 14 Dec 2012 08:12:09 +0000 (08:12 +0000)]
Suspend 2012-12-14T14:48

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

6 years ago[EFL][WK2] Do not pass size to updateViewportSize
kenneth@webkit.org [Fri, 14 Dec 2012 08:01:10 +0000 (08:01 +0000)]
[EFL][WK2] Do not pass size to updateViewportSize
https://bugs.webkit.org/show_bug.cgi?id=104994

Reviewed by Gyuyoung Kim.

There is no need to pass size to updateViewportSize as we
have direct access to it. This makes the code differ less
from Qt.

* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::pageDidRequestScroll):
* UIProcess/efl/PageClientBase.h:
(PageClientBase):
* UIProcess/efl/PageClientDefaultImpl.cpp:
(WebKit::PageClientDefaultImpl::updateViewportSize):
* UIProcess/efl/PageClientDefaultImpl.h:
(PageClientDefaultImpl):
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::updateViewportSize):
* UIProcess/efl/PageClientLegacyImpl.h:
(PageClientLegacyImpl):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
* UIProcess/efl/PageViewportControllerClientEfl.h:
(PageViewportControllerClientEfl):

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

6 years agoContentDistributor and ShadowRootContentDistributionData should use RefPtr to hold...
morrita@google.com [Fri, 14 Dec 2012 07:45:46 +0000 (07:45 +0000)]
ContentDistributor and ShadowRootContentDistributionData should use RefPtr to hold elements.
https://bugs.webkit.org/show_bug.cgi?id=104918

Reviewed by Kentaro Hara.

This change turns some raw pointers to RefPtrs.

No new tests. Hard to write reliable fast tests since the error
reproduction needs GC to run in certain timing. Although original
report has a repdocution, it takes a few seconds before crash and
isn't suited for a layout test.

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::insertionPointList):
* dom/ShadowRoot.h:
(ShadowRoot):
* html/shadow/ContentDistributor.cpp:
(WebCore::ShadowRootContentDistributionData::ensureInsertionPointList):
(WebCore::ContentDistributor::findInsertionPointFor):
(WebCore::ContentDistributor::distribute):
(WebCore::ContentDistributor::invalidate):
* html/shadow/ContentDistributor.h:
(ShadowRootContentDistributionData):
(ContentDistributor):

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

6 years agoFix build warning
commit-queue@webkit.org [Fri, 14 Dec 2012 07:30:53 +0000 (07:30 +0000)]
Fix build warning
https://bugs.webkit.org/show_bug.cgi?id=104978

Patch by Sanghyup Lee <sh53.lee@samsung.com> on 2012-12-13
Reviewed by Kentaro Hara.

Initialize parameter 'downloadID' to fix 'unused parameter' build warning.

* WebProcess/Downloads/Download.cpp:
(WebKit::Download::Download):

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

6 years agoNodeRenderingContext is slow due to ComposedShadowTreeWalker
morrita@google.com [Fri, 14 Dec 2012 06:50:52 +0000 (06:50 +0000)]
NodeRenderingContext is slow due to ComposedShadowTreeWalker
https://bugs.webkit.org/show_bug.cgi?id=104332

Reviewed by Dimitri Glazkov.

NodeRenderingContext has some slowness due to the complexity of
ComposedShadowTreeWalker that NRC relies on. This change
creates some fast paths to address such slowness.

= NodeRenderingTraversal module:

This change introduces NodeRenderingTraversal namespace, a sister
of NodeTraversal. NRT consists of a set of tree traversal
functions that is responsible for traversal in NRC.  Before this
change, NRC directly used CSTW. This NRT module hides and narrows
the usage of CSTW.

- Traversals provided by NRT have fast paths. In many case, such traversals
  don't need to use CSTW and just goes to neighboring nodes in a plain DOM way.
- It also handles NRC specific traversal concerns like pseudo elements.
  CSTW::pseudoAwareNextSibling() and CSTW::pseudoAwarePreviousSibling() are
  merged into this module.
- CSTW::ParentTraversalDetails is moved and renamed to
  NRT::ParentDetails with small modification. This is a pure
  refactoring: As the name implies, This class is used only by NRC
  and used during a traversal there.

NodeRenderingTraversal is an isolation layer between generic DOM and CSTW. This hides CSTW
behind the wall and will help further reduction of its usage.

= Node::NeedsShadowTreeWalkerFlag flag:

NRT fast path is enabled by newly introduced NeedsShadowTreeWalker
node flag. Each DOM node is now markd as NeedsShadowTreeWalker if
it requires non-trivial traversal in NRT which uses CSTW. This
means that each node can go fast path unless it is marked with this flag.

A node is marked as it NeedsShadowTreeWalker if:

- The node is a shadow boundary like InsertionPoint or ShadowRoot,
- The node has pseudo elements like generated content or
- The node is a pseudo element.

This criteria is defined in Node::needsShadowTreeWalkerSlow(). The node actually needs
the walker if the node or its parent is marked with this flag.

The original idea of this change was demonstrated by Antti Koivisto on bug 103208 and bug 104507.
This chagne has 2-3% speedup on Dromaeo/dom-modify/innerHTML on Apple Mac.

No new tests. Covered by existing tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* dom/ComposedShadowTreeWalker.cpp:
* dom/ComposedShadowTreeWalker.h:
(ComposedShadowTreeWalker): Move some part to NodeRenderingTraversal
* dom/ContainerNode.h:
(WebCore::Node::needsShadowTreeWalker): Added. This is located here since it refers ContainerNode definition.
(WebCore):
* dom/DOMAllInOne.cpp:
* dom/Element.cpp:
(WebCore::Element::updatePseudoElement): Refactored.
(WebCore::Element::hasPseudoElements): Ditto.
(WebCore::Element::pseudoElement): Ditto.
(WebCore::Element::setPseudoElement): Refactored and added a flag update logic.
(WebCore):
* dom/Element.h:
(Element):
(WebCore::Element::beforePseudoElement): Refactored.
(WebCore::Element::afterPseudoElement): Refactored.
* dom/ElementRareData.h:
(WebCore::ElementRareData::hasPseudoElements): Factored out.
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::addShadowRoot): Added a flag update logic.
* dom/Node.cpp:
(WebCore::Node::needsShadowTreeWalkerSlow): Added.
* dom/Node.h:
(WebCore::Node::isInsertionPointNode): Added.
(Node):
(WebCore::Node::isInsertionPoint): Changed to use NeedsShadowTreeWalkerFlag.
(WebCore::Node::setNeedsShadowTreeWalker):
(WebCore::Node::resetNeedsShadowTreeWalker):
* dom/NodeRenderingContext.cpp: Adopted NodeRenderingTraversal.
(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):
(WebCore::NodeRenderingContext::parentRenderer):
(WebCore::NodeRenderingContext::shouldCreateRenderer):
* dom/NodeRenderingContext.h: Ditto.
(NodeRenderingContext):
(WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
* dom/NodeRenderingTraversal.cpp: Added.
(WebCore):
(NodeRenderingTraversal):
(WebCore::NodeRenderingTraversal::ParentDetails::didTraverseInsertionPoint): Moved from ComposedShadowTreeWalker
(WebCore::NodeRenderingTraversal::ParentDetails::didTraverseShadowRoot): Ditto.
(WebCore::NodeRenderingTraversal::parentSlow): Ditto.
(WebCore::NodeRenderingTraversal::nextSiblingSlow): Ditto. The original was pseudoAwareNextSibling.
(WebCore::NodeRenderingTraversal::previousSiblingSlow): Ditto. The original was pseudoAwarePreviousSibling.
* dom/NodeRenderingTraversal.h: Added.
(WebCore):
(NodeRenderingTraversal):
(ParentDetails): Moved from ComposedShadowTreeWalker.
(WebCore::NodeRenderingTraversal::ParentDetails::ParentDetails):
(WebCore::NodeRenderingTraversal::ParentDetails::insertionPoint):
(WebCore::NodeRenderingTraversal::ParentDetails::resetStyleInheritance):
(WebCore::NodeRenderingTraversal::ParentDetails::outOfComposition):
(WebCore::NodeRenderingTraversal::ParentDetails::childWasOutOfComposition):
(WebCore::NodeRenderingTraversal::ParentDetails::operator==):
(WebCore::NodeRenderingTraversal::parent):
(WebCore::NodeRenderingTraversal::nextSibling):
(WebCore::NodeRenderingTraversal::previousSibling):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::PseudoElement): Added an assertion.
* dom/Text.cpp:
* html/HTMLOptGroupElement.cpp: Added a #include which revealed by a chagne on NodeRenderingContext.h
* html/HTMLOptionElement.cpp: Ditto.
* html/HTMLProgressElement.cpp: Dito.
* html/shadow/InsertionPoint.h: Added an override of isInsertionPointNode().

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

6 years agoAdd --profiler=PROFILER option to run-perf-tests to allow specifying which profiler...
eric@webkit.org [Fri, 14 Dec 2012 06:41:24 +0000 (06:41 +0000)]
Add --profiler=PROFILER option to run-perf-tests to allow specifying which profiler to use on platforms with many
https://bugs.webkit.org/show_bug.cgi?id=104891

Reviewed by Ryosuke Niwa.

I also implemented a very simple "Sample" Profiler using
Mac OS X's /usr/bin/sample command line tool.

The real reason for this abstraction is to make it easy
to support both perf and pprof on linux which seem to
be about equally popular among those I ask in the Chrome team.

* Scripts/webkitpy/common/system/profiler.py:
(ProfilerFactory.create_profiler):
(ProfilerFactory):
(ProfilerFactory.available_profilers_by_name):
(ProfilerFactory.default_profiler_name):
(Sample):
(Sample.__init__):
(Sample.attach_to_pid):
(Sample.profile_after_exit):
(IProfiler.attach_to_pid):
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.__init__):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):

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

6 years agoRefactoring: Fix indentation of ChromeClient.h
tkent@chromium.org [Fri, 14 Dec 2012 05:43:03 +0000 (05:43 +0000)]
Refactoring: Fix indentation of ChromeClient.h
https://bugs.webkit.org/show_bug.cgi?id=104989

Reviewed by Kentaro Hara.

The contents of an outermost namespace block should not be indented.
http://www.webkit.org/coding/coding-style.html#indentation-namespace

No behavior change.

* page/ChromeClient.h:

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

6 years agoSeconds/Minutes field of date/time input UI should respect step attribute
commit-queue@webkit.org [Fri, 14 Dec 2012 04:56:22 +0000 (04:56 +0000)]
Seconds/Minutes field of date/time input UI should respect step attribute
https://bugs.webkit.org/show_bug.cgi?id=104985

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-12-13
Reviewed by Kent Tamura.

Source/WebCore:

This patch makes step-up/-down UI of the seconds and minutes fields respect
step attribute when possible.

Test: fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html

* html/shadow/DateTimeEditElement.cpp:
(DateTimeEditBuilder):
(WebCore::DateTimeEditBuilder::visitField): Compute step parameters for seconds and minutes fields, and pass it to the field element constructors.
(WebCore::DateTimeEditBuilder::createNumericFieldParameters): Added.
* html/shadow/DateTimeFieldElements.cpp:
(WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement): Use Parameters instead of step and stepBase.
(WebCore::DateTimeMillisecondFieldElement::create): Ditto.
(WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement): Add Parameters argument.
(WebCore::DateTimeMinuteFieldElement::create): Ditto.
(WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement): Ditto.
(WebCore::DateTimeSecondFieldElement::create): Ditto.
* html/shadow/DateTimeFieldElements.h:
(DateTimeMillisecondFieldElement): Use Parameters instead of step and stepBase.
(DateTimeMinuteFieldElement): Add Parameters argument.
(DateTimeSecondFieldElement): Ditto.
* html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement): Use Parameters instead of step and stepBase.
* html/shadow/DateTimeNumericFieldElement.h:
(DateTimeNumericFieldElement):
(WebCore::DateTimeNumericFieldElement::Parameters::Parameters):
(Parameters): Added.

LayoutTests:

* fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-expected.txt:
* fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html:
Added test cases for seconds and minutes fields.
Update an expectation for milliseconds: value=07:13:00.500, step=0 should round to 07:13:00.000
(setInputAttributes): Set value attribute first to avoid the focused field becomes read-only and unfocused.

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

6 years agoUnreviewed, fixing typo in python unittest.
eric@webkit.org [Fri, 14 Dec 2012 04:52:43 +0000 (04:52 +0000)]
Unreviewed, fixing typo in python unittest.

I changed the default profiler on linux from pprof to perf in
bug 104971.  I failed to update the unittest results at that time.

* Scripts/webkitpy/common/system/profiler_unittest.py:
(ProfilerFactoryTest.test_basic):

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

6 years ago[chromium] Add a virtual test suite for enabling opt-in to composited scrolling
vollick@chromium.org [Fri, 14 Dec 2012 04:48:11 +0000 (04:48 +0000)]
[chromium] Add a virtual test suite for enabling opt-in to composited scrolling
https://bugs.webkit.org/show_bug.cgi?id=104911

Reviewed by Dirk Pranke.

Tools:

Adds two virtual tests suites to run the tests in
compositing/overflow/ and scrollbars/ with the flag
--enable-accelerated-overflow-scroll, which I've also plumbed through
in the usual way.

* DumpRenderTree/chromium/DumpRenderTree.cpp:
(main):
* DumpRenderTree/chromium/TestRunner/public/WebPreferences.h:
(WebPreferences):
* DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp:
(WebTestRunner::WebPreferences::reset):
(WebTestRunner::WebPreferences::applyTo):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
(TestShell::resetWebSettings):
* DumpRenderTree/chromium/TestShell.h:
(TestShell::setAcceleratedCompositingForOverflowScrollEnabled):
(TestShell):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.virtual_test_suites):

LayoutTests:

Updated the test expectations for the virtual test suite to match the
usual chromium test expectations.

* platform/chromium/TestExpectations:

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

6 years agoAttempt to rationalize and simplify WTF::binarySearch
fpizlo@apple.com [Fri, 14 Dec 2012 04:41:58 +0000 (04:41 +0000)]
Attempt to rationalize and simplify WTF::binarySearch
https://bugs.webkit.org/show_bug.cgi?id=104890

Reviewed by Maciej Stachowiak.

Source/JavaScriptCore:

Switch to using the new binarySearch() API. No change in behavior.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::bytecodeOffset):
(JSC::CodeBlock::codeOriginForReturn):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::getStubInfo):
(JSC::CodeBlock::getByValInfo):
(JSC::CodeBlock::getCallLinkInfo):
(JSC::CodeBlock::dfgOSREntryDataForBytecodeIndex):
(JSC::CodeBlock::valueProfileForBytecodeOffset):
(JSC::CodeBlock::rareCaseProfileForBytecodeOffset):
(JSC::CodeBlock::specialFastCaseProfileForBytecodeOffset):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::blockIndexForBytecodeOffset):
* dfg/DFGMinifiedGraph.h:
(JSC::DFG::MinifiedGraph::at):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* profiler/ProfilerBytecodeSequence.cpp:
(JSC::Profiler::BytecodeSequence::indexForBytecodeIndex):

Source/WebCore:

Switch to using the new binarySearch() API. No change in behavior, so no new tests.

* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::findInstanceTime):

Source/WTF:

Binary search now has three modes:

The default: assert that the key was found, but return an adjacent element if it
wasn't found, if asserts are turned off.

tryBinarySearch: return 0 if the key wasn't found.

approximateBinarySearch: if the key is not found, return an adjacent element (either
the left or right; no guarantee which).

This also reduces the number of variants of binarySearch. The functor variant is now
gone because binarySearch now always uses a functor for the key extractor. The
generic variant is now gone because binarySearch always expects an array type that
can do operator[].

* wtf/StdLibExtras.h:
(WTF::binarySearchImpl):
(WTF::binarySearch):
(WTF::tryBinarySearch):
(WTF::approximateBinarySearch):

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

6 years ago[Shadow DOM]: scoped styles are not applied in the cascade order.
tasak@google.com [Fri, 14 Dec 2012 04:40:47 +0000 (04:40 +0000)]
[Shadow DOM]: scoped styles are not applied in the cascade order.
https://bugs.webkit.org/show_bug.cgi?id=103239

Reviewed by Dimitri Glazkov.

Source/WebCore:

If the scoping elements of two declarations have an ancestor/
descendant relationship, the declaration whose scoping element is
the descendant should win.
c.f. http://dev.w3.org/csswg/css3-cascade/#cascade

Test: fast/css/style-scoped/style-scoped-nested.html
      fast/css/style-scoped/style-scoped-with-important-rule.html

* css/RuleSet.cpp:
(WebCore::RuleSet::addRule):
Removed specificity for @host @-rules. Now @host @-rules use the
cascading order instead.
* css/RuleSet.h:
Removed increaseSpecificity. The method is used by only @host @-rules.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::matchScopedAuthorRules):
(WebCore::StyleResolver::matchHostRules):
(WebCore::StyleResolver::matchAuthorRules):
Modified to invoke sortAndTransferMatchedRules per scoping element.
The order of "matchXXXRules" must be the same as the cascading order.
So matchHostRules was invoked after collecting all scoped author rules.
* css/StyleScopeResolver.cpp:
(WebCore::StyleScopeResolver::addHostRule):
Removed RuleIsHostRule. We don't need the flag.
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::registerWithScopingNode):
Needs to pass the last test case of style-scoped-nested.html.
When appending some style element to a shadow root, we should recalc
styles of all elements in the shadow dom tree. And if the style
element has @host @-rules, we have to update the host's style.

LayoutTests:

* fast/css/style-scoped/style-scoped-nested-expected.txt: Added.
* fast/css/style-scoped/style-scoped-nested.html: Added.
* fast/css/style-scoped/style-scoped-with-important-rule-expected.txt: Added.
* fast/css/style-scoped/style-scoped-with-important-rule.html: Added.
* fast/regions/style-scoped-in-flow-override-region-styling-expected.html:
* fast/regions/style-scoped-in-flow-override-region-styling.html:
Changed the test's expectation.
Since @region's scoping element is :root but scoped styles' scoping
element is a descendant element of :root, scoped styles should win.

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

6 years agoMediaPlayerPrivateAVFoundation::m_inbandTrackConfigurationPending is unused except...
fpizlo@apple.com [Fri, 14 Dec 2012 04:38:20 +0000 (04:38 +0000)]
MediaPlayerPrivateAVFoundation::m_inbandTrackConfigurationPending is unused except when HAVE(AVFOUNDATION_TEXT_TRACK_SUPPORT)
https://bugs.webkit.org/show_bug.cgi?id=104987

Rubber stamped by Michael Saboff.

No change in behavior so no new tests.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
(MediaPlayerPrivateAVFoundation):

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

6 years agoUse 'perf' to profile on linux instead of google-pprof by default
eric@webkit.org [Fri, 14 Dec 2012 04:30:20 +0000 (04:30 +0000)]
Use 'perf' to profile on linux instead of google-pprof by default
https://bugs.webkit.org/show_bug.cgi?id=104971

Reviewed by Dirk Pranke.

This makes Chromium Linux match Chromium Android and use the perf
tool by default.  Once https://bugs.webkit.org/show_bug.cgi?id=104891
lands it will be possible to use pprof again on Linux.

This is slightly more advanced than the AndroidPerf profiler as
instead of using a timeout on "perf record" I instead watch
for the termination of the target process and then control-C
the 'perf record' process.  This required me to add two new
methods to Executive, one to have a limited-time wait() and
the second to be able to send a control-C.  I chose to add
these to Executive to make them easier to mock/fix-for-win32
at a later time if needed.

* Scripts/webkitpy/common/system/executive.py:
(Executive.wait_limited):
(Executive.interrupt):
* Scripts/webkitpy/common/system/profiler.py:
(ProfilerFactory.create_profiler):
(Perf):
(Perf.__init__):
(Perf._perf_path):
(Perf.attach_to_pid):
(Perf._first_ten_lines_of_profile):
(Perf.profile_after_exit):

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

6 years agoDon't assert that flags <= 0x3ff in JSTypeInfo
fpizlo@apple.com [Fri, 14 Dec 2012 04:19:09 +0000 (04:19 +0000)]
Don't assert that flags <= 0x3ff in JSTypeInfo
https://bugs.webkit.org/show_bug.cgi?id=104988

Reviewed by Sam Weinig.

This assertion doesn't accomplish anything other than crashes.

* runtime/JSTypeInfo.h:
(JSC::TypeInfo::TypeInfo):

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

6 years agoUnreviewed. Rebaselined run-bindings-tests results.
haraken@chromium.org [Fri, 14 Dec 2012 04:04:11 +0000 (04:04 +0000)]
Unreviewed. Rebaselined run-bindings-tests results.

* bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
(JSTestCustomNamedGetter):
* bindings/scripts/test/JS/JSTestEventTarget.h:
(JSTestEventTarget):

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

6 years agoUnreviewed, rolling out r137691.
yosin@chromium.org [Fri, 14 Dec 2012 03:47:00 +0000 (03:47 +0000)]
Unreviewed, rolling out r137691.
http://trac.webkit.org/changeset/137691
https://bugs.webkit.org/show_bug.cgi?id=104764

panscroll test on AppleWin failed

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/AutoscrollController.cpp: Removed.
* page/AutoscrollController.h: Removed.
* page/EventHandler.cpp:
(WebCore):
(WebCore::EventHandler::EventHandler):
(WebCore::canAutoscroll):
(WebCore::EventHandler::handleMouseDraggedEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handleAutoscroll):
(WebCore::EventHandler::autoscrollTimerFired):
(WebCore::EventHandler::startPanScrolling):
(WebCore::EventHandler::updatePanScrollState):
(WebCore::EventHandler::autoscrollRenderer):
(WebCore::EventHandler::updateAutoscrollRenderer):
(WebCore::EventHandler::setAutoscrollRenderer):
(WebCore::EventHandler::startAutoscrollTimer):
(WebCore::EventHandler::stopAutoscrollTimer):
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::keyEvent):
* page/EventHandler.h:
(EventHandler):
(WebCore::EventHandler::autoscrollInProgress):
* rendering/RenderBox.cpp:
* rendering/RenderBox.h:
(RenderBox):

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

6 years agoChildNodesLazySnapshot::nextNode() can crash
haraken@chromium.org [Fri, 14 Dec 2012 03:42:14 +0000 (03:42 +0000)]
ChildNodesLazySnapshot::nextNode() can crash
https://bugs.webkit.org/show_bug.cgi?id=104982

Reviewed by Hajime Morita.

ChildNodesLazySnapshot::nextNode() can crash for
fast/dom/insertedIntoDocument-no-crash.html.
The root cause is that ChildNodesLazySnapshot::m_currentNode
was not a RefPtr. This patch changes it to a RefPtr.

Test: fast/dom/insertedIntoDocument-no-crash.html

Source/WebCore:

* dom/ContainerNode.h:
(WebCore::ChildNodesLazySnapshot::nextNode):
(WebCore::ChildNodesLazySnapshot::takeSnapshot):
(ChildNodesLazySnapshot):

LayoutTests:

* fast/dom/insertedIntoDocument-no-crash-expected.txt: Added.
* fast/dom/insertedIntoDocument-no-crash.html: Added.

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

6 years agoClear m_timeContainer on SVGSMILElement removal.
pdr@google.com [Fri, 14 Dec 2012 03:28:45 +0000 (03:28 +0000)]
Clear m_timeContainer on SVGSMILElement removal.
https://bugs.webkit.org/show_bug.cgi?id=104972

Reviewed by Abhishek Arya.

Source/WebCore:

This patch fixes a regression introduced by r137509 where we did not clear
m_timeContainer in SVGSMILElement::removedFrom.

Test: svg/custom/removed-from-animation-crash.html

* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::removedFrom):

LayoutTests:

* svg/custom/removed-from-animation-crash-expected.txt: Added.
* svg/custom/removed-from-animation-crash.html: Added.

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

6 years agoNamed lookups on HTML documents produce inconsistent results in JavaScriptCore bindings
fpizlo@apple.com [Fri, 14 Dec 2012 03:24:28 +0000 (03:24 +0000)]
Named lookups on HTML documents produce inconsistent results in JavaScriptCore bindings
https://bugs.webkit.org/show_bug.cgi?id=104623

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add the notion of objects that HasImpureGetOwnPropertySlot, and use that to inhibit prototype chain caching
in some cases. This appears to be perf-neutral on benchmarks that we track.

* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDProtoList):
* jit/JITStubs.cpp:
(JSC::JITThunks::tryCacheGetByID):
(JSC::DEFINE_STUB_FUNCTION):
* runtime/JSTypeInfo.h:
(JSC):
(JSC::TypeInfo::hasImpureGetOwnPropertySlot):
* runtime/Operations.h:
(JSC::normalizePrototypeChainForChainAccess):

Source/WebCore:

All DOM objects that have named getters or directly override getOwnPropertySlot are now marked as
HasImpureGetOwnPropertySlot.

Tests: fast/js/prototype-chain-caching-with-impure-get-own-property-slot-traps
       fast/js/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):

LayoutTests:

* fast/js/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-expected.txt: Added.
* fast/js/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps.html: Added.
* fast/js/prototype-chain-caching-with-impure-get-own-property-slot-traps-expected.txt: Added.
* fast/js/prototype-chain-caching-with-impure-get-own-property-slot-traps.html: Added.
* fast/js/script-tests/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps.js: Added.
(f):
* fast/js/script-tests/prototype-chain-caching-with-impure-get-own-property-slot-traps.js: Added.
(f):

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

6 years agoUnreviewed, roll out http://trac.webkit.org/changeset/137683.
fpizlo@apple.com [Fri, 14 Dec 2012 03:16:43 +0000 (03:16 +0000)]
Unreviewed, roll out trac.webkit.org/changeset/137683.
It broke gmail.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::putStructureStoreElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* runtime/Operations.cpp:
(JSC::jsTypeStringForValue):
(JSC):
* runtime/Operations.h:
(JSC):

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

6 years ago[chromium] Unreviewed gardening.
noel.gordon@gmail.com [Fri, 14 Dec 2012 03:13:27 +0000 (03:13 +0000)]
[chromium] Unreviewed gardening.
https://bugs.webkit.org/show_bug.cgi?id=50282

Skip imagemap tests to avoid incorrect rebaselines such as r136489. The imagemap tests
won't work on chromium until Skia is taught to draw focus rings along arbitrary paths.

* platform/chromium/TestExpectations:

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

6 years agoOut-of-view check of fixed position element in frame is incorrect when page is scaled
wangxianzhu@chromium.org [Fri, 14 Dec 2012 02:58:39 +0000 (02:58 +0000)]
Out-of-view check of fixed position element in frame is incorrect when page is scaled
https://bugs.webkit.org/show_bug.cgi?id=104943

Reviewed by Simon Fraser.

Source/WebCore:

Use frameScaleFactor instead of pageScaleFactor to scale the layer bounds.

Tests: compositing/layer-creation/fixed-position-out-of-view-scaled-iframe-scroll.html
       compositing/layer-creation/fixed-position-out-of-view-scaled-iframe.html

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

LayoutTests:

Test cases.

* compositing/layer-creation/fixed-position-out-of-view-scaled-iframe-expected.txt: Added.
* compositing/layer-creation/fixed-position-out-of-view-scaled-iframe-scroll-expected.txt: Added.
* compositing/layer-creation/fixed-position-out-of-view-scaled-iframe-scroll.html: Added.
* compositing/layer-creation/fixed-position-out-of-view-scaled-iframe.html: Added.
* compositing/layer-creation/resources/fixed-position-out-of-view-frame-scroll.html: Added.
* compositing/layer-creation/resources/fixed-position-out-of-view-frame.html: Added.

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

6 years agoSource/WebCore: Positioned replaced elements should resolve vertical margins against...
commit-queue@webkit.org [Fri, 14 Dec 2012 02:13:33 +0000 (02:13 +0000)]
Source/WebCore: Positioned replaced elements should resolve vertical margins against their containing
block's logical width
https://bugs.webkit.org/show_bug.cgi?id=103579

Patch by Bear Travis <betravis@adobe.com> on 2012-12-13
Reviewed by Emil A Eklund.

According to the CSS box model & writing modes specifications, percentage margin
& padding values, including top & bottom, should be resolved based on the
containing block's logical width (logical with respect to the containing block's
writing mode).
http://www.w3.org/TR/CSS2/box.html#margin-properties
http://dev.w3.org/csswg/css3-writing-modes/#dimension-mapping

Previously, a positioned replaced element resolved margin before/after relative to
its inline direction (containerLogicalHeight), and margin start/end relative to
its block direction (containerLogicalWidth). This patch measures the container's
logical width in its own inline direction (containerRelativeLogicalWidth) to
resolve all margin percentage values.

Test: fast/writing-mode/percentage-margins-absolute-replaced.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computePositionedLogicalWidthReplaced): Calculate the logical
width of the container, and use it to calculate margins.
(WebCore::RenderBox::computePositionedLogicalHeightReplaced): Ditto.

LayoutTests: Positioned replaced elements should resolve vertical margins against their
containing block's logical width
https://bugs.webkit.org/show_bug.cgi?id=103579

Patch by Bear Travis <betravis@adobe.com> on 2012-12-13
Reviewed by Emil A Eklund.

Test that different writing mode combinations between a parent and child correctly
compute percentage margins for an absolutely positioned replaced child.

* fast/writing-mode/percentage-margins-absolute-replaced-expected.txt: Added.
* fast/writing-mode/percentage-margins-absolute-replaced.html: Added.

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

6 years agoDashboard cleanup: remove usage of global g_builders.
jparent@chromium.org [Fri, 14 Dec 2012 02:02:51 +0000 (02:02 +0000)]
Dashboard cleanup: remove usage of global g_builders.
https://bugs.webkit.org/show_bug.cgi?id=104941

Reviewed by Dirk Pranke.

The dashboards use a lot of global state, which makes hacking on them
complicated. This change removes the use of one such global: g_builders.
In most cases, we can just use currentBuilderGroup().builders instead,
which is now currentBuilders().
Surprisingly, the most changes were required to the unit tests, since
they were even bigger offenders of bad hygiene, relying on global state
set by other tests, randomly clobbering global variables in ways the
real code doesn't, etc.

* TestResultServer/static-dashboards/builders.js:
(BuilderGroup.prototype.setup):
* TestResultServer/static-dashboards/dashboard_base.js:
(.switch.return):
(htmlForTestTypeSwitcher):
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(generatePage):
(getAllTestsTrie):
(processTestRunsForAllBuilders):
(showPopupForBuild):
(generatePageForExpectationsUpdate):
(loadExpectationsLayoutTests):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
(resetGlobals):
(stubResultsByBuilder):
(test):
* TestResultServer/static-dashboards/loader.js:
(.):
* TestResultServer/static-dashboards/loader_unittests.js:

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

6 years agoCallers should not have to stringify args before calling Executive run_command/popen
eric@webkit.org [Fri, 14 Dec 2012 01:58:05 +0000 (01:58 +0000)]
Callers should not have to stringify args before calling Executive run_command/popen
https://bugs.webkit.org/show_bug.cgi?id=104975

Reviewed by Dirk Pranke.

One could argue that we should match the python call syntax here,
but I think it's a more friendly API if we automagically handle
stringification of args in run_command, etc.
This removes map(unicode, args) from several callsites.

When I first tried to land this change, I didn't realize that
Executive._command_for_printing depended on this behavior
having been applied to args in run_command.  The fix is to
call _stringify_args in both run_command and popen.
This is slightly redundant, but given how short args have to be
(due to shell limits), I don't think the double-encode check
matters in practice.

This is slightly complicated by the fact that apache_http_server.py
is the one caller in our codebase which uses shell=True.
shell=True is a well-documented trail-of-tears:
http://stackoverflow.com/questions/3172470/actual-meaning-of-shell-true-in-subprocess
but to support this legacy (windows-only) code (which I can't easily test)
I've added an if-hack to avoid stringifying the the popen(shell=True) case.

* Scripts/webkitpy/common/system/executive.py:
(Executive.run_command):
(Executive._stringify_args):
(Executive.popen):
* Scripts/webkitpy/common/system/executive_unittest.py:
(ExecutiveTest.test_auto_stringify_args):
* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(attach_to_pid):

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

6 years agoHandling autoscroll in EventHandler should be re-factor
yosin@chromium.org [Fri, 14 Dec 2012 01:45:53 +0000 (01:45 +0000)]
Handling autoscroll in EventHandler should be re-factor
https://bugs.webkit.org/show_bug.cgi?id=104764

Reviewed by Hajime Morita.

This patch introduces new class AutoscrollController for moving autoscroll
and panscroll from EventHandler class for ease of maintenance of
EventHandler and ease of adding autoscroll related features, e.g. autoscroll
during drag-and-drop, autoscoll by gesture.

No new tests. This patch doesn't change behavior.

* CMakeLists.txt: Changed to add page/AutoscrollController.cpp
* GNUmakefile.list.am:  Changed to add page/AutoscrollController.{cpp,h}
* Target.pri:  Changed to add page/AutoscrollController.cpp
* WebCore.gypi: Changed to add page/AutoscrollController.{cpp,h}
* WebCore.vcproj/WebCore.vcproj: Changed to add page/AutoscrollController.{cpp,h}
* WebCore.xcodeproj/project.pbxproj: Changed to add page/AutoscrollController.{cpp,h}
* page/AutoscrollController.cpp: Added.
(WebCore::getMainFrame): Helper function.
(WebCore::AutoscrollController::AutoscrollController): Moved from EventHandler.
(WebCore::AutoscrollController::autoscrollRenderer): Moved from EventHandler.
(WebCore::AutoscrollController::autoscrollInProgress): Moved from EventHandler.
(WebCore::AutoscrollController::startAutoscrollForSelection): Replacement of EventHandler::handleAutoscroll().
(WebCore::AutoscrollController::stopAutoscrollTimer): Moveed from EventHandler.
(WebCore::AutoscrollController::updateAutoscrollRenderer): ditto
(WebCore::AutoscrollController::didPanScrollStart): Added for updating pan scrolling status of main frame.
(WebCore::AutoscrollController::didPanScrollStop): ditto
(WebCore::AutoscrollController::handleMouseReleaseEvent): Extracted from EventHandler.
(WebCore::AutoscrollController::panScrollInProgress): Replacement of EventHandler::m_panScrollInProgress.
(WebCore::AutoscrollController::startPanScrolling): Moved from EventHandler::startPanScrolling()
(WebCore::AutoscrollController::autoscrollTimerFired): Moved from EventHandler::autoscrollTimerFired().
(WebCore::AutoscrollController::startAutoscrollTimer): Moved from EventHandler::startAutoscrollTimer().
(WebCore::AutoscrollController::updatePanScrollState): Moved from EventHandler::updatePanScrollState().
* page/AutoscrollController.h: Added.
(AutoscrollController):
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler): Changed autoscroll and panscroll related member variable initializations to m_autoscrollController initialization.
(WebCore::EventHandler::handleMouseDraggedEvent): Changed to call AutoscrollController::startAutoscrollForSelection().
(WebCore::EventHandler::handleMouseReleaseEvent): Changed to remove m_autoscrollInProgress reference.
(WebCore::EventHandler::didPanScrollStart): Added for updating pan scrolling status of main frame.
(WebCore::EventHandler::didPanScrollStop): ditto
(WebCore::EventHandler::startPanScrolling): Changed to call AutoscrollController::startPanScrolling().
(WebCore::EventHandler::autoscrollRenderer): Changed to use AutoscrollController.
(WebCore::EventHandler::updateAutoscrollRenderer): ditto
(WebCore::EventHandler::autoscrollInProgress): ditto
(WebCore::EventHandler::panScrollInProgress): Added to replace m_panScrollInProgress.
(WebCore::EventHandler::stopAutoscrollTimer): Changed to use AutoscrollController.
(WebCore::EventHandler::selectCursor): Changed to use panScrollInProgress().
(WebCore::EventHandler::handleMousePressEvent): Chagned to call AutoscrollController::handleMousePressEvent().
(WebCore::EventHandler::keyEvent): Changed to use panScrollInProgress().
* page/EventHandler.h:
(WebCore::EventHandler::autoscrollController): Added for using main frame's panScrollInProgress().
(WebCore::EventHandler::mouseDownWasInSubframe): Added for AutoscrollController.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::canAutoscroll): Moved from EventHandler.cpp.
(WebCore::RenderBox::findAutoscrollable): Moved from EventHandler.cpp.
* rendering/RenderBox.h:
(RenderBox): Added new functions canAutoscroll() and findAutoscrollable().

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

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=102599
bdakin@apple.com [Fri, 14 Dec 2012 01:44:16 +0000 (01:44 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=102599
ASSERT loading Acid3 test in run-safari --debug (r135050)

Reviewed by Simon Fraser.

New flag IncludeCompositedDescendants will always calculate the layer bounds for
descendants, even when the are composited.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateLayerBounds):
* rendering/RenderLayer.h:

calculateCompositedBounds() should not include this new flag, so instead of
calling that, call calculateLayerBounds() directly with the
IncludeCompositedDescendants flag. This will get us the information we need
upfront and avoid the toggling later on.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):

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

6 years ago Resource loads sometimes stall
ap@apple.com [Fri, 14 Dec 2012 01:29:03 +0000 (01:29 +0000)]
    Resource loads sometimes stall
        https://bugs.webkit.org/show_bug.cgi?id=104976

        Reviewed by Anders Carlsson.

        Quick and dirty partial fix.

        * Shared/BlockingResponseMap.h: (BlockingResponseMap::didReceiveResponse):
        Wake up all threads, so that non-sequential responses don't break us. This is still
        horribly inefficient,but should improve behavior quite a bit.

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

6 years agoFix unused parameter compile warnings
commit-queue@webkit.org [Fri, 14 Dec 2012 01:15:08 +0000 (01:15 +0000)]
Fix unused parameter compile warnings
https://bugs.webkit.org/show_bug.cgi?id=104907

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2012-12-13
Reviewed by Kentaro Hara.

Use UNUSED_PARAM macro to fix build warning -Wunused-parameter
when ENABLE_INSPECTOR is disabled.

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::evaluateInWebInspector):

Source/WebKit2:

* UIProcess/API/C/WKInspector.cpp:
(WKInspectorGetPage):
(WKInspectorIsVisible):
(WKInspectorIsFront):
(WKInspectorShow):
(WKInspectorClose):
(WKInspectorShowConsole):
(WKInspectorShowResources):
(WKInspectorShowMainResourceForFrame):
(WKInspectorIsAttached):
(WKInspectorAttach):
(WKInspectorDetach):
(WKInspectorIsDebuggingJavaScript):
(WKInspectorToggleJavaScriptDebugging):
(WKInspectorIsProfilingJavaScript):
(WKInspectorToggleJavaScriptProfiling):
(WKInspectorIsProfilingPage):
(WKInspectorTogglePageProfiling):
* UIProcess/API/C/WKPage.cpp:
(WKPageGetInspector):

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

6 years ago[QT][GTK][EFL] Add guard for WebInspectorServer
commit-queue@webkit.org [Fri, 14 Dec 2012 01:10:28 +0000 (01:10 +0000)]
[QT][GTK][EFL] Add guard for WebInspectorServer
https://bugs.webkit.org/show_bug.cgi?id=104889

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2012-12-13
Reviewed by Kenneth Rohde Christiansen.

Add ENABLE(INSPECTOR_SERVER) guard around platform-specific implementation for WebInspectorServer.

* UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
* UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
* UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:

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

6 years agoDon't consider container nodes of other disambiguated nodes
commit-queue@webkit.org [Fri, 14 Dec 2012 01:09:58 +0000 (01:09 +0000)]
Don't consider container nodes of other disambiguated nodes
https://bugs.webkit.org/show_bug.cgi?id=104619

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-12-13
Reviewed by Eric Seidel.

Source/WebCore:

It is not uncommon to have a clickable <div> that contains other clickable objects.
This heuristic avoids excessive disambiguation in that case.

New unit test: WebFrameTest.DisambiguationPopupNoContainer

* page/TouchDisambiguation.cpp:
(WebCore::findGoodTouchTargets):

Source/WebKit/chromium:

Added a test to track the new disambiguation popup heuristics.

* tests/WebFrameTest.cpp:
* tests/data/disambiguation_popup_no_container.html: Added.

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

6 years agoCoordinated Graphics: Reorder messages to CoordinatedLayerTreeHostProxy
commit-queue@webkit.org [Fri, 14 Dec 2012 00:42:34 +0000 (00:42 +0000)]
Coordinated Graphics: Reorder messages to CoordinatedLayerTreeHostProxy
https://bugs.webkit.org/show_bug.cgi?id=103843

Patch by Huang Dongsung <luxtella@company100.net> on 2012-12-13
Reviewed by Noam Rosenthal.

Clarify LayerTreeRenderer::setRootLayerID() can be called only once during its
lifecycle. LayerTreeRenderer, CoordinatedLayerTreeHost and CoordinatedLayerTreeHostProxy
have the same lifecycle to WebPage and the root layer is reused even if loading
new page, so it is impossible to call LayerTreeRenderer::setRootLayerID() more
than twice.

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setRootLayerID):

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

6 years agoLayout Test fast/events/mouse-cursor-image-set.html is flaky
commit-queue@webkit.org [Fri, 14 Dec 2012 00:42:31 +0000 (00:42 +0000)]
Layout Test fast/events/mouse-cursor-image-set.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=104945

Patch by Rick Byers <rbyers@chromium.org> on 2012-12-13
Reviewed by Beth Dakin.

Fix typo that prevented one of the images from being reliably pre-loaded.
A deeper fix to avoid these class of issues is tracked by
https://bugs.webkit.org/show_bug.cgi?id=104952

* fast/events/mouse-cursor-image-set.html:

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

6 years agoSupport op_typeof in the DFG
oliver@apple.com [Fri, 14 Dec 2012 00:32:55 +0000 (00:32 +0000)]
Support op_typeof in the DFG
https://bugs.webkit.org/show_bug.cgi?id=98898

Reviewed by Filip Pizlo.

Adds a TypeOf node to the DFG to support op_typeof.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
  We try to determine the result early here, and substitute in a constant.
  Otherwise we leave the node intact, and set the result type to SpecString.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
  Parse op_typeof
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
  TypeOf nodes can be subjected to pure CSE
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
  We can handle typeof.
* dfg/DFGNodeType.h:
(DFG):
  Define the node.
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
  Add operationTypeOf to support the non-trivial cases.
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
  Actual codegen
* runtime/Operations.cpp:
(JSC::jsTypeStringForValue):
(JSC):
* runtime/Operations.h:
(JSC):
  Some refactoring to allow us to get the type string for an
  object without needing a callframe.

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

6 years agoUnreviewed, rolling out r137645, r137646, and r137667.
enne@google.com [Fri, 14 Dec 2012 00:30:25 +0000 (00:30 +0000)]
Unreviewed, rolling out r137645, r137646, and r137667.
http://trac.webkit.org/changeset/137645
http://trac.webkit.org/changeset/137646
http://trac.webkit.org/changeset/137667
https://bugs.webkit.org/show_bug.cgi?id=104911

Breaks some overflow layout tests

Source/WebCore:

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateDescendantDependentFlags):
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::usesCompositedScrolling):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::dirtyZOrderLists):
(WebCore::RenderLayer::dirtyNormalFlowList):
(WebCore::RenderLayer::updateLayerListsIfNeeded):
(WebCore::RenderLayer::shouldBeNormalFlowOnly):
(WebCore::RenderLayer::shouldBeSelfPaintingLayer):
(WebCore::RenderLayer::styleChanged):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):
* testing/InternalSettings.cpp:
* testing/InternalSettings.h:
(InternalSettings):
* testing/InternalSettings.idl:

Tools:

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.virtual_test_suites):

LayoutTests:

* compositing/overflow/automatically-opt-into-composited-scrolling-expected.txt: Removed.
* compositing/overflow/automatically-opt-into-composited-scrolling.html: Removed.
* platform/chromium-mac-lion/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style-expected.png: Removed.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style-expected.png: Removed.
* platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style-expected.png: Removed.
* platform/chromium/TestExpectations:

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

6 years ago[chromium] Expose a WebLayerTreeView getter on WebWidget to make it easier for the...
commit-queue@webkit.org [Fri, 14 Dec 2012 00:22:36 +0000 (00:22 +0000)]
[chromium] Expose a WebLayerTreeView getter on WebWidget to make it easier for the embedder to interface with the compositor
https://bugs.webkit.org/show_bug.cgi?id=104968

Patch by James Robinson <jamesr@chromium.org> on 2012-12-13
Reviewed by Adrienne Walker.

This is an intermediate step on the way to https://code.google.com/p/chromium/issues/detail?id=156175.

* public/WebWidget.h:
(WebKit):
(WebWidget):
(WebKit::WebWidget::layerTreeView):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::webLayerTreeView):
(WebKit):
* src/WebViewImpl.h:
(WebViewImpl):

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

6 years agoEvent dispatch: Avoid heap allocations in ensureEventAncestors() typical case.
akling@apple.com [Fri, 14 Dec 2012 00:20:23 +0000 (00:20 +0000)]
Event dispatch: Avoid heap allocations in ensureEventAncestors() typical case.
<http://webkit.org/b/104938>

Reviewed by Anders Carlsson.

Give the EventTarget and EventContext vectors an inline capacity of 32 (no science here, just a
non-zero number.) As these vectors are created on the stack already, this is merely using a bit
more stack space to avoid malloc()ing all the gosh-darn time.

Looks like ~6% improvement on Dromaeo/jslib-event-prototype.

* dom/EventDispatcher.cpp:
(WebCore::EventRelatedTargetAdjuster::adjust):
(WebCore::EventRelatedTargetAdjuster::findRelatedTarget):
(WebCore::EventDispatcher::ensureEventAncestors):
* dom/EventDispatcher.h:
(EventRelatedTargetAdjuster):
(EventDispatcher):

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

6 years ago[Resource Timing] Don't report resources with data: urls
simonjam@chromium.org [Fri, 14 Dec 2012 00:13:21 +0000 (00:13 +0000)]
[Resource Timing] Don't report resources with data: urls
https://bugs.webkit.org/show_bug.cgi?id=104868

Reviewed by Tony Gentilcore.

Source/WebCore:

Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_data_url.html

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::loadDone):

LayoutTests:

* http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_data_url-expected.txt: Added.
* http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_data_url.html: Added.

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

6 years agoRubber-stamped by Tim Horton.
bdakin@apple.com [Fri, 14 Dec 2012 00:06:20 +0000 (00:06 +0000)]
Rubber-stamped by Tim Horton.

This test needs updates results after http://trac.webkit.org/changeset/137393

* platform/mac/svg/css/shadow-changes-expected.txt:

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

6 years agoAdd a missing nullity check in RenderObject::containingBlock
vollick@chromium.org [Thu, 13 Dec 2012 23:52:35 +0000 (23:52 +0000)]
Add a missing nullity check in RenderObject::containingBlock
https://bugs.webkit.org/show_bug.cgi?id=104961

Reviewed by Adrienne Walker.

Adds a missing nullity check in an assert.

No new tests, no change in functionality.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock):

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

6 years agoUnreviewed, rolling out r137661.
dpranke@chromium.org [Thu, 13 Dec 2012 23:49:06 +0000 (23:49 +0000)]
Unreviewed, rolling out r137661.
http://trac.webkit.org/changeset/137661
https://bugs.webkit.org/show_bug.cgi?id=104891

broke unit tests, run-webkit-tests

* Scripts/webkitpy/common/system/executive.py:
(Executive._run_command_with_teed_output):
(Executive.run_command):
(Executive.popen):
* Scripts/webkitpy/common/system/profiler.py:
(ProfilerFactory.create_profiler):
(GooglePProf.profile_after_exit):
(IProfiler.attach_to_pid):
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.__init__):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):

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

6 years agonrwt: move rundetails, summarize_results into test_run_results
dpranke@chromium.org [Thu, 13 Dec 2012 23:42:03 +0000 (23:42 +0000)]
nrwt: move rundetails, summarize_results into test_run_results
https://bugs.webkit.org/show_bug.cgi?id=104963

Reviewed by Eric Seidel.

More cleanup; this the plain-old-data functions out of manager.py
and into test_run_results next to the other aggregate data structures.

Also this cleans up a bunch of test code and reduces duplication.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ManagerTest.test_look_for_new_crash_logs):
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.__init__):
(TestRunResults.add):
(RunDetails):
(RunDetails.__init__):
(_interpret_test_failures):
(summarize_results):
* Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py: Added.
(get_result):
(run_results):
(summarized_results):
(InterpretTestFailuresTest):
(InterpretTestFailuresTest.setUp):
(InterpretTestFailuresTest.test_interpret_test_failures):
(SummarizedResultsTest):
(SummarizedResultsTest.setUp):
(SummarizedResultsTest.test_no_svn_revision):
(SummarizedResultsTest.test_svn_revision):
(SummarizedResultsTest.test_summarized_results_wontfix):
* Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
(BuildBotPrinterTests.get_printer):
(BuildBotPrinterTests.test_print_unexpected_results):
(BuildBotPrinterTests.test_print_results):

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

6 years ago[BlackBerry] Possible JS re-entrancy caused by UI event handler
yoli@rim.com [Thu, 13 Dec 2012 23:41:31 +0000 (23:41 +0000)]
[BlackBerry] Possible JS re-entrancy caused by UI event handler
https://bugs.webkit.org/show_bug.cgi?id=84862

Reviewed by Rob Buis.

Fix an obvious bug in previous patch.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::deferredTasksTimerFired):

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

6 years agoSwitch the gradient drawing code to use bearing angles
commit-queue@webkit.org [Thu, 13 Dec 2012 23:34:31 +0000 (23:34 +0000)]
Switch the gradient drawing code to use bearing angles
https://bugs.webkit.org/show_bug.cgi?id=104616

Patch by Tab Atkins <tabatkins@google.com> on 2012-12-13
Reviewed by Dean Jackson.

Source/WebCore:

Switch the gradient math from polar-coordinate angles to bearing angles.
To make this possible without behavior changes,
switch the m_deprecatedType boolean to an m_gradientType enum,
and fix all usages accordingly.

No new tests, as this is a refactoring and should have no behavior changes. Existing tests suffice.

* css/CSSGradientValue.cpp:
(WebCore::endPointsFromAngle):
This is the only mechanical change. The rest are just fixing the plumbing around the boolean->enum change.

* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::sortStopsIfNeeded):
(WebCore::CSSGradientValue::addStops):
(WebCore::CSSLinearGradientValue::customCssText):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::customCssText):
* css/CSSGradientValue.h:
(WebCore::CSSGradientValue::gradientType):
(WebCore::CSSGradientValue::CSSGradientValue):
(WebCore::CSSLinearGradientValue::create):
(WebCore::CSSLinearGradientValue::CSSLinearGradientValue):
(WebCore::CSSRadialGradientValue::create):
(WebCore::CSSRadialGradientValue::CSSRadialGradientValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseDeprecatedGradient):
(WebCore::CSSParser::parseDeprecatedLinearGradient):
(WebCore::CSSParser::parseDeprecatedRadialGradient):

LayoutTests:

This change alters a few pixels on the linux baseline.
It may or may not trigger similar failures on Windows and Mac - we'll see.

* platform/chromium-linux/fast/gradients/css3-linear-angle-gradients-expected.png:
* platform/chromium/TestExpectations:

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

6 years agoMark one test as failing and rebaseline another after r137646
adamk@chromium.org [Thu, 13 Dec 2012 23:31:55 +0000 (23:31 +0000)]
Mark one test as failing and rebaseline another after r137646

Unreviewed chromium gardening.

* platform/chromium-mac-lion/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/scrollbars/custom-scrollbar-with-incomplete-style-expected.png: Added.
* platform/chromium/TestExpectations:

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

6 years agoMake --profile output easier to understand for pprof on linux
eric@webkit.org [Thu, 13 Dec 2012 23:30:51 +0000 (23:30 +0000)]
Make --profile output easier to understand for pprof on linux
https://bugs.webkit.org/show_bug.cgi?id=104957

Reviewed by Dirk Pranke.

pprof is kinda mysterious, so we print some information
on how to use it, and how to learn how to read the sample dump.
This is similar to what we've done for perf output for Chromium Android.

* Scripts/webkitpy/common/system/profiler.py:
(GooglePProf._pprof_path):
(GooglePProf.profile_after_exit):

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

6 years agoRevert r137407 - it didn't actually work right.
dpranke@chromium.org [Thu, 13 Dec 2012 23:27:42 +0000 (23:27 +0000)]
Revert r137407 - it didn't actually work right.
https://bugs.webkit.org/show_bug.cgi?id=101976

Unreviewed, build fix.

Turns out that rebaselining was completely broken with this change :(
We're passing in a list of test names rather than the list of
failureInfo objects.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
(.):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:
(.):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results_unittests.js:

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

6 years ago[chromium] Small fixes for WebPluginContainer::setWebLayer
piman@chromium.org [Thu, 13 Dec 2012 23:21:54 +0000 (23:21 +0000)]
[chromium] Small fixes for WebPluginContainer::setWebLayer
https://bugs.webkit.org/show_bug.cgi?id=104953

Reviewed by James Robinson.

Source/WebKit/chromium:

* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl): Allow
WebPlugin to clean up dangling pointers.

Tools:

* DumpRenderTree/chromium/TestRunner/src/WebTestPlugin.cpp: Clean up
dangling pointers, force correct invalidation of the layer.

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

6 years agoMove MutationObserver tests to fast/dom/MutationObserver
adamk@chromium.org [Thu, 13 Dec 2012 23:19:51 +0000 (23:19 +0000)]
Move MutationObserver tests to fast/dom/MutationObserver
https://bugs.webkit.org/show_bug.cgi?id=104948

Reviewed by Ryosuke Niwa.

This seems like a more sensible location, and in line with other DOM features.

* fast/dom/MutationObserver/: Renamed from LayoutTests/fast/mutation/.
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk-wk2/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:

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

6 years agoAdd --profiler=PROFILER option to run-perf-tests to allow specifying which profiler...
eric@webkit.org [Thu, 13 Dec 2012 23:17:17 +0000 (23:17 +0000)]
Add --profiler=PROFILER option to run-perf-tests to allow specifying which profiler to use on platforms with many
https://bugs.webkit.org/show_bug.cgi?id=104891

Reviewed by Dirk Pranke.

I also implemented a very simple "Sample" Profiler using
Mac OS X's /usr/bin/sample command line tool.

I also moved the map(unicode, args) call into Executive.popen
so that all callers don't have to do it themselves.

The real reason for this abstraction is to make it easy
to support both perf and pprof on linux which seem to
be about equally popular among those I ask in the Chrome team.

* Scripts/webkitpy/common/system/executive.py:
(Executive.popen):
* Scripts/webkitpy/common/system/profiler.py:
(ProfilerFactory.create_profiler):
(ProfilerFactory):
(ProfilerFactory.available_profilers_by_name):
(ProfilerFactory.default_profiler_name):
(Sample):
(Sample.__init__):
(Sample.attach_to_pid):
(Sample.profile_after_exit):
(IProfiler.attach_to_pid):
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.__init__):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):

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

6 years ago[Chromium] Unreviewed rebaselining after Skia roll @6773.
fmalita@chromium.org [Thu, 13 Dec 2012 23:11:14 +0000 (23:11 +0000)]
[Chromium] Unreviewed rebaselining after Skia roll @6773.

* platform/chromium-win/fast/borders/borderRadiusDotted02-expected.png:
* platform/chromium-win/fast/borders/borderRadiusDotted03-expected.png:
* platform/chromium-win/fast/borders/borderRadiusDotted04-expected.png:
* platform/chromium-win/ietestcenter/css3/bordersbackgrounds/border-radius-style-001-expected.png:

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

6 years agoAnother attempt at getting these expectations right for the bots.
bdakin@apple.com [Thu, 13 Dec 2012 23:06:25 +0000 (23:06 +0000)]
Another attempt at getting these expectations right for the bots.

* platform/mac/TestExpectations:

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

6 years agoSkipping this test for now since it has been failing a lot recently.
bdakin@apple.com [Thu, 13 Dec 2012 22:58:36 +0000 (22:58 +0000)]
Skipping this test for now since it has been failing a lot recently.
https://bugs.webkit.org/show_bug.cgi?id=104962 tracks fixing to bug.
* platform/mac/TestExpectations:

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

6 years ago <rdar://problem/12838354> DOM cookie access functions should respect private...
ap@apple.com [Thu, 13 Dec 2012 22:46:26 +0000 (22:46 +0000)]
    <rdar://problem/12838354> DOM cookie access functions should respect private browsing
        https://bugs.webkit.org/show_bug.cgi?id=104691

        Reviewed by Anders Carlsson.

        Remove obsolete FIXMEs, and fix one function that I overlooked.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
        (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
        (WebKit::NetworkConnectionToWebProcess::deleteCookie):
        (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
        (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
        (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):

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

6 years agoSkipping this test for now since it has been failing since it was added.
bdakin@apple.com [Thu, 13 Dec 2012 22:40:31 +0000 (22:40 +0000)]
Skipping this test for now since it has been failing since it was added.
https://bugs.webkit.org/show_bug.cgi?id=104954 tracks fixing to bug.
* platform/mac/TestExpectations:

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

6 years agoDownloadManager shouldn't call the web process directly
andersca@apple.com [Thu, 13 Dec 2012 22:27:24 +0000 (22:27 +0000)]
DownloadManager shouldn't call the web process directly
https://bugs.webkit.org/show_bug.cgi?id=104946

Reviewed by Antti Koivisto.

Introduce the needed DownloadManager::Client member functions and have Download call them instead of calling the web process directly.

* WebProcess/Downloads/Download.cpp:
(WebKit::Download::Download):
(WebKit::Download::~Download):
(WebKit::Download::connection):
* WebProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::DownloadManager):
(WebKit::DownloadManager::didCreateDownload):
(WebKit::DownloadManager::didDestroyDownload):
(WebKit::DownloadManager::connection):
* WebProcess/Downloads/DownloadManager.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didCreateDownload):
(WebKit::WebProcess::didDestroyDownload):
* WebProcess/WebProcess.h:

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

6 years agoUnreviewed gardening. Apple Windows port.
roger_fong@apple.com [Thu, 13 Dec 2012 22:25:43 +0000 (22:25 +0000)]
Unreviewed gardening. Apple Windows port.

* platform/win/TestExpectations:
* platform/win/accessibility/deleting-iframe-destroys-axcache-expected.txt:
* platform/win/fast/css/image-resolution/image-resolution-expected.txt:
* platform/win/fast/text/decorations-with-text-combine-expected.txt: Added.
* platform/win/fast/text/orientation-sideways-expected.txt:
* platform/win/plugins/npp-set-window-called-during-destruction-expected.txt: Added.
* platform/win/svg/css/shadow-changes-expected.txt: Added.

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

6 years ago[chromium] Add WebPluginContainer::setWebLayer to supersede setBackingTextureId/setBa...
piman@chromium.org [Thu, 13 Dec 2012 22:16:28 +0000 (22:16 +0000)]
[chromium] Add WebPluginContainer::setWebLayer to supersede setBackingTextureId/setBackingIOSurfaceId
https://bugs.webkit.org/show_bug.cgi?id=104875

Reviewed by James Robinson.

* public/WebPluginContainer.h:
(WebKit):
(WebPluginContainer):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setWebLayer):
(WebKit):
(WebKit::WebPluginContainerImpl::setBackingTextureId):
(WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
(WebKit::WebPluginContainerImpl::commitBackingTexture):
(WebKit::WebPluginContainerImpl::setOpaque):
(WebKit::WebPluginContainerImpl::platformLayer):
(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):

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

6 years agoThis test has been failing on the Mac bots for a while.
bdakin@apple.com [Thu, 13 Dec 2012 22:07:04 +0000 (22:07 +0000)]
This test has been failing on the Mac bots for a while.
https://bugs.webkit.org/show_bug.cgi?id=104949

* platform/mac/TestExpectations:

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

6 years agosupport -wk2 port names properly in webkitpy.layout_tests.port
dpranke@chromium.org [Thu, 13 Dec 2012 21:53:06 +0000 (21:53 +0000)]
support -wk2 port names properly in webkitpy.layout_tests.port
https://bugs.webkit.org/show_bug.cgi?id=104761

Reviewed by Eric Seidel.

Our support for WK2 port names was inconsistent at best; this patch
modifies the code so that <port_name>-wk2 is supported for all ports that
have WK2 implementations and is equivalent to specifying <port_name>
and -2/--webkit-test-runner. In addition, this modifies
builders.all_port_names() to include the wk2 variants.

* Scripts/webkitpy/common/checkout/baselineoptimizer.py:
* Scripts/webkitpy/layout_tests/port/apple.py:
(ApplePort.determine_full_port_name):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.determine_full_port_name):
(Port.__init__):
* Scripts/webkitpy/layout_tests/port/builders.py:
* Scripts/webkitpy/layout_tests/port/driver_unittest.py:
(DriverTest.make_port):
* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort.default_baseline_search_path):
* Scripts/webkitpy/layout_tests/port/win.py:
(WinPort.default_baseline_search_path):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineExpectations.test_rebaseline_expectations):

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

6 years agoFixing a copy-paste error.
bdakin@apple.com [Thu, 13 Dec 2012 21:50:52 +0000 (21:50 +0000)]
Fixing a copy-paste error.

* platform/mac/TestExpectations:

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

6 years agoMarking these tests as failing since they are failing on the bots.
bdakin@apple.com [Thu, 13 Dec 2012 21:49:10 +0000 (21:49 +0000)]
Marking these tests as failing since they are failing on the bots.
https://bugs.webkit.org/show_bug.cgi?id=104942 tracks fixing the actual bug.

* platform/mac/TestExpectations:

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

6 years ago <rdar://problem/12838354> Per-Tab WebProcess: DOM cookie access functions...
ap@apple.com [Thu, 13 Dec 2012 21:48:03 +0000 (21:48 +0000)]
    <rdar://problem/12838354> Per-Tab WebProcess: DOM cookie access functions should respect private browsing
        https://bugs.webkit.org/show_bug.cgi?id=104691

        Reviewed by Sam Weinig.

        Pass private browsing state from local context to remote one.

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

6 years agoSource/WebCore: [chromium] Automatically use composited scrolling
vollick@chromium.org [Thu, 13 Dec 2012 21:37:25 +0000 (21:37 +0000)]
Source/WebCore: [chromium] Automatically use composited scrolling
https://bugs.webkit.org/show_bug.cgi?id=94743

Reviewed by Adrienne Walker.

We currently use the composited scrolling facilities provided by
wkb.ug/91117 if the overflow scroll block element is styled with
-webkit-overflow-scrolling: touch. Ideally, we could automatically
opt into composited scrolling if it is safe to do so. This can affect
antialiasing, so it is important that automatically opting in is only
enabled via a setting.

The way I determine if it is safe is by checking that z-ordering will
not be affected if the overflow scrollable element were promoted to a
stacking context (details below), and that clipping our scrolling
descendants will not affect rendering.

To check the first condition (that z-ordering will not be affected).
I ensure that the candidate element and all its descendants appear as a
continuous block in the candidate's stacking context. That is, if no
other elements are 'between' any of the candidates descendants when we
sort in paint order, then we're safe. This is overly conservative,
however. We could, in future, only consider stacking problems between
elements that actually overlap.

To ensure that clipping will not cause a rendering change, I ensure
that the layer has no out of flow positioned descendant whose
containing block is not also a descendant of ours.

Test: compositing/overflow/automatically-opt-into-compositing-scrolling.html

(WebCore):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::acceleratedCompositingForOverflowScrollEnabled):
(WebCore):
(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive):
(WebCore::RenderLayer::positionOverflowControlsAfterPromotionToCompositedScrolling):
(WebCore::RenderLayer::canSafelyEstablishAStackingContext):
  Returns true if the RenderLayer could become a stacking context without
  affecting the stacking order.
(WebCore::RenderLayer::updateDescendantDependentFlags):
  We now need to keep track of out of flow positioned descendants.
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::usesCompositedScrolling):
  Has been updated to return true if it can safely establish a stacking
  context, and the setting is turned on.
(WebCore::RenderLayer::needsCompositedScrolling):
  This function returns true if we would like to use composited
  scrolling.
(WebCore::RenderLayer::updateNeedsCompositedScrolling):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::dirtyZOrderLists):
(WebCore::RenderLayer::dirtyNormalFlowList):
  Since these could affect opting into composited scrolling, we must
  request that the RenderLayerCompositor reevaluate compositing.
(WebCore::RenderLayer::updateLayerListsIfNeeded):
  We call updateCanSafelyEstablishStackingContext here, if necessary.
(WebCore::RenderLayer::shouldBeNormalFlowOnly):
(WebCore::RenderLayer::shouldBeSelfPaintingLayer):
  usesCompositedScrolling -> needsCompositedScrolling
(WebCore::RenderLayer::setAncestorChainHasOutOfFlowPositionedDescendant):
(WebCore::RenderLayer::dirtyAncestorChainHasOutOfFlowPositionedDescendantStatus):
(WebCore::RenderLayer::updateOutOfFlowPositioned):
  Dirties and sets the out of flow positioned descendant state.
(WebCore::RenderLayer::styleChanged):
* rendering/RenderLayer.h:
(RenderLayer):
(WebCore::RenderLayer::hasOutOfFlowPositionedDescendant):
* rendering/RenderLayerBacking.cpp:
(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::hasUnpositionedOverflowControlsLayers):
(WebCore):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
  We now ensure that newly created overflow scroll controls get
  positioned.
(WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling):
* rendering/RenderLayerCompositor.h:
(WebCore::RenderLayerCompositor::setShouldReevaluateCompositingAfterLayout):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::setEnableCompositingForOverflowScroll):
  Allows enabling the setting in layout tests.
(WebCore):
* testing/InternalSettings.h:
(InternalSettings):
* testing/InternalSettings.idl:

LayoutTests: Automatically use composited scrolling
https://bugs.webkit.org/show_bug.cgi?id=94743

Reviewed by Adrienne Walker.

Tests various configurations of elements to ensure that we only automatically opt into
composited scrolling when it is safe to do so.

* compositing/overflow/automatically-opt-into-composited-scrolling-expected.txt: Added.
* compositing/overflow/automatically-opt-into-composited-scrolling.html: Added.

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

6 years ago[chromium] Add a virtual test suite for enabling opt-in to composited scrolling
vollick@chromium.org [Thu, 13 Dec 2012 21:25:00 +0000 (21:25 +0000)]
[chromium] Add a virtual test suite for enabling opt-in to composited scrolling
https://bugs.webkit.org/show_bug.cgi?id=104911

Reviewed by Adrienne Walker.

Tools:

Adds two virtual tests suites to run the tests in
compositing/overflow/ and scrollbars/ with the flag
--enable-accelerated-compositing-for-overflow-scroll

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.virtual_test_suites):

LayoutTests:

Updated the test expectations for the virtual test suite to match the
usual chromium test expectations.

* platform/chromium/TestExpectations:

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

6 years agodelete extraneous self.fail in mastercfg_unittest.py
dpranke@chromium.org [Thu, 13 Dec 2012 21:18:01 +0000 (21:18 +0000)]
delete extraneous self.fail in mastercfg_unittest.py
https://bugs.webkit.org/show_bug.cgi?id=104940

Reviewed by Eric Seidel.

This was accidentally introduced in r137404.

* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

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

6 years agoREGRESSION(r137406): NodeTraversal changes causing large renderer crash
rniwa@webkit.org [Thu, 13 Dec 2012 20:56:56 +0000 (20:56 +0000)]
REGRESSION(r137406): NodeTraversal changes causing large renderer crash
https://bugs.webkit.org/show_bug.cgi?id=104937

Reviewed by Antti Koivisto.

Add a null pointer check to exit early since ElementTraversal::next assumes a non-null pointer.

No new tests since I don't think this function is ever exposed to any ES5 bindings.

* editing/FrameSelection.cpp:
(WebCore::scanForForm):

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

6 years agoGet rid of DownloadManager::shared
andersca@apple.com [Thu, 13 Dec 2012 20:53:03 +0000 (20:53 +0000)]
Get rid of DownloadManager::shared
https://bugs.webkit.org/show_bug.cgi?id=104939

Reviewed by Andreas Kling.

Move the DownloadManager singleton to WebProcess and stub out a DownloadManager::Client class.

* WebProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::DownloadManager):
* WebProcess/Downloads/DownloadManager.h:
(Client):
(WebKit::DownloadManager::Client::~Client):
(DownloadManager):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertHandleToDownload):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::downloadManager):
(WebKit):
(WebKit::WebProcess::shouldTerminate):
(WebKit::WebProcess::downloadRequest):
(WebKit::WebProcess::cancelDownload):
(WebKit::WebProcess::startTransfer):
* WebProcess/WebProcess.h:
(WebProcess):

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

6 years agoThis test started failing after http://trac.webkit.org/changeset/137592 which
bdakin@apple.com [Thu, 13 Dec 2012 20:46:32 +0000 (20:46 +0000)]
This test started failing after trac.webkit.org/changeset/137592 which
rolled out a patch that touched these results. I am going to re-set the results
for now so that the test will pass, and make a note in the bug.

* platform/mac/accessibility/internal-link-anchors2-expected.txt:

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

6 years ago[WebKit2] Only register NSNotificationCenter observers once per WebContext
aestes@apple.com [Thu, 13 Dec 2012 20:44:22 +0000 (20:44 +0000)]
[WebKit2] Only register NSNotificationCenter observers once per WebContext
https://bugs.webkit.org/show_bug.cgi?id=104879

Reviewed by Alexey Proskuryakov.

WebContext was mistakenly registering NSNotificationCenter observers
every time a new web process was created. In a multi-WebProcess world,
this caused duplicate observers to be needlessly registered. Fix this
by registering observers at WebContext creation time (and fix a related
bug where two of the observers were never unregistered).

* UIProcess/WebContext.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitialize): Register observers when initializing the context.
(WebKit::WebContext::platformInitializeWebProcess): Don't register observers here.
(WebKit::WebContext::platformInvalidateContext): Unregister observers when invalidating the context.
(WebKit::WebContext::registerNotificationObservers):
(WebKit::WebContext::unregisterNotificationObservers):

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

6 years agoDownload objects should keep track of their associated DownloadManager object
andersca@apple.com [Thu, 13 Dec 2012 20:11:46 +0000 (20:11 +0000)]
Download objects should keep track of their associated DownloadManager object
https://bugs.webkit.org/show_bug.cgi?id=104936

Reviewed by Andreas Kling.

This is the first step towards eliminating DownloadManager::shared.

* WebProcess/Downloads/Download.cpp:
(WebKit::Download::create):
(WebKit::Download::Download):
(WebKit::Download::didFinish):
(WebKit::Download::didFail):
(WebKit::Download::didCancel):
* WebProcess/Downloads/Download.h:
* WebProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::convertHandleToDownload):

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

6 years agoIndexedDB: Improve error messages
dgrogan@chromium.org [Thu, 13 Dec 2012 20:10:07 +0000 (20:10 +0000)]
IndexedDB: Improve error messages
https://bugs.webkit.org/show_bug.cgi?id=104624

Reviewed by Tony Chang.

Source/WebCore:

Add detail to error messages so that they are more helpful and can be
traced back to a specific line of code.

Updated test: transaction-error.html

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::openConnection):
(WebCore::IDBDatabaseBackendImpl::openConnectionWithVersion):
(WebCore::IDBDatabaseBackendImpl::deleteDatabase):
(WebCore::IDBDatabaseBackendImpl::close):
* Modules/indexeddb/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::getDatabaseNames):
(WebCore::IDBFactoryBackendImpl::deleteDatabase):
(WebCore::IDBFactoryBackendImpl::open):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexOperation::perform):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::commit):

LayoutTests:

Updated error message and establish that non-ascii characters in index
names don't make it back to the browser properly.

* storage/indexeddb/resources/shared.js:
(unexpectedAbortCallback):
* storage/indexeddb/resources/transaction-error.js:
(testErrorFromCommit.trans.oncomplete.request.onupgradeneeded.trans.onabort):
(testErrorFromCommit.trans.oncomplete.request.onupgradeneeded):
(testErrorFromCommit.trans.oncomplete):
(testErrorFromCommit):
* storage/indexeddb/transaction-error-expected.txt:
* storage/indexeddb/transaction-error.html:

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

6 years agoFix a mis-named variable after r137621.
dpranke@chromium.org [Thu, 13 Dec 2012 20:07:58 +0000 (20:07 +0000)]
Fix a mis-named variable after r137621.
https://bugs.webkit.org/show_bug.cgi?id=104871

Unreviewed, build fix.

* Scripts/webkitpy/layout_tests/views/buildbot_results.py:
(BuildBotPrinter.print_results):
* Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:

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

6 years ago[GTK] Safeguard against possible NULL-dereference
commit-queue@webkit.org [Thu, 13 Dec 2012 19:51:49 +0000 (19:51 +0000)]
[GTK] Safeguard against possible NULL-dereference
https://bugs.webkit.org/show_bug.cgi?id=104931

Patch by Claudio Saavedra <csaavedra@igalia.com> on 2012-12-13
Reviewed by Chris Fleizach.

This was spotted by Coverity. See bug 104114.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetIndexInParent): If parent is NULL
bail out early.

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

6 years agoHeap-use-after-free in WebCore::RenderBlock::finishDelayUpdateScrollInfo
dbarton@mathscribe.com [Thu, 13 Dec 2012 19:48:26 +0000 (19:48 +0000)]
Heap-use-after-free in WebCore::RenderBlock::finishDelayUpdateScrollInfo
https://bugs.webkit.org/show_bug.cgi?id=103750

Reviewed by Tony Chang.

Source/WebCore:

MathML sometimes creates and destroys renderers for descendants during layout (or even to calculate
preferred logical widths), e.g. for operator stretching. RenderBlock::finishDelayUpdateScrollInfo
must therefore leave gDelayedUpdateScrollInfoSet intact as it iterates over it, so
RenderBlock::willBeDestroyed can call gDelayedUpdateScrollInfoSet->remove(this) effectively if needed.
This also prevents duplicate entries from being added to gDelayedUpdateScrollInfoSet.

Test: mathml/mo-stretch-crash.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::startDelayUpdateScrollInfo):
    - Allow gDelayedUpdateScrollInfoSet to be non-null when gDelayUpdateScrollInfo is 0 during
      RenderBlock::finishDelayUpdateScrollInfo.
(WebCore::RenderBlock::finishDelayUpdateScrollInfo):
    - Remove blocks from gDelayedUpdateScrollInfoSet one at a time, waiting for each block until it is
      about to be updated.

LayoutTests:

* mathml/mo-stretch-crash-expected.txt: Added.
* mathml/mo-stretch-crash.html: Added.

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

6 years ago ResourceLoader::didReceiveAuthenticationChallenge uses a wrong client
ap@apple.com [Thu, 13 Dec 2012 19:46:13 +0000 (19:46 +0000)]
    ResourceLoader::didReceiveAuthenticationChallenge uses a wrong client
        https://bugs.webkit.org/show_bug.cgi?id=104935
        <rdar://problem/12870361>

        Reviewed by Anders Carlsson.

        * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
        The handle is null when NetworkProcess is used. In any case, it should be correct
        to use the client carried within AuthenticationChallenge.

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

6 years ago.: Added manual test for canvas setFont speed.
senorblanco@chromium.org [Thu, 13 Dec 2012 19:32:23 +0000 (19:32 +0000)]
.: Added manual test for canvas setFont speed.
https://bugs.webkit.org/show_bug.cgi?id=104923

Reviewed by James Robinson.

* ManualTests/canvas-font-speed.html: Added.

Source/WebCore: CanvasRenderingContext2D::setFont() is slow.
https://bugs.webkit.org/show_bug.cgi?id=104923

Reviewed by James Robinson.

This spends most of its time in the CSS parser.  As a first step,
early-out if the new value is the same as unparsed string for the current font.
See also http://code.google.com/p/chromium/issues/detail?id=164016.

Covered by existing tests in canvas/ and fast/canvas, and ManualTests/canvas-font-speed.html.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):

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

6 years agoAllow plugins to be disabled by shared library filename
commit-queue@webkit.org [Thu, 13 Dec 2012 19:23:23 +0000 (19:23 +0000)]
Allow plugins to be disabled by shared library filename
https://bugs.webkit.org/show_bug.cgi?id=101274

Patch by Parth Patel  <parpatel@rim.com>, Max Feil <mfeil@rim.com> on 2012-12-13
Reviewed by Antonio Gomes.

Source/WebCore:

This fix makes PluginDatabase changes general so that other ports
can use this mechanism if they wish.

Layout test not included with this patch because there
is currently no framework within LayoutTests to allow calls
from an external application via platform API code (such as the
WebView API).

* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::fileExistsAndIsNotDisabled):
(WebCore):
(WebCore::PluginDatabase::getDeletedPlugins):
(WebCore::PluginDatabase::removeDisabledPluginFile):
(WebCore::PluginDatabase::addDisabledPluginFile):
(WebCore::PluginDatabase::getPluginPathsInDirectories):
* plugins/PluginDatabase.h:
(PluginDatabase):

Source/WebKit/blackberry:

Mechanism allows plugins to be disabled by specifying their shared library filenames.
Once disabled, a plugin's shared library should never be loaded.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
(WebKit):
(BlackBerry::WebKit::WebPage::updateDisabledPluginFiles):
* Api/WebPage.h:

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

6 years ago[chromium perf] DOM/DOMWalk.html failures
rniwa@webkit.org [Thu, 13 Dec 2012 19:11:16 +0000 (19:11 +0000)]
[chromium perf] DOM/DOMWalk.html failures
https://bugs.webkit.org/show_bug.cgi?id=104866

Reviewed by Eric Seidel.

Use PerfTestRunner.now which in turn uses window.performance.now() when it's available.

* DOM/resources/dom-perf.js:
(Interval.start):
(Interval.stop):
(BenchmarkSuite.prototype.RunSingle):

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

6 years agowebkitpy: rename ResultSummary
dpranke@chromium.org [Thu, 13 Dec 2012 19:05:54 +0000 (19:05 +0000)]
webkitpy: rename ResultSummary
https://bugs.webkit.org/show_bug.cgi?id=104871

Reviewed by Eric Seidel.

This patch changes the names of ResultSummary and related modules,
classes, and variables as a part of the larger clean up in bug 103824.

This change is basically a bunch of search and replaces:
- result_summary.py -> test_run_results.py
- class ResultSummary -> class TestRunResults
- "result_summary" or "rs" as a generic variable name -> "run_results",
  when it doesn't matter (or we don't know) if this refers to the
  initial pass over the tests or the retry pass.
- "result_summary" as a variable containing the results of the initial,
  complete test run -> "initial_results"
- "retry_summary" as a variable containing the results of retried
  results -> "retry_results"
- ResultSummary.results (the property) -> TestRunResults.results_by_name
- ResultSummary.failures (the property) -> TestRunResults.failures_by_name
- RunDetails.result_summary -> RunDetails.initial_results
- RunDetails.retry_summary -> RunDetails.retry_results

* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.__init__):
(LayoutTestRunner.run_tests):
(LayoutTestRunner._mark_interrupted_tests_as_skipped):
(LayoutTestRunner._interrupt_if_at_failure_limits):
(LayoutTestRunner._interrupt_if_at_failure_limits.interrupt_if_at_failure_limit):
(LayoutTestRunner._update_summary_with_result):
(LayoutTestRunner._handle_finished_test):
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(FakePrinter.print_expected):
(LayoutTestRunnerTests.test_interrupt_if_at_failure_limits):
(LayoutTestRunnerTests.test_update_summary_with_result):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(RunDetails.__init__):
(summarize_results):
(Manager.run):
(Manager._look_for_new_crash_logs):
(Manager._tests_to_retry):
(Manager._upload_json_files):
(Manager._stats_trie):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ManagerTest.test_look_for_new_crash_logs):
(SummarizeResultsTest):
(SummarizeResultsTest.get_run_results):
(SummarizeResultsTest.summarized_results):
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator.__init__):
(JSONLayoutResultsGenerator._get_modifier_char):
(JSONLayoutResultsGenerator._insert_failure_summaries):
(JSONLayoutResultsGenerator._get_failure_summary_entry):
* Scripts/webkitpy/layout_tests/models/test_run_results.py: Renamed from Tools/Scripts/webkitpy/layout_tests/models/result_summary.py.
(TestRunResults):
(TestRunResults.__init__):
(TestRunResults.add):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(get_test_results):
(MainTest.test_basic):
* Scripts/webkitpy/layout_tests/views/buildbot_results.py:
(BuildBotPrinter.print_results):
(BuildBotPrinter.print_run_results):
(BuildBotPrinter._print_run_results_entry):
* Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
(BuildBotPrinterTests.get_run_results):
(BuildBotPrinterTests.test_print_unexpected_results.get_unexpected_results):
(BuildBotPrinterTests):
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.print_expected):
(Printer._print_expected_results_of_type):
(Printer.print_results):
(Printer._print_timing_statistics):
(Printer._print_worker_statistics):
(Printer._print_aggregate_test_statistics):
(Printer._print_individual_test_times):
(Printer._print_directory_timings):
* Scripts/webkitpy/layout_tests/views/printing_unittest.py:

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

6 years ago[GTK] accessibiltiy/aria-hidden.html is failing
commit-queue@webkit.org [Thu, 13 Dec 2012 19:02:07 +0000 (19:02 +0000)]
[GTK] accessibiltiy/aria-hidden.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98352

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-12-13
Reviewed by Martin Robinson.

The test is failing due to platform differences in the implementation of
AccessibilityUIElement::allAttributes(). This test does not require this
method as it is only looking at the AXTitle attribute.

* accessibility/aria-hidden-expected.txt: Included the actual reason for
passing/failing in the results output.
* accessibility/aria-hidden.html: Included the actual reason for passing/
failing in the results output.
* platform/gtk/TestExpectations: Unskipped the failing test.

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

6 years agoCheck whether a touchDown lands on a registered touch event handler from the compositor
jamesr@google.com [Thu, 13 Dec 2012 18:52:58 +0000 (18:52 +0000)]
Check whether a touchDown lands on a registered touch event handler from the compositor
https://bugs.webkit.org/show_bug.cgi?id=104863

Patch by Yusuf Ozuysal <yusufo@google.com> on 2012-12-13
Reviewed by James Robinson.

* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):

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

6 years agoDocument will never be released when an Image is created inside unload event listener
commit-queue@webkit.org [Thu, 13 Dec 2012 18:48:43 +0000 (18:48 +0000)]
Document will never be released when an Image is created inside unload event listener
https://bugs.webkit.org/show_bug.cgi?id=104830

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2012-12-13
Reviewed by Darin Adler.

When setting src attribute to an Image object inside unload event listener, ImageLoader will
mark it as load failure (by setting m_hasPendingErrorEvent to true) and the following call
to updatedHasPendingEvent will ref the element but won't be deref-ed since the Document is
being dismissed.  This was introduced in r131670.  To match pre r131670 behavior, we shouldn't
trigger error event for image loading when the page is being dismissed.

No new tests, there is no visual change.  Manually tested to verify documents are released by
using heap in Mac OS X.

* loader/ImageLoader.cpp:
(WebCore::pageIsBeingDismissed): add a helper function to test whether the page is being dismissed.
(WebCore::ImageLoader::updateFromElement): don't trigger error event if the page is being dismissed.

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

6 years ago[GTK] Add missing breaks in switch-case statements
commit-queue@webkit.org [Thu, 13 Dec 2012 18:47:13 +0000 (18:47 +0000)]
[GTK] Add missing breaks in switch-case statements
https://bugs.webkit.org/show_bug.cgi?id=104929

Patch by Claudio Saavedra <csaavedra@igalia.com> on 2012-12-13
Reviewed by Martin Robinson.

* platform/gtk/ClipboardGtk.cpp:
(WebCore::ClipboardGtk::clearData): Add missing breaks.

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

6 years agoRemove unused initiatingPage parameter from download objects
andersca@apple.com [Thu, 13 Dec 2012 18:44:09 +0000 (18:44 +0000)]
Remove unused initiatingPage parameter from download objects
https://bugs.webkit.org/show_bug.cgi?id=104933

Reviewed by Alexey Proskuryakov.

* WebProcess/Downloads/Download.h:
(Download):
* WebProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::convertHandleToDownload):
* WebProcess/Downloads/DownloadManager.h:
(DownloadManager):
* WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
* WebProcess/Downloads/curl/DownloadCurl.cpp:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
* WebProcess/Downloads/mac/DownloadMac.mm:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
* WebProcess/Downloads/qt/DownloadQt.cpp:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
* WebProcess/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertHandleToDownload):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::downloadRequest):

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

6 years ago[EFL] The WebKit2 bots are building and executing WebKit1 tests
thiago.santos@intel.com [Thu, 13 Dec 2012 18:39:39 +0000 (18:39 +0000)]
[EFL] The WebKit2 bots are building and executing WebKit1 tests
https://bugs.webkit.org/show_bug.cgi?id=104690

Reviewed by Csaba Osztrogon√°c.

Pass --no-webkit1 option to the EFL WK2 bots when building. This
will disable WK1 API and thus, the WK1 API tests.

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(CompileWebKit2Only):
(BuildAndTestFactory):
(BuildAndTestFactory.__init__):
(BuildAndTestWebKit2OnlyFactory):
Now bots using BuildAndTestWebKit2OnlyFactory (for instance only EFL) will
get --no-webkit1 as a parameter on the build-webkit script.
* Scripts/build-webkit:
Added support for -no-webkit1 for the Qt and EFL port.

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

6 years agobuild-webkit --chromium-android forces Make even when update-webkit used --ninja
eric@webkit.org [Thu, 13 Dec 2012 18:34:53 +0000 (18:34 +0000)]
build-webkit --chromium-android forces Make even when update-webkit used --ninja
https://bugs.webkit.org/show_bug.cgi?id=104839

Reviewed by Tony Chang.

This was recommended by Peter as part of:
https://bugs.webkit.org/show_bug.cgi?id=104434#c4
Fixing this makes build-webkit --chromium-android work for the common (ninja) case.

* Scripts/webkitdirs.pm:
(buildChromium):

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

6 years ago <rdar://problem/12870065> Frequent NetworkProcess crashes due to null connect...
ap@apple.com [Thu, 13 Dec 2012 18:32:53 +0000 (18:32 +0000)]
    <rdar://problem/12870065> Frequent NetworkProcess crashes due to null connection when closing tabs
        https://bugs.webkit.org/show_bug.cgi?id=104922

        Reviewed by Anders Carlsson.

        Don't zero out connection pointers when a connection closes. There doesn't appear
        to be any reason to do this.

        Tested by hitting breakpoints in all relevant objects destructors to confirm that
        this doesn't introduce leaks.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
        (WebKit::NetworkConnectionToWebProcess::didClose):
        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):

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

6 years agoUnreviewed. Update chromium expectatins for fonts/monospace.html
adamk@chromium.org [Thu, 13 Dec 2012 18:32:15 +0000 (18:32 +0000)]
Unreviewed. Update chromium expectatins for fonts/monospace.html

* platform/chromium/TestExpectations:

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

6 years agoRoute main resource loads through the memory cache.
japhet@chromium.org [Thu, 13 Dec 2012 18:27:51 +0000 (18:27 +0000)]
Route main resource loads through the memory cache.
https://bugs.webkit.org/show_bug.cgi?id=49246

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Note that this patch doesn't actually enable caching of main resources. That will be done in a later patch.
The MainResourceLoader actually has an underlying SubresourceLoader (with the cache layer between them).
In several places, the MainResourceLoader's SubresourceLoader is treated as special.

No new tests, as this is primarily a refactor. A couple of expected results changed slightly.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setRequest):
(WebCore::DocumentLoader::subresource):
(WebCore::DocumentLoader::addSubresourceLoader): Because the SubresourceLoader underlying the main resource
    needs special handling in certain cases, track it separately from the real SubresourceLoaders.
(WebCore::DocumentLoader::removeSubresourceLoader):
(WebCore::DocumentLoader::startLoadingMainResource):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::receivedError):
(WebCore::MainResourceLoader::cancel):
(WebCore::MainResourceLoader::clearResource):
(WebCore):
(WebCore::MainResourceLoader::frameLoader):
(WebCore::MainResourceLoader::request):
(WebCore::MainResourceLoader::continueAfterNavigationPolicy):
(WebCore::MainResourceLoader::resourceData):
(WebCore::MainResourceLoader::redirectReceived):
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(WebCore::MainResourceLoader::responseReceived):
(WebCore::MainResourceLoader::dataReceived):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::notifyFinished):
(WebCore::MainResourceLoader::reportMemoryUsage):
(WebCore::MainResourceLoader::handleSubstituteDataLoadNow):
(WebCore::MainResourceLoader::load):
(WebCore::MainResourceLoader::setDefersLoading):
(WebCore::MainResourceLoader::defersLoading):
(WebCore::MainResourceLoader::setShouldBufferData):
(WebCore::MainResourceLoader::loader):
(WebCore::MainResourceLoader::identifier):
* loader/MainResourceLoader.h:
(MainResourceLoader):
(WebCore::MainResourceLoader::documentLoader):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequest):
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::defersLoading):
(WebCore::ResourceLoader::cancelled):
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
* loader/mac/DocumentLoaderMac.cpp:
(WebCore::DocumentLoader::schedule):
(WebCore::DocumentLoader::unschedule):

LayoutTests:

* http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt: The error code for loads cancelled
    by an embedder's willSendRequest() will show as standard load cancellations rather than as a content policy
    failure. This was an odd quirk of how MainResourceLoader::willSendRequest() was implemented (namely, doing a
    content policy check on ResourceRequests with empty urls).
* platform/chromium-linux/fast/replaced/border-radius-clip-content-edge-expected.png:
* platform/chromium/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt: The error code for loads cancelled
    by an embedder's willSendRequest() will show as standard load cancellations rather than as a content policy
    failure. This was an odd quirk of how MainResourceLoader::willSendRequest() was implemented (namely, doing a
    content policy check on ResourceRequests with empty urls).

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

6 years agoDuplicate code in GraphicsContext3D::validateAttributes() and GraphicsContext3D:...
psolanki@apple.com [Thu, 13 Dec 2012 18:16:58 +0000 (18:16 +0000)]
Duplicate code in GraphicsContext3D::validateAttributes() and GraphicsContext3D::validateDepthStencil()
https://bugs.webkit.org/show_bug.cgi?id=97275

Reviewed by Dean Jackson.

Remove duplicate code in validateAttributes(). validateAttributes() calls
validateDepthStencil() which has the exact same code.

No new tests because no change in functionality.

* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::validateAttributes):

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

6 years ago[EFL] Update the way we set the cookies policy
abecsi@webkit.org [Thu, 13 Dec 2012 17:41:29 +0000 (17:41 +0000)]
[EFL] Update the way we set the cookies policy
https://bugs.webkit.org/show_bug.cgi?id=104915

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-12-13
Reviewed by Kenneth Rohde Christiansen.

We are mistakenly assigning the cookie policy to the persistent storage
type which is not correct. This was caused by r137432 and is making
the unit tests fail.

* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformInitializeWebProcess):

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

6 years agoCachedResources should hang on to stripped fragment identifiers
japhet@chromium.org [Thu, 13 Dec 2012 17:37:33 +0000 (17:37 +0000)]
CachedResources should hang on to stripped fragment identifiers
https://bugs.webkit.org/show_bug.cgi?id=104721

Reviewed by Maciej Stachowiak.

No new tests, this will be unused until bug
https://bugs.webkit.org/show_bug.cgi?id=49246 re-lands. Then, it will
allow http/tests/inspector/resource-parameters.html to continue passing.

* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::load):
* loader/cache/CachedResource.h:
(CachedResource):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource): We override the request's url with the
    local variable "url" here. The only difference between url and request.url() is that url
    has had any fragment identifier removed. Do this work later (in the CachedResource constructor)
    so that the CachedResource can save the fragment for later.

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

6 years ago[GTK] Remove deprecated API usage
commit-queue@webkit.org [Thu, 13 Dec 2012 17:13:59 +0000 (17:13 +0000)]
[GTK] Remove deprecated API usage
https://bugs.webkit.org/show_bug.cgi?id=104894

Patch by Claudio Saavedra <csaavedra@igalia.com> on 2012-12-13
Reviewed by Martin Robinson.

Remove deprecated GTK+ API usage.

* platform/gtk/RenderThemeGtk3.cpp:
(WebCore::spinButtonArrowSize): Do not use deprecated
gtk_style_context_get_font().

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