WebKit-https.git
9 years ago<rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around
mitz@apple.com [Sun, 19 Feb 2012 03:53:29 +0000 (03:53 +0000)]
<rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around
https://bugs.webkit.org/show_bug.cgi?id=78976

Reviewed by Anders Carlsson.

Rather than move pixels in the backing store in response to scrolling, we can maintain a
mapping, for the most recently scrolled rect, from backing store coordinates to view
client coordinates.

* UIProcess/BackingStore.h:
* UIProcess/mac/BackingStoreMac.mm:
(WebKit::BackingStore::performWithScrolledRectTransform): Added. Given a block to be
performed on a rect, divides the rect into parts such that for each part the mapping from
backing store coordinates to client coordinates is a (uniform) translation, and performs
the block on that part, passing it the translation that applies to the part.
(WebKit::BackingStore::resetScrolledRect): Added. Copies everything in the scrolled rect
back to where it should be under the identity map, and resets the scrolled rect and offset.
(WebKit::BackingStore::paint): Changed to call through performWithScrolledRectTransform().
(WebKit::BackingStore::incorporateUpdate): Ditto.
(WebKit::BackingStore::scroll): Now instead of copying pixels, just updates the scrolled
rect and offset.

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

9 years agoFix style issues in DFG Phase classes
weinig@apple.com [Sun, 19 Feb 2012 01:53:04 +0000 (01:53 +0000)]
Fix style issues in DFG Phase classes
https://bugs.webkit.org/show_bug.cgi?id=78983

Reviewed by Ryosuke Niwa.

* dfg/DFGArithNodeFlagsInferencePhase.cpp:
* dfg/DFGCFAPhase.cpp:
* dfg/DFGCSEPhase.cpp:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGVirtualRegisterAllocationPhase.cpp:
Add a space before the colon in class declarations.

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

9 years agoMake WebCore compile with libc++ (Part 2)
weinig@apple.com [Sun, 19 Feb 2012 01:08:39 +0000 (01:08 +0000)]
Make WebCore compile with libc++ (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=78974

Reviewed by Anders Carlsson.

* config.h:
Disable the DisallowCType check when using libc++.

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

9 years agoFix the build.
weinig@apple.com [Sun, 19 Feb 2012 00:57:57 +0000 (00:57 +0000)]
Fix the build.

* page/DOMWindow.idl:

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

9 years agoAdd a change that should've been in r108005.
dpranke@chromium.org [Sun, 19 Feb 2012 00:50:46 +0000 (00:50 +0000)]
Add a change that should've been in r108005.

Unreviewed, build fix.

In the refactoring/cleanup in r108005 I should've changed the
implementation of WorkerConnection to make it match BrokerClient
(and everything else) so that objects had a name() method
instead of a name property.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._run_tests):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(_WorkerConnection.__init__):
(_WorkerConnection.name):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py:
(_TestWorker.__init__):
(_TestsMixin.name):
(_TestsMixin.test_name):
(_TestsMixin.test_cancel):
(_TestsMixin.test_unknown_message):

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

9 years agoAttempt to fix Windows build.
fpizlo@apple.com [Sun, 19 Feb 2012 00:33:56 +0000 (00:33 +0000)]
Attempt to fix Windows build.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

9 years agowebkitpy: remove webkitpy.common.array_stream
dpranke@chromium.org [Sat, 18 Feb 2012 23:51:52 +0000 (23:51 +0000)]
webkitpy: remove webkitpy.common.array_stream
https://bugs.webkit.org/show_bug.cgi?id=78952

Reviewed by Eric Seidel.

Turns out array_stream didn't really do anything that StringIO
didn't do (at least as of Python 2.6). This change removes it
and updates all of the callers. Where possible, I changed the
test assertions in order to capture the intent more clearly,
e.g., instead of calling self.assertTrue('foo' in stream.get()),
we have self.assertContainsLine(stream, 'foo'), and instead of
self.assertTrue(stream.empty()), we have self.assertEmpty(stream) -
the latter isn't that much more readable, but StringIO doesn't
export an empty() method.

* Scripts/webkitpy/common/array_stream.py: Removed.
* Scripts/webkitpy/common/array_stream_unittest.py: Removed.
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(passing_run):
(run_and_capture):
(StreamTestingMixin):
(StreamTestingMixin.assertContains):
(StreamTestingMixin.assertContainsLine):
(StreamTestingMixin.assertEmpty):
(StreamTestingMixin.assertNotEmpty):
(LintTest):
(LintTest.test_lint_test_files):
(LintTest.test_lint_test_files__errors):
(MainTest):
(MainTest.test_child_process_1):
(MainTest.test_child_processes_2):
(MainTest.test_child_processes_min):
(MainTest.test_help_printing):
(MainTest.test_hung_thread):
(MainTest.test_no_tests_found):
(MainTest.test_no_tests_found_2):
(MainTest.test_repeat_each_iterations_num_tests):
(MainTest.test_test_list):
(MainTest.test_unexpected_failures):
(MainTest.test_worker_model__inline_with_child_processes):
(MainTest.test_additional_platform_directory):
(RebaselineTest):
(RebaselineTest.assertBaselines):
(RebaselineTest.test_reset_results):
(RebaselineTest.test_missing_results):
(RebaselineTest.test_new_baseline):
* Scripts/webkitpy/layout_tests/views/metered_stream.py:
(MeteredStream.update):
* Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
(TestMeteredStream.test_regular):
* Scripts/webkitpy/layout_tests/views/printing_unittest.py:
(TestUtilityFunctions.assertEmpty):
(TestUtilityFunctions):
(TestUtilityFunctions.assertNotEmpty):
(TestUtilityFunctions.assertWritten):
(TestUtilityFunctions.test_configure_logging):
(Testprinter.assertEmpty):
(Testprinter):
(Testprinter.assertNotEmpty):
(Testprinter.assertWritten):
(Testprinter.reset):
(Testprinter.get_printer):
(Testprinter.test_help_printer):
(Testprinter.do_switch_tests.do_helper):
(Testprinter.test_print_one_line_summary):
(Testprinter.test_print_test_result):
(Testprinter.test_print_progress):
(Testprinter.test_write_nothing):
(Testprinter.test_write_misc):
(Testprinter.test_write_everything):
(Testprinter.test_write_verbose):
(Testprinter.test_print_unexpected_results):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(MainTest.assertWritten):
(create_runner):
(test_run_test_set):
(test_run_test_set_kills_drt_per_run):
(test_run_test_set_for_parser_tests):
(test_run_test_set_with_json_output):
(test_run_test_set_with_json_source):
(test_run_test_set_with_multiple_repositories):
(test_upload_json):

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

9 years agoMake WebCore compile with libc++ (Part 1)
weinig@apple.com [Sat, 18 Feb 2012 23:42:03 +0000 (23:42 +0000)]
Make WebCore compile with libc++ (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=78974

Reviewed by Anders Carlsson.

Add a workaround for <rdar://problem/10858112>, which cause the standard heap functions
not to work when using an iterator with proxy objects for reference and pointer types.

* WebCorePrefix.h:
(move):
Add an overload of std::move that the heap functions can call successfully.

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

9 years agoUnreviewed chromium rebaselines after r108157.
kling@webkit.org [Sat, 18 Feb 2012 22:30:44 +0000 (22:30 +0000)]
Unreviewed chromium rebaselines after r108157.

* platform/chromium-mac/fast/dom/setPrimitiveValue-exceptions-expected.txt:
* platform/chromium-win/fast/dom/setPrimitiveValue-exceptions-expected.txt:

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

9 years ago[wx] Fix wx port compilation.
kevino@webkit.org [Sat, 18 Feb 2012 22:10:28 +0000 (22:10 +0000)]
[wx] Fix wx port compilation.

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

9 years ago[wx] Build fixes for C++ bindings after recent changes.
kevino@webkit.org [Sat, 18 Feb 2012 22:07:18 +0000 (22:07 +0000)]
[wx] Build fixes for C++ bindings after recent changes.

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

9 years ago[wx] Build fix, add new platform method wx impl.
kevino@webkit.org [Sat, 18 Feb 2012 22:04:06 +0000 (22:04 +0000)]
[wx] Build fix, add new platform method wx impl.

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

9 years agoFix part of the windows build failure.
weinig@apple.com [Sat, 18 Feb 2012 21:48:15 +0000 (21:48 +0000)]
Fix part of the windows build failure.

* WebCore.vcproj/WebCore.vcproj:
Don't build JSWebKitCSSRegionRule.cpp, since it is already being built
as part of DerivedSources.cpp.

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

9 years agoFix the libc++ build.
weinig@apple.com [Sat, 18 Feb 2012 21:30:58 +0000 (21:30 +0000)]
Fix the libc++ build.

Reviewed by Anders Carlsson.

* heap/Weak.h:
Libc++'s nullptr emulation does not allow default construction
of the nullptr_t type. Work around this with the arguably clearer
just returning nullptr.

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

9 years agoFix the ENABLE(THREADED_SCROLLING) build.
weinig@apple.com [Sat, 18 Feb 2012 21:28:05 +0000 (21:28 +0000)]
Fix the ENABLE(THREADED_SCROLLING) build.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setScrollParameters):

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

9 years agoDFGPropagator.cpp has too many things
fpizlo@apple.com [Sat, 18 Feb 2012 20:07:32 +0000 (20:07 +0000)]
DFGPropagator.cpp has too many things
https://bugs.webkit.org/show_bug.cgi?id=78956

Reviewed by Oliver Hunt.

Added the notion of a DFG::Phase. Removed DFG::Propagator, and took its
various things and put them into separate files. These new phases follow
the naming convention "DFG<name>Phase" where <name> is a noun. They are
called via functions of the form "perform<name>".

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* dfg/DFGArithNodeFlagsInferencePhase.cpp: Added.
(DFG):
(JSC::DFG::performArithNodeFlagsInference):
* dfg/DFGArithNodeFlagsInferencePhase.h: Added.
(DFG):
* dfg/DFGCFAPhase.cpp: Added.
(DFG):
(JSC::DFG::performCFA):
* dfg/DFGCFAPhase.h: Added.
(DFG):
* dfg/DFGCSEPhase.cpp: Added.
(DFG):
(JSC::DFG::performCSE):
* dfg/DFGCSEPhase.h: Added.
(DFG):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGPhase.cpp: Added.
(DFG):
(JSC::DFG::Phase::beginPhase):
(JSC::DFG::Phase::endPhase):
* dfg/DFGPhase.h: Added.
(DFG):
(Phase):
(JSC::DFG::Phase::Phase):
(JSC::DFG::Phase::~Phase):
(JSC::DFG::Phase::globalData):
(JSC::DFG::Phase::codeBlock):
(JSC::DFG::Phase::profiledBlock):
(JSC::DFG::Phase::beginPhase):
(JSC::DFG::Phase::endPhase):
(JSC::DFG::runPhase):
* dfg/DFGPredictionPropagationPhase.cpp: Added.
(DFG):
(JSC::DFG::performPredictionPropagation):
* dfg/DFGPredictionPropagationPhase.h: Added.
(DFG):
* dfg/DFGPropagator.cpp: Removed.
* dfg/DFGPropagator.h: Removed.
* dfg/DFGVirtualRegisterAllocationPhase.cpp: Added.
(DFG):
(JSC::DFG::performVirtualRegisterAllocation):
* dfg/DFGVirtualRegisterAllocationPhase.h: Added.
(DFG):

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

9 years agoHTML: Remove unnecessary attributeChange() overrides.
kling@webkit.org [Sat, 18 Feb 2012 19:58:57 +0000 (19:58 +0000)]
HTML: Remove unnecessary attributeChange() overrides.
<http://webkit.org/b/78890>

Reviewed by Anders Carlsson.

Move logic from attributeChanged() overrides into parseAttribute().
This is a step towards making attributeChanged() non-virtual.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:
(HTMLMediaElement):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::parseAttribute):
* html/HTMLScriptElement.h:
(HTMLScriptElement):
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::parseAttribute):
* html/HTMLTrackElement.h:
(HTMLTrackElement):

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

9 years agoRemove Element::createAttribute().
kling@webkit.org [Sat, 18 Feb 2012 19:53:43 +0000 (19:53 +0000)]
Remove Element::createAttribute().
<http://webkit.org/b/78965>

Reviewed by Anders Carlsson.

Switch call sites to use Attribute::create() directly, as there is no magic
in calling Element::createAttribute() anymore (it used to be virtual and handled
differently by StyledElement.)

* dom/Element.cpp:
(WebCore::Element::setAttributeInternal):
* dom/Element.h:
* svg/properties/SVGAnimatedPropertySynchronizer.h:

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

9 years agoHTMLBodyElement: Avoid synchronous style recalc when setting link/vlink/alink.
kling@webkit.org [Sat, 18 Feb 2012 19:48:46 +0000 (19:48 +0000)]
HTMLBodyElement: Avoid synchronous style recalc when setting link/vlink/alink.
<http://webkit.org/b/78959>

Reviewed by Anders Carlsson.

Mark the body element for deferred style recalc instead of doing it synchronously
when the attributes change.

* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::parseAttribute):

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

9 years agoFix the TextureMapper build for non-Qt ports. Qt debug builds
mrobinson@webkit.org [Sat, 18 Feb 2012 18:33:24 +0000 (18:33 +0000)]
Fix the TextureMapper build for non-Qt ports. Qt debug builds
must use RTTI, but GTK+, at least, does not.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::updateBackingStore): Make the RTTI check
Qt only.

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

9 years ago[wx] Unreviewed build fix. Don't error out or hang if we have
kevino@webkit.org [Sat, 18 Feb 2012 18:17:13 +0000 (18:17 +0000)]
[wx] Unreviewed build fix. Don't error out or hang if we have
downloaded dependencies but server update check fails.

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

9 years ago[Qt] Unreviewed gardening after r107971.
ossy@webkit.org [Sat, 18 Feb 2012 13:04:53 +0000 (13:04 +0000)]
[Qt] Unreviewed gardening after r107971.

* platform/qt/tables/mozilla/bugs/bug27038-1-expected.png:
* platform/qt/tables/mozilla/bugs/bug27038-1-expected.txt:
* platform/qt/tables/mozilla/bugs/bug27038-2-expected.png:
* platform/qt/tables/mozilla/bugs/bug27038-2-expected.txt:
* platform/qt/test_expectations.txt:

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

9 years ago[Qt] Unreviewed weekend gardening, skip new failing tests.
ossy@webkit.org [Sat, 18 Feb 2012 12:59:09 +0000 (12:59 +0000)]
[Qt] Unreviewed weekend gardening, skip new failing tests.

* platform/qt/Skipped:

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

9 years agoUnreviewed gardening r108133.
ossy@webkit.org [Sat, 18 Feb 2012 12:51:08 +0000 (12:51 +0000)]
Unreviewed gardening r108133.

* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* svg/css/getComputedStyle-basic-expected.txt:

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

9 years agoFontFamilyValue: Utilize inheritance from CSSPrimitiveValue better.
kling@webkit.org [Sat, 18 Feb 2012 11:42:36 +0000 (11:42 +0000)]
FontFamilyValue: Utilize inheritance from CSSPrimitiveValue better.
<http://webkit.org/b/78806>

Reviewed by Antti Koivisto.

Source/WebCore:

Now that FontFamilyValue's string doesn't change after creation, we can just
pass the massaged family name up to the CSSPrimitiveValue constructor and get
cached cssText() for free. This also shrinks FontFamilyValue by sizeof(String)
though that's less of an issue now that we cache them in CSSValuePool.

* css/FontFamilyValue.cpp:
(WebCore::stripFontFamilyJunk):
(WebCore::FontFamilyValue::FontFamilyValue):
* css/FontFamilyValue.h:
(WebCore::FontFamilyValue::familyName):
(FontFamilyValue):

LayoutTests:

Rebaseline as CSSPrimitiveValue.getStringValue() is no longer broken for
font-family values.

* fast/dom/setPrimitiveValue-exceptions-expected.txt:

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

9 years agoDFG::Graph should have references to JSGlobalData, the CodeBlock being compiled, and
fpizlo@apple.com [Sat, 18 Feb 2012 07:56:10 +0000 (07:56 +0000)]
DFG::Graph should have references to JSGlobalData, the CodeBlock being compiled, and
the CodeBlock that was used for profiling
https://bugs.webkit.org/show_bug.cgi?id=78954

Reviewed by Gavin Barraclough.

* bytecode/CodeBlock.h:
(JSC::baselineCodeBlockForOriginAndBaselineCodeBlock):
(JSC):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::AbstractState):
(JSC::DFG::AbstractState::execute):
* dfg/DFGAbstractState.h:
* dfg/DFGAssemblyHelpers.h:
(AssemblyHelpers):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::ByteCodeParser):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::parse):
* dfg/DFGByteCodeParser.h:
(DFG):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::predictArgumentTypes):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::Graph):
(Graph):
(JSC::DFG::Graph::getJSConstantPrediction):
(JSC::DFG::Graph::addShouldSpeculateInteger):
(JSC::DFG::Graph::isInt32Constant):
(JSC::DFG::Graph::isDoubleConstant):
(JSC::DFG::Graph::isNumberConstant):
(JSC::DFG::Graph::isBooleanConstant):
(JSC::DFG::Graph::isFunctionConstant):
(JSC::DFG::Graph::valueOfJSConstant):
(JSC::DFG::Graph::valueOfInt32Constant):
(JSC::DFG::Graph::valueOfNumberConstant):
(JSC::DFG::Graph::valueOfBooleanConstant):
(JSC::DFG::Graph::valueOfFunctionConstant):
(JSC::DFG::Graph::baselineCodeBlockFor):
(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::JITCompiler):
(JITCompiler):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::considerAddingAsFrequentExitSiteSlow):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::Propagator):
(JSC::DFG::Propagator::isNotNegZero):
(JSC::DFG::Propagator::isNotZero):
(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::doRoundOfDoubleVoting):
(JSC::DFG::Propagator::globalCFA):
(JSC::DFG::propagate):
* dfg/DFGPropagator.h:
(DFG):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::isConstant):
(JSC::DFG::SpeculativeJIT::isJSConstant):
(JSC::DFG::SpeculativeJIT::isInt32Constant):
(JSC::DFG::SpeculativeJIT::isDoubleConstant):
(JSC::DFG::SpeculativeJIT::isNumberConstant):
(JSC::DFG::SpeculativeJIT::isBooleanConstant):
(JSC::DFG::SpeculativeJIT::isFunctionConstant):
(JSC::DFG::SpeculativeJIT::valueOfInt32Constant):
(JSC::DFG::SpeculativeJIT::valueOfNumberConstant):
(JSC::DFG::SpeculativeJIT::valueOfJSConstant):
(JSC::DFG::SpeculativeJIT::valueOfBooleanConstant):
(JSC::DFG::SpeculativeJIT::valueOfFunctionConstant):
(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::SpeculativeJIT):

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

9 years agoThere is a warning in memset in glibc that gets triggered through a
commit-queue@webkit.org [Sat, 18 Feb 2012 07:28:22 +0000 (07:28 +0000)]
There is a warning in memset in glibc that gets triggered through a
warndecl when the fill-value of memset is a non-zero constant and the
size is zero. This warning is enabled when building with
-D_FORTIFY_SOURCE=2. This patch fixes the warning.

https://bugs.webkit.org/show_bug.cgi?id=78513

Patch by Ahmad Sharif <asharif.tools@gmail.com> on 2012-02-17
Reviewed by Alexey Proskuryakov

* wtf/Vector.h:

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

9 years agoAvoid inconsistency in Node::inDocument due to DOMSubtreeModified dispatch
adamk@chromium.org [Sat, 18 Feb 2012 03:22:10 +0000 (03:22 +0000)]
Avoid inconsistency in Node::inDocument due to DOMSubtreeModified dispatch
https://bugs.webkit.org/show_bug.cgi?id=76087

Reviewed by Ryosuke Niwa.

Source/WebCore:

Move post-removal notifications after call to Node::removeFromDocument
to avoid inconsistent state of Node::inDocument() and thus avoid
inconsistent state in DocumentOrderedMap.

Tests: fast/dom/getElementById-consistency.html
       fast/dom/getElementById-consistency2.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChild):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::updateReferencedText): Fixed to work with new timing of DOMSubtreeModified dispatch.

LayoutTests:

* fast/dom/getElementById-consistency-expected.txt: Added.
* fast/dom/getElementById-consistency.html: Added.
* fast/dom/getElementById-consistency2-expected.txt: Added.
* fast/dom/getElementById-consistency2.html: Added.

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

9 years ago[GTK] change the way of registering DeviceOrientation clients.
gyuyoung.kim@samsung.com [Sat, 18 Feb 2012 02:51:01 +0000 (02:51 +0000)]
[GTK] change the way of registering DeviceOrientation clients.
https://bugs.webkit.org/show_bug.cgi?id=78680

Reviewed by Gustavo Noronha Silva.

Bug 78085 removed deviceOrientationClient and deviceMotionClient from PageClients. Instead,
DeviceOrientationClient and DeviceMotionClient should be registered by PageSupplement class.
Chromium, mac and qt ports are already changed by Bug 78085.

* webkit/webkitwebview.cpp:
(webkit_web_view_init):

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

9 years agoIndexedDB: Support overloaded methods that take IDBKey or IDBKeyRange
jsbell@chromium.org [Sat, 18 Feb 2012 02:46:13 +0000 (02:46 +0000)]
IndexedDB: Support overloaded methods that take IDBKey or IDBKeyRange
https://bugs.webkit.org/show_bug.cgi?id=78399

Source/WebCore:

Implements IDBObjectStore.delete(IDBKeyRange) to exercise the functionality.

Reviewed by Tony Chang.

Test: storage/indexeddb/delete-range.html

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateFunctionCallString): Use .get() to disambiguate when passing RefPtr.
* bindings/scripts/test/V8/V8TestObj.cpp: Update test expectations.
* storage/IDBLevelDBBackingStore.cpp:
(WebCore):
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::deleteFunction):
(WebCore):
* storage/IDBObjectStore.h:
(IDBObjectStore):
* storage/IDBObjectStore.idl:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore):
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
* storage/IDBObjectStoreBackendImpl.h:
(IDBObjectStoreBackendImpl):
* storage/IDBObjectStoreBackendInterface.h:

Source/WebKit/chromium:

Implements the WebKit API for IDBObjectStore.delete(IDBKeyRange),
to exercise the overload capability.

Reviewed by Tony Chang.

* src/IDBObjectStoreBackendProxy.cpp:
(WebKit::IDBObjectStoreBackendProxy::deleteFunction):
(WebKit):
* src/IDBObjectStoreBackendProxy.h:
(IDBObjectStoreBackendProxy):
* src/WebIDBObjectStoreImpl.cpp:
(WebKit::WebIDBObjectStoreImpl::deleteFunction):
(WebKit):
* src/WebIDBObjectStoreImpl.h:
(WebIDBObjectStoreImpl):

LayoutTests:

Tests IDBObjectStore.delete(IDBKeyRange). The spec has been updated such
that delete() always yields a result of undefined rather than a boolean,
so other test expectations are updated.

Reviewed by Tony Chang.

* storage/indexeddb/delete-range-expected.txt: Added.
* storage/indexeddb/delete-range.html: Added.
* storage/indexeddb/mozilla/delete-result-expected.txt:
* storage/indexeddb/mozilla/delete-result.html:
* storage/indexeddb/objectStore-required-arguments-expected.txt:
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-basics-workers-expected.txt:
* storage/indexeddb/resources/objectstore-basics.js:
(createIndex):
(removeSuccess):
(removeSuccessButNotThere):

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

9 years agoReplace [V8OnInstance] with [V8Unforgeable]
haraken@chromium.org [Sat, 18 Feb 2012 02:20:47 +0000 (02:20 +0000)]
Replace [V8OnInstance] with [V8Unforgeable]
https://bugs.webkit.org/show_bug.cgi?id=78894

Reviewed by Adam Barth.

[V8OnInstance] means that the method should be defined
(not on a prototype chain but) on a DOM object. It is the
same meaning as [V8Unforgeable]. This patch replaces [V8OnInstance]
with [V8Unforgeable].

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateImplementation):
* page/Location.idl:

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

9 years ago[chromium] Unreviewed gardening, update baselines for svg/dynamic-updates/.. and...
jamesr@google.com [Sat, 18 Feb 2012 02:03:10 +0000 (02:03 +0000)]
[chromium] Unreviewed gardening, update baselines for svg/dynamic-updates/.. and some more getComputedStyle
results

* platform/chromium-linux/svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures-expected.png:
* platform/chromium-mac-snowleopard/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/chromium-mac-snowleopard/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/chromium-mac-snowleopard/svg/css/getComputedStyle-basic-expected.txt:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures-expected.png: Added.
* platform/chromium-mac/svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures-expected.png: Removed.
* platform/chromium-win/svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures-expected.png:

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

9 years ago[chromium] Unreviewed build fix. MSVS gyp generator can't handle multiple .cpps with...
jamesr@google.com [Sat, 18 Feb 2012 01:19:23 +0000 (01:19 +0000)]
[chromium] Unreviewed build fix. MSVS gyp generator can't handle multiple .cpps with the same name in the same
target from different paths.

* WebCore.gypi:
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Renamed from Source/WebCore/page/scrolling/chromium/ScrollingCoordinator.cpp.
(WebCore):
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setScrollParameters):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):

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

9 years agoUnreviewed mac compile fix pt 2
jamesr@google.com [Sat, 18 Feb 2012 01:02:54 +0000 (01:02 +0000)]
Unreviewed mac compile fix pt 2

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setScrollParameters):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):

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

9 years agoThe new run-webkit-tests needs to dump out pixel hash failures even if the pixel...
dpranke@chromium.org [Sat, 18 Feb 2012 01:01:30 +0000 (01:01 +0000)]
The new run-webkit-tests needs to dump out pixel hash failures even if the pixel test passes.
https://bugs.webkit.org/show_bug.cgi?id=69444

Reviewed by Tony Chang.

Currently if a test's image checksum doesn't match the checksum
in the baseline, but the images themselves match according to
ImageDiff, new-run-webkit-tests ignores the problem. This is
probably bad, but it's not yet clear what the right thing to do
is. This patch will log a warning to stderr, at least (but the
test will still pass).

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_image):
(SingleTestRunner._run_reftest):
* Scripts/webkitpy/layout_tests/port/test.py:
(unit_test_list):
* Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:

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

9 years agoNRWT does not report failure for a skipped test
dpranke@chromium.org [Sat, 18 Feb 2012 00:56:05 +0000 (00:56 +0000)]
NRWT does not report failure for a skipped test
https://bugs.webkit.org/show_bug.cgi?id=78750

Reviewed by Eric Seidel.

If a test is listed in a Skipped file and you run it anyway
with --force, and the test fails, currently NRWT will print
"test ran as expected"; this is confusing, because you probably
expect the test to fail and yet this might lead you to think the
test passed. This patch changes the expected behavior to "PASS",
so tests that fail will be reported.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(result_was_expected):
(TestExpectationParser):
(TestExpectationParser.expectation_for_skipped_test):
(TestExpectations):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(test_add_skipped_tests):
* Scripts/webkitpy/layout_tests/port/test.py:
(unit_test_list): Add some tests that are expected to be in a Skipped file.
(TestPort.skipped_tests): This adds actual integration test coverage of Skipped files.

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

9 years agoUnreviewed mac compile fix (unused parameter warning)
jamesr@google.com [Sat, 18 Feb 2012 00:50:03 +0000 (00:50 +0000)]
Unreviewed mac compile fix (unused parameter warning)

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):

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

9 years agowebkitpy: fix test code after bug 78181
dpranke@chromium.org [Sat, 18 Feb 2012 00:33:52 +0000 (00:33 +0000)]
webkitpy: fix test code after bug 78181
https://bugs.webkit.org/show_bug.cgi?id=78870

Reviewed by Adam Barth.

I forgot to update the test code as per Tony's suggestion in
bug 78181 (r108005). This change does that, and in doing so
it revealed a subtle bug in _InlineWorkerConnection.run() that
I am fixing as part of this (_alive would not be cleared if an
exception was thrown).

* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(_InlineWorkerConnection.run):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py:
(_TestWorker.__init__):
(_TestWorker.handle_stop):
(_TestWorker.handle_test):
(_TestWorker.run):
(_TestsMixin.handle_exception):
(_TestsMixin.test_unknown_message):

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

9 years agoMove ScrollingCoordinator out of ENABLE(THREADED_SCROLLING) ifdef and enable on all...
jamesr@google.com [Sat, 18 Feb 2012 00:23:16 +0000 (00:23 +0000)]
Move ScrollingCoordinator out of ENABLE(THREADED_SCROLLING) ifdef and enable on all platforms
https://bugs.webkit.org/show_bug.cgi?id=78401

Reviewed by Adam Barth.

Separates THREADED_SCROLLING from ScrollingCoordinator and enables ScrollingCoordinator-related code on
chromium. ScrollingCoordinator receives scrolling information to be used with an external scrolling source.
ENABLE(THREADED_SCROLLING) enables a codepath that uses a thread in WebCore to handle scrolling related input
events and interact with composited layers.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* dom/Document.cpp:
(WebCore::wheelEventHandlerCountChanged):
* page/FrameView.cpp:
(WebCore::FrameView::addSlowRepaintObject):
(WebCore::FrameView::removeSlowRepaintObject):
(WebCore::FrameView::performPostLayoutTasks):
* page/Page.cpp:
(WebCore::Page::~Page):
(WebCore):
* page/Page.h:
(Page):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(Settings):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
(WebCore::ScrollingCoordinator::~ScrollingCoordinator):
(WebCore::ScrollingCoordinator::pageDestroyed):
(WebCore):
* page/scrolling/ScrollingCoordinator.h:
(WebCore):
(ScrollingCoordinator):
* page/scrolling/ScrollingThread.cpp:
(WebCore::ScrollingThread::createThreadIfNeeded):
* page/scrolling/ScrollingTreeState.cpp:
* page/scrolling/ScrollingTreeState.h:
* page/scrolling/chromium/ScrollingCoordinator.cpp: Added.
(WebCore):
(WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
(WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidScroll):
(WebCore::shouldCompositeOverflowControls):
(WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
(WebCore::RenderLayerCompositor::requiresContentShadowLayer):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::ensureRootLayer):
(WebCore):
* rendering/RenderLayerCompositor.h:
(WebCore):
(RenderLayerCompositor):

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

9 years ago[chromium] Unreviewed - removing expectations for tests that consistently pass, updat...
jamesr@google.com [Sat, 18 Feb 2012 00:14:35 +0000 (00:14 +0000)]
[chromium] Unreviewed - removing expectations for tests that consistently pass, update some baselines for
getComputedStyle due to new -webkit-line-align property.

* platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt:
* platform/chromium/test_expectations.txt:

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

9 years agoAdd FractionalLayoutPoint for sub-pixel layout
eae@chromium.org [Sat, 18 Feb 2012 00:02:54 +0000 (00:02 +0000)]
Add FractionalLayoutPoint for sub-pixel layout
https://bugs.webkit.org/show_bug.cgi?id=78913

Reviewed by Eric Seidel.

Add FractionalLayoutUnit version of Point class and a couple of
conversion methods to the Int and Float versions of same.

No new tests.

* GNUmakefile.list.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/FloatPoint.cpp:
(WebCore::FloatPoint::FloatPoint):
(WebCore):
(WebCore::FloatPoint::moveBy):
* platform/graphics/FloatPoint.h:
(WebCore):
(FloatPoint):
* platform/graphics/FractionalLayoutPoint.h: Added.
(WebCore):
(FractionalLayoutPoint):
(WebCore::FractionalLayoutPoint::FractionalLayoutPoint):
(WebCore::FractionalLayoutPoint::zero):
(WebCore::FractionalLayoutPoint::x):
(WebCore::FractionalLayoutPoint::y):
(WebCore::FractionalLayoutPoint::setX):
(WebCore::FractionalLayoutPoint::setY):
(WebCore::FractionalLayoutPoint::move):
(WebCore::FractionalLayoutPoint::moveBy):
(WebCore::FractionalLayoutPoint::scale):
(WebCore::FractionalLayoutPoint::expandedTo):
(WebCore::FractionalLayoutPoint::shrunkTo):
(WebCore::FractionalLayoutPoint::clampNegativeToZero):
(WebCore::FractionalLayoutPoint::transposedPoint):
(WebCore::operator+=):
(WebCore::operator-=):
(WebCore::operator+):
(WebCore::operator-):
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::toPoint):
(WebCore::toSize):
(WebCore::flooredIntPoint):
(WebCore::roundedIntPoint):
(WebCore::ceiledIntPoint):
* platform/graphics/FractionalLayoutSize.cpp:
(WebCore::pixelSnappedIntSize):
* platform/graphics/FractionalLayoutSize.h:
(WebCore):

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

9 years agoMove textDirectionForSelection from Editor to EditingStyle
rniwa@webkit.org [Fri, 17 Feb 2012 23:57:08 +0000 (23:57 +0000)]
Move textDirectionForSelection from Editor to EditingStyle
https://bugs.webkit.org/show_bug.cgi?id=78868

Reviewed by Enrica Casucci.

Move textDirectionForSelection from Editor to EditingStyle to centralize the editing code's
dependency on CSSStyleDeclaration.

* editing/EditingStyle.cpp:
(WebCore::EditingStyle::textDirectionForSelection):
(WebCore):
* editing/EditingStyle.h:
(EditingStyle):
* editing/Editor.cpp:
(WebCore):
* editing/Editor.h:
(Editor):
* editing/EditorCommand.cpp:
(WebCore::stateTextWritingDirection):
* editing/ReplaceSelectionCommand.cpp:
* editing/markup.cpp:

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

9 years agoMathML internals - embellished operators, getBase() accessor functions
commit-queue@webkit.org [Fri, 17 Feb 2012 23:33:05 +0000 (23:33 +0000)]
MathML internals - embellished operators, getBase() accessor functions
https://bugs.webkit.org/show_bug.cgi?id=78617

Patch by David Barton <dbarton@mathscribe.com> on 2012-02-17
Reviewed by Eric Seidel.

Define functions that return an unembellished "base", by omitting
subscripts/superscripts, underscripts/overscripts, or denominators. This is needed in
subsequent patches both for correct operator stretching and simple code factoring.

No new tests.

* rendering/mathml/RenderMathMLBlock.h:
(WebCore):
(RenderMathMLBlock):
(WebCore::RenderMathMLBlock::unembellishedOperator):
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::unembellishedOperator):
(WebCore):
* rendering/mathml/RenderMathMLFraction.h:
(RenderMathMLFraction):
* rendering/mathml/RenderMathMLOperator.h:
(WebCore::RenderMathMLOperator::unembellishedOperator):
* rendering/mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::base):
(WebCore):
(WebCore::RenderMathMLSubSup::unembellishedOperator):
(WebCore::RenderMathMLSubSup::stretchToHeight):
    - renamed a variable for clarity, especially in later patches
(WebCore::RenderMathMLSubSup::layout):
    - renamed a variable for clarity, especially in later patches
* rendering/mathml/RenderMathMLSubSup.h:
(RenderMathMLSubSup):
* rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::base):
(WebCore):
(WebCore::RenderMathMLUnderOver::unembellishedOperator):
(WebCore::RenderMathMLUnderOver::stretchToHeight):
* rendering/mathml/RenderMathMLUnderOver.h:
(RenderMathMLUnderOver):

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

9 years ago[Qt][WK2] Allow opaque tiles
noam.rosenthal@nokia.com [Fri, 17 Feb 2012 23:28:18 +0000 (23:28 +0000)]
[Qt][WK2] Allow opaque tiles
https://bugs.webkit.org/show_bug.cgi?id=78809

Source/WebCore:

Replace the isOpaque boolean in BitmapTexture to a SupportsAlpha flag.
Use reset/didReset instead of a virtual function that has to call the superclass.

Make sure that all calls to BitmapTexture::reset() pass the correct SupportsAlpha flag,
based on the source image.
Since we now disable blending for opaque textures, we also have to make sure that we treat
the depth buffer correctly and bring it back to its previous state.

Reviewed by Kenneth Rohde Christiansen.

No behavior changes.

* platform/graphics/opengl/TextureMapperGL.cpp:
(TextureMapperGLData):
(WebCore::TextureMapperGLData::initStencil):
(WebCore::TextureMapperGLData::TextureMapperGLData):
(BitmapTextureGL):
(WebCore::TextureMapperGL::beginPainting):
(WebCore::TextureMapperGL::endPainting):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::BitmapTextureGL::didReset):
(WebCore::BitmapTextureGL::bind):
(WebCore::TextureMapperGL::beginClip):
* platform/graphics/texmap/TextureMapper.h:
(WebCore::BitmapTexture::BitmapTexture):
(WebCore::BitmapTexture::flags):
(WebCore::BitmapTexture::didReset):
(WebCore::BitmapTexture::reset):
(BitmapTexture):
* platform/graphics/texmap/TextureMapperBackingStore.cpp:
(WebCore::TextureMapperTile::updateContents):
(WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
(WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
(WebCore::TextureMapperTiledBackingStore::updateContents):
* platform/graphics/texmap/TextureMapperBackingStore.h:
(TextureMapperTiledBackingStore):
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::didReset):
(WebCore):
* platform/graphics/texmap/TextureMapperImageBuffer.h:
(BitmapTextureImageBuffer):

Source/WebKit2:

Apply the SupportsAlpha flag only when the buffers actually have alpha.

Reviewed by Kenneth Rohde Christiansen.

* Shared/ShareableBitmap.h:
(ShareableBitmap):
* Shared/qt/ShareableBitmapQt.cpp:
* UIProcess/qt/LayerBackingStore.cpp:
(WebKit::LayerBackingStoreTile::swapBuffers):

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

9 years agoCrash in SVGAnimateElement due to changed target
commit-queue@webkit.org [Fri, 17 Feb 2012 23:16:38 +0000 (23:16 +0000)]
Crash in SVGAnimateElement due to changed target
https://bugs.webkit.org/show_bug.cgi?id=75096

Patch by Stephen Chenney <schenney@chromium.org> on 2012-02-17
Reviewed by Nikolas Zimmermann.

Source/WebCore:

The SVGAnimateElement object creates various internal objects
depending on the type of property being animated, which depends on the
target. These objects were not being recreated when the target
changed, and crashes ensued. Now the SVGSMILElement provides a virtual
method that is called when the target changes, and SVGAnimateElement
updates its objects as necessary. We also deactivate the animation
when the target changes, forcing recomputation of other derived
objects.

This change also removes various unnecessary calls to semi-expensive
methods.

Not only does this change fix the new test, it also fixes potential
crashes in other tests that apparently never manifested before (but
manifest when this new test is included in DRT).

Test: svg/animations/svglength-animation-retarget-crash.html

* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::hasValidAttributeType):
(WebCore::SVGAnimateElement::calculateAnimatedValue):
(WebCore::SVGAnimateElement::calculateFromAndToValues):
(WebCore::SVGAnimateElement::calculateFromAndByValues):
(WebCore::SVGAnimateElement::resetToBaseValue):
(WebCore::SVGAnimateElement::calculateDistance):
(WebCore):
(WebCore::SVGAnimateElement::targetElementDidChange):
* svg/SVGAnimateElement.h:
(SVGAnimateElement):
* svg/SVGAnimatedTypeAnimator.h:
(SVGAnimatedTypeAnimator):
(WebCore::SVGAnimatedTypeAnimator::type):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::targetElement):
(WebCore::SVGSMILElement::resetTargetElement):
(WebCore):
* svg/animation/SVGSMILElement.h:
(SVGSMILElement):
(WebCore::SVGSMILElement::targetElementDidChange):

LayoutTests:

This test verifies that the target element information is correctly
updated when the target changes. Note that the clone is required, as
it causes the results of one animation to be pushed to a different
animation.

* svg/animations/svglength-animation-retarget-crash-expected.txt: Added.
* svg/animations/svglength-animation-retarget-crash.html: Added.

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

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=78934
hyatt@apple.com [Fri, 17 Feb 2012 23:13:29 +0000 (23:13 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=78934

Add the -webkit-line-align property to support the alignment of lines in the inline direction
to the line grid.

Reviewed by Dan Bernstein.

Source/WebCore:

Added fast/line-grid/line-align-parsing.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore):
(WebCore::CSSPrimitiveValue::operator LineAlign):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSValueKeywords.in:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
(StyleRareInheritedData):

LayoutTests:

* fast/line-grid/line-align-parsing-expected.txt: Added.
* fast/line-grid/line-align-parsing.html: Added.
* fast/line-grid/script-tests/line-align-parsing.js: Added.

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

9 years agoVersioning.
lforschler@apple.com [Fri, 17 Feb 2012 23:08:59 +0000 (23:08 +0000)]
Versioning.

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

9 years agoAdd FractionalLayoutSize for sub-pixel layout
eae@chromium.org [Fri, 17 Feb 2012 23:07:43 +0000 (23:07 +0000)]
Add FractionalLayoutSize for sub-pixel layout
https://bugs.webkit.org/show_bug.cgi?id=78852

Reviewed by Eric Seidel.

Add FractionalLayoutUnit version of Size class and a couple of
conversion methods to the Int and Float versions of same.

No new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/FloatPoint.cpp:
(WebCore::FloatPoint::move):
Add FractionalLayoutSize version of move.

* platform/graphics/FloatPoint.h:
* platform/graphics/FloatSize.cpp:
(WebCore::FloatSize::FloatSize):
Add FloatSize(FractionalLayoutSize) constructor.

* platform/graphics/FloatSize.h:
* platform/graphics/FractionalLayoutSize.cpp: Added.
* platform/graphics/FractionalLayoutSize.h: Added.

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

9 years ago[chromium] Unreviewed. Land the last (hopefully) new baselines for fast/css/non-empty...
jamesr@google.com [Fri, 17 Feb 2012 22:57:26 +0000 (22:57 +0000)]
[chromium] Unreviewed. Land the last (hopefully) new baselines for fast/css/non-empty-span.html

* platform/chromium-mac-leopard/fast/css/non-empty-span-expected.png: Added.
* platform/chromium-win/fast/css/non-empty-span-expected.png: Added.
* platform/chromium-win/fast/css/non-empty-span-expected.txt: Renamed from LayoutTests/platform/chromium-linux/fast/css/non-empty-span-expected.txt.

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

9 years agoREGRESSION (r107606): Copy Link writes malformed WebURLsWithTitlesPboardType
enrica@apple.com [Fri, 17 Feb 2012 22:44:30 +0000 (22:44 +0000)]
REGRESSION (r107606): Copy Link writes malformed WebURLsWithTitlesPboardType
data to the pasteboard.
https://bugs.webkit.org/show_bug.cgi?id=78933
<rdar://problem/10874553>

For this format, the data needs to be placed in the pasteboard as array of arrays
of strings. Currently is it stored as array of strings, which causes the code
that uses this format to break.

Reviewed by Ryosuke Niwa.

* platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::setPathnamesForType):

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

9 years agoIncorrect placement of a new child when beforeChild and its
inferno@chromium.org [Fri, 17 Feb 2012 22:36:24 +0000 (22:36 +0000)]
Incorrect placement of a new child when beforeChild and its
previous sibling are in the same table.
https://bugs.webkit.org/show_bug.cgi?id=78269

Reviewed by Julien Chaffraix.

Source/WebCore:

Tests: fast/table/table-cell-split.html
       fast/table/table-row-split.html
       fast/table/table-section-split-with-after-content.html
       fast/table/table-section-split.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::splitAnonymousBlocksAroundChild): add
call to splitTablePartsAroundChild to take care of splitting the
table first if the child is part of table.
(WebCore::markTableForSectionAndCellRecalculation): add helper to
mark table for complete relayout by invalidating sections and cells.
(WebCore):
(WebCore::moveAllTableChildrenTo): moves children to another table.
(WebCore::RenderBlock::splitTablePartsAroundChild): split table child
and its next siblings into a new table. This allows adding a new
non-table child between the tables.
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): calls
splitTablePartsAroundChild to see if we need to split the table
for adding this new child.
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createAnonymousTable): add helper for
creating anonymous table.
(WebCore):
(WebCore::RenderObject::addChild): use the new helper for creating
anonymous table.
* rendering/RenderObject.h:
(WebCore):
(RenderObject):
(WebCore::RenderObject::isTablePart): add helper to tell if the object
is a table part.

LayoutTests:

Test passes if the div child splits the table parts and is not
part of table itself.

* fast/table/table-cell-split-expected.txt: Added.
* fast/table/table-cell-split.html: Added.
* fast/table/table-row-split-expected.txt: Added.
* fast/table/table-row-split.html: Added.
* fast/table/table-section-split-expected.txt: Added.
* fast/table/table-section-split-with-after-content-expected.txt: Added.
* fast/table/table-section-split-with-after-content.html: Added.
* fast/table/table-section-split.html: Added.

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

9 years agoElement: Inline style selector and AX invalidation in attributeChanged().
kling@webkit.org [Fri, 17 Feb 2012 22:34:16 +0000 (22:34 +0000)]
Element: Inline style selector and AX invalidation in attributeChanged().
<http://webkit.org/b/78888>

Reviewed by Antti Koivisto.

Inline the updateAfterAttributeChanged() and recalcStyleIfNeededAfterAttributeChanged()
methods into Element::attributeChanged(). They were separated when we needed them in
StyledElement::attributeChanged(), but that's no longer the case.

* dom/Element.cpp:
(WebCore::Element::attributeChanged):
* dom/Element.h:

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

9 years agoClang/Mac build fix after r108119
aroben@apple.com [Fri, 17 Feb 2012 22:31:14 +0000 (22:31 +0000)]
Clang/Mac build fix after r108119

Source/WebKit2:

* WebProcess/WebProcess.cpp:
(WebKit::randomCrashThread): Annotate this function with NO_RETURN_DUE_TO_CRASH.

Tools:

Mac build fix after r108119

* DumpRenderTree/mac/DumpRenderTree.mm:
(runThread):
(runPthread):
(testThreadIdentifierMap):
Updated to match current WTF threading APIs.

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

9 years ago[Chromium] Texture eviction doesn't show up in traces.
commit-queue@webkit.org [Fri, 17 Feb 2012 22:25:28 +0000 (22:25 +0000)]
[Chromium] Texture eviction doesn't show up in traces.
https://bugs.webkit.org/show_bug.cgi?id=78851

Patch by David Reveman <reveman@chromium.org> on 2012-02-17
Reviewed by James Robinson.

Add TextureManager::evictTexture() function with TRACE statement so
that texture eviction shows up in traces.

No new tests.

* platform/graphics/chromium/TextureManager.cpp:
(WebCore::TextureManager::evictTexture):
(WebCore):
(WebCore::TextureManager::reduceMemoryToLimit):
* platform/graphics/chromium/TextureManager.h:
(TextureManager):

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

9 years agoRemove empty directory.
abarth@webkit.org [Fri, 17 Feb 2012 22:22:03 +0000 (22:22 +0000)]
Remove empty directory.

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

9 years ago[chromium] Unreviewed - add some more fast/css/non-empty-span expectations.
jamesr@google.com [Fri, 17 Feb 2012 22:09:25 +0000 (22:09 +0000)]
[chromium] Unreviewed - add some more fast/css/non-empty-span expectations.

* platform/chromium-mac-snowleopard/fast/css/non-empty-span-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/css/non-empty-span-expected.txt: Added.

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

9 years ago[chromium] Unreviewed baseline and expectation updates.
jamesr@google.com [Fri, 17 Feb 2012 22:00:14 +0000 (22:00 +0000)]
[chromium] Unreviewed baseline and expectation updates.

* platform/chromium-linux/fast/css/non-empty-span-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/fast/css/non-empty-span-expected.png.
* platform/chromium-linux/fast/css/non-empty-span-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/fast/css/non-empty-span-expected.txt.
* platform/chromium/test_expectations.txt:

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

9 years agoRemove unused parameters from WTF threading API
commit-queue@webkit.org [Fri, 17 Feb 2012 21:54:55 +0000 (21:54 +0000)]
Remove unused parameters from WTF threading API
https://bugs.webkit.org/show_bug.cgi?id=78389

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-02-17
Reviewed by Adam Roben.

waitForThreadCompletion() had an out param 'void **result' to get the
'void *' returned by ThreadFunction. However, the implementation in
ThreadingWin.cpp ignored the out param, not filling it in. This had
led to a situation where none of the client code made use of the param
and just ignored it.

To clean this up, the patch changes the signature of ThreadFunction to
return void instead of void* and drops the the unused 'void **result'
parameter from waitForThreadCompletion. Also, all client code is
updated for the API change.

As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
though the change only affects internal API, Safari is using it
directly and we'll need to keep the old versions around for ABI
compatibility. For this, the patch adds compatibility wrappers with
the old ABI.

Source/JavaScriptCore:

* JavaScriptCore.order:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* bytecode/SamplingTool.cpp:
(JSC::SamplingThread::threadStartFunc):
(JSC::SamplingThread::stop):
* bytecode/SamplingTool.h:
(SamplingThread):
* heap/Heap.cpp:
(JSC::Heap::~Heap):
(JSC::Heap::blockFreeingThreadStartFunc):
* heap/Heap.h:
* heap/MarkStack.cpp:
(JSC::MarkStackThreadSharedData::markingThreadStartFunc):
(JSC::MarkStackThreadSharedData::~MarkStackThreadSharedData):
* heap/MarkStack.h:
(MarkStackThreadSharedData):
* wtf/ParallelJobsGeneric.cpp:
(WTF::ParallelEnvironment::ThreadPrivate::workerThread):
* wtf/ParallelJobsGeneric.h:
(ThreadPrivate):
* wtf/ThreadFunctionInvocation.h: Update the signature of
ThreadFunction.
(WTF):
* wtf/Threading.cpp:
(WTF::threadEntryPoint): Update for ThreadFunction signature change.
(WTF):
(WTF::ThreadFunctionWithReturnValueInvocation::ThreadFunctionWithReturnValueInvocation):
ABI compatibility function for Safari.
(ThreadFunctionWithReturnValueInvocation): Ditto.
(WTF::compatEntryPoint): Ditto.
(WTF::createThread): Ditto.
(WTF::waitForThreadCompletion): Ditto.
* wtf/Threading.h: Update the signature of ThreadFunction and
waitForThreadCompletion.
(WTF):
* wtf/ThreadingPthreads.cpp: Implement the new API.
(WTF::wtfThreadEntryPoint):
(WTF):
(WTF::createThreadInternal):
(WTF::waitForThreadCompletion):
* wtf/ThreadingWin.cpp: Implement the new API.
(WTF::wtfThreadEntryPoint):
(WTF::waitForThreadCompletion):

Source/WebCore:

* bindings/js/GCController.cpp:
(WebCore::collect):
(WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
* fileapi/FileThread.cpp:
(WebCore::FileThread::fileThreadStart):
(WebCore::FileThread::runLoop):
* fileapi/FileThread.h:
(FileThread):
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::close):
(WebCore::IconDatabase::iconDatabaseSyncThreadStart):
(WebCore::IconDatabase::iconDatabaseSyncThread):
(WebCore::IconDatabase::syncThreadMainLoop):
* loader/icon/IconDatabase.h:
(IconDatabase):
* page/scrolling/ScrollingThread.cpp:
(WebCore::ScrollingThread::threadCallback):
* page/scrolling/ScrollingThread.h:
(ScrollingThread):
* platform/audio/HRTFDatabaseLoader.cpp:
(WebCore::databaseLoaderEntry):
(WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
* platform/audio/ReverbConvolver.cpp:
(WebCore::backgroundThreadEntry):
(WebCore::ReverbConvolver::~ReverbConvolver):
* platform/network/cf/LoaderRunLoopCF.cpp:
(WebCore::runLoaderThread):
* storage/DatabaseThread.cpp:
(WebCore::DatabaseThread::databaseThreadStart):
(WebCore::DatabaseThread::databaseThread):
* storage/DatabaseThread.h:
(DatabaseThread):
* storage/LocalStorageThread.cpp:
(WebCore::LocalStorageThread::threadEntryPointCallback):
(WebCore::LocalStorageThread::threadEntryPoint):
(WebCore::LocalStorageThread::terminate):
* storage/LocalStorageThread.h:
(LocalStorageThread):
* webaudio/AsyncAudioDecoder.cpp:
(WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
(WebCore::AsyncAudioDecoder::threadEntry):
* webaudio/AsyncAudioDecoder.h:
(AsyncAudioDecoder):
* webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::uninitialize):
(WebCore::OfflineAudioDestinationNode::renderEntry):
* webaudio/OfflineAudioDestinationNode.h:
(OfflineAudioDestinationNode):
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::workerThreadStart):
(WebCore::WorkerThread::workerThread):
* workers/WorkerThread.h:
(WorkerThread):

Source/WebKit/win:

* WebKit.vcproj/WebKit_Cairo.def: Add the new functions.
* WebKit.vcproj/WebKit_Cairo_debug.def: Ditto.

Source/WebKit2:

* Platform/WorkQueue.h:
(WorkQueue):
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::startWorkQueueThread):
* UIProcess/Launcher/mac/ThreadLauncherMac.mm:
(WebKit::webThreadBody):
* UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
(WebKit::webThreadBody):
* UIProcess/Launcher/win/ThreadLauncherWin.cpp:
(WebKit::webThreadBody):
* WebProcess/WebProcess.cpp:
(WebKit::randomCrashThread):
* win/WebKit2.def:
* win/WebKit2CFLite.def:

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

9 years agorevert r107147 - breaks webkit-patch on Mac SL
dpranke@chromium.org [Fri, 17 Feb 2012 21:53:37 +0000 (21:53 +0000)]
revert r107147 - breaks webkit-patch on Mac SL
https://bugs.webkit.org/show_bug.cgi?id=78866

Reviewed by Adam Barth.

It appears that zipfile.ExtractAll is broken on Python 2.6.1,
which is the version that ships on Mac SL. Reverting this
change until we no longer have to worry about that version.

* Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller):
(AutoInstaller._extract_all): Added a comment about SL.
(AutoInstaller._unzip):

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

9 years agoAppleMac Build fix for r108111
robert@webkit.org [Fri, 17 Feb 2012 21:48:09 +0000 (21:48 +0000)]
AppleMac Build fix for r108111

Remove variable that is now unused.

Unreviewed, build fix.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::alwaysRequiresLineBox): Remove lineInfo
(WebCore::requiresLineBox):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):

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

9 years ago[chromium] GL_CHROMIUM_gpu_memory_manager extension
commit-queue@webkit.org [Fri, 17 Feb 2012 21:40:47 +0000 (21:40 +0000)]
[chromium] GL_CHROMIUM_gpu_memory_manager extension
https://bugs.webkit.org/show_bug.cgi?id=77155

Patch by Michal Mocny <mmocny@google.com> on 2012-02-17
Reviewed by James Robinson.

Source/WebCore:

* platform/graphics/chromium/Extensions3DChromium.h:
(GpuMemoryAllocationChangedCallbackCHROMIUM):
(WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
(Extensions3DChromium):

Source/WebKit/chromium:

* public/platform/WebGraphicsContext3D.h:
(WebGraphicsMemoryAllocationChangedCallbackCHROMIUM):
(WebKit::WebGraphicsContext3D::WebGraphicsMemoryAllocationChangedCallbackCHROMIUM::~WebGraphicsMemoryAllocationChangedCallbackCHROMIUM):
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::setMemoryAllocationChangedCallbackCHROMIUM):
* src/Extensions3DChromium.cpp:
(WebCore::Extensions3DChromium::setGpuMemoryAllocationChangedCallbackCHROMIUM):
(WebCore):
* src/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
(WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
(WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::~GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
(WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::onMemoryAllocationChanged):
(WebCore):
(WebCore::GraphicsContext3DPrivate::setGpuMemoryAllocationChangedCallbackCHROMIUM):
* src/GraphicsContext3DPrivate.h:
(WebCore):
* tests/FakeWebGraphicsContext3D.h:
(WebKit::FakeWebGraphicsContext3D::setMemoryAllocationChangedCallbackCHROMIUM):
(FakeWebGraphicsContext3D):

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

9 years ago[chromium] Re-enable compositing/culling/scrolled-within-boxshadow.html
wjmaclean@chromium.org [Fri, 17 Feb 2012 21:36:01 +0000 (21:36 +0000)]
[chromium] Re-enable compositing/culling/scrolled-within-boxshadow.html
https://bugs.webkit.org/show_bug.cgi?id=78859

Reviewed by James Robinson.

* platform/chromium/test_expectations.txt:

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

9 years ago[chromium] Rebaseline tests for composited filters
commit-queue@webkit.org [Fri, 17 Feb 2012 21:28:59 +0000 (21:28 +0000)]
[chromium] Rebaseline tests for composited filters
https://bugs.webkit.org/show_bug.cgi?id=78903

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-17
Reviewed by Stephen White.

* compositing/culling/filter-occlusion-alpha-large.html:
* compositing/culling/filter-occlusion-alpha.html:
* compositing/culling/filter-occlusion-blur-large.html:
* compositing/culling/filter-occlusion-blur.html:
* platform/chromium-linux/compositing/culling/filter-occlusion-blur-expected.png: Added.
* platform/chromium-linux/compositing/culling/filter-occlusion-blur-large-expected.png: Added.
* platform/chromium-win/compositing/culling/filter-occlusion-blur-expected.png: Added.
* platform/chromium-win/compositing/culling/filter-occlusion-blur-large-expected.png: Added.

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

9 years ago[chromium] Update baselines for border-radius-wide-border-01 due to skia change....
jamesr@google.com [Fri, 17 Feb 2012 21:23:02 +0000 (21:23 +0000)]
[chromium] Update baselines for border-radius-wide-border-01 due to skia change. Unreviewed.

* platform/chromium-linux/fast/borders/border-radius-wide-border-01-expected.png:
* platform/chromium-mac-snowleopard/fast/borders/border-radius-wide-border-01-expected.png:
* platform/chromium-win/fast/borders/border-radius-wide-border-01-expected.png:

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

9 years agoImplement Error.stack
oliver@apple.com [Fri, 17 Feb 2012 21:17:59 +0000 (21:17 +0000)]
Implement Error.stack
https://bugs.webkit.org/show_bug.cgi?id=66994

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Implement support for stack traces on exception objects.  This is a rewrite
of the core portion of the last stack walking logic, but the mechanical work
of adding the information to an exception comes from the original work by
Juan Carlos Montemayor Elosua.

* interpreter/Interpreter.cpp:
(JSC::getCallerInfo):
(JSC):
(JSC::getSourceURLFromCallFrame):
(JSC::getStackFrameCodeType):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::throwException):
(JSC::Interpreter::privateExecute):
* interpreter/Interpreter.h:
(JSC):
(StackFrame):
(JSC::StackFrame::toString):
(Interpreter):
* jsc.cpp:
(GlobalObject::finishCreation):
(functionJSCStack):
* parser/Nodes.h:
(JSC::FunctionBodyNode::setInferredName):
* parser/Parser.h:
(JSC::::parse):
* runtime/CommonIdentifiers.h:
* runtime/Error.cpp:
(JSC::addErrorInfo):
* runtime/Error.h:
(JSC):

LayoutTests:

Add testcases for producing a stack trace on exception objects.

* fast/js/exception-properties-expected.txt:
* fast/js/script-tests/exception-properties.js:
* fast/js/script-tests/stack-trace.js: Added.
(printStack):
(hostThrower):
(callbacker):
(outer):
(inner):
(evaler):
(normalOuter):
(normalInner):
(scripterInner):
(scripterOuter):
(selfRecursive1):
(selfRecursive2):
(selfRecursive3):
(throwError):
(object.get getter1.o.valueOf):
(object.get getter1):
(object.get getter2):
(object.get getter3.o2.valueOf):
(object.get getter3):
(object.nonInlineable.callCount):
(object.nonInlineable):
(object.inlineable):
(yetAnotherInlinedCall):
(makeInlinableCall):
(.try.g):
(h):
(mapTest):
(mapTestDriver):
(dfgFunction):
(try.f):
* fast/js/stack-trace-expected.txt: Added.
* fast/js/stack-trace.html: Added.

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

9 years agoREGRESSION: empty span creates renders with non-zero height
robert@webkit.org [Fri, 17 Feb 2012 21:10:42 +0000 (21:10 +0000)]
REGRESSION: empty span creates renders with non-zero height
https://bugs.webkit.org/show_bug.cgi?id=76465

Reviewed by David Hyatt.

Source/WebCore:

Tests: fast/css/empty-span.html
       fast/css/non-empty-span.html

Empty inlines with line-height, vertical-alignment or font metrics should only get a linebox if there is some
other content in the line. So only create line boxes for such elements on lines that are not empty.

This patch fixes a regression where an empty inline with line-height was propagating its height to an empty line.
It also fixes cases where lines with content that had a leading empty inline element weren't respecting the
vertical alignment or font-height of the empty inline.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::constructLine): only create line boxes for lines that are not empty.
(WebCore::requiresLineBoxForContent): an inline flow with line-height, vertical-alignment, or font-size
 will need a linebox if the rest of the line is not empty.
(WebCore):
(WebCore::alwaysRequiresLineBox): rename from inlineFlowRequiresLineBox.
(WebCore::requiresLineBox):
(WebCore::RenderBlock::LineBreaker::nextLineBreak): if the inline flow definitely requires a line, mark
 the line non-empty - otherwise hold off.

LayoutTests:

* fast/css/empty-span-expected.html: Added.
* fast/css/empty-span.html: Added.
* fast/css/non-empty-span.html: Added.
* platform/chromium/test_expectations.txt: Suppress result until rebaseline on MAC and WIN.
* platform/chromium-linux-x86/fast/css/non-empty-span-expected.png: Added.
* platform/chromium-linux-x86/fast/css/non-empty-span-expected.txt: Added.

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

9 years agoRealtimeAnalyserNode does not consistently respect .minDecibels
commit-queue@webkit.org [Fri, 17 Feb 2012 20:57:02 +0000 (20:57 +0000)]
RealtimeAnalyserNode does not consistently respect .minDecibels
https://bugs.webkit.org/show_bug.cgi?id=78729

Make use of m_minDecibel consistent.  Clean up some style issues
with names of local variables and style issues with float
constants.

Patch by Raymond Toy <rtoy@google.com> on 2012-02-17
Reviewed by Chris Rogers.

No new tests because the changes are cosmetic for style issues.

* webaudio/RealtimeAnalyser.cpp:
(WebCore):
(WebCore::RealtimeAnalyser::doFFTAnalysis):
(WebCore::RealtimeAnalyser::getFloatFrequencyData):
(WebCore::RealtimeAnalyser::getByteFrequencyData):
(WebCore::RealtimeAnalyser::getByteTimeDomainData):

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

9 years ago:before content incorrectly placed in continuation
inferno@chromium.org [Fri, 17 Feb 2012 20:51:45 +0000 (20:51 +0000)]
:before content incorrectly placed in continuation
when we don't have a first child.
https://bugs.webkit.org/show_bug.cgi?id=78380

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/css-generated-content/before-content-continuation-chain.html

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::updateBeforeAfterContent):

LayoutTests:

* fast/css-generated-content/before-content-continuation-chain-expected.png: Added.
* fast/css-generated-content/before-content-continuation-chain-expected.txt: Added.
* fast/css-generated-content/before-content-continuation-chain.html: Added.

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

9 years agoCSS regions enabled by default
mihnea@adobe.com [Fri, 17 Feb 2012 20:44:00 +0000 (20:44 +0000)]
CSS regions enabled by default
https://bugs.webkit.org/show_bug.cgi?id=78525

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/regions/css-regions-disabled.html

Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
CSSRegions are still enabled by default.
In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.

* WebCore.xcodeproj/project.pbxproj:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::cssRegionsEnabled):
(WebCore):
(WebCore::CSSParser::parseFlowThread):
(WebCore::CSSParser::parseRegionThread):
(WebCore::CSSParser::createRegionRule):
* css/CSSParser.h:
* dom/Document.cpp:
(WebCore::Document::cssRegionsEnabled):
(WebCore):
(WebCore::Document::webkitGetFlowByName):
* dom/Document.h:
(Document):
* dom/Element.cpp:
(WebCore::Element::webkitRegionOverflow):
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setCSSRegionsEnabled):
(WebCore::Settings::cssRegionsEnabled):
(Settings):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):

Source/WebKit/chromium:

Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
CSSRegions are still enabled by default.
In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setExperimentalCSSRegionsEnabled):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):

Source/WebKit/mac:

Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
CSSRegions are still enabled by default.
In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences cssRegionsEnabled]):
(-[WebPreferences setCSSRegionsEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
CSSRegions are still enabled by default.
In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.

* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetCSSRegionsEnabled):
(WKPreferencesGetCSSRegionsEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
CSSRegions are still enabled by default.
In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::overridePreference):
* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::reset):
(WebPreferences::applyTo):
* DumpRenderTree/chromium/WebPreferences.h:
(WebPreferences):
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues):

LayoutTests:

Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
CSSRegions are still enabled by default.
In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.

* fast/regions/css-regions-disabled-expected.txt: Added.
* fast/regions/css-regions-disabled.html: Added.
* fast/regions/script-tests/css-regions-disabled.js: Added.
(testWebKitFlowInto):
(testWebKitFlowFrom):
(testWebKitRegionOverflow):
(testComputedStyleWebKitFlowInto):
(testComputedStyleWebKitFlowFrom):
(testComputedStyleWebKitRegionOverflow):

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

9 years agoRename Bump* to Copy*
mhahnenberg@apple.com [Fri, 17 Feb 2012 20:09:14 +0000 (20:09 +0000)]
Rename Bump* to Copy*
https://bugs.webkit.org/show_bug.cgi?id=78573

Reviewed by Geoffrey Garen.

Renamed anything with "Bump" in the name to have "Copied" instead.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* heap/BumpBlock.h: Removed.
* heap/BumpSpace.cpp: Removed.
* heap/BumpSpace.h: Removed.
* heap/BumpSpaceInlineMethods.h: Removed.
* heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::ConservativeRoots):
(JSC::ConservativeRoots::genericAddPointer):
* heap/ConservativeRoots.h:
(ConservativeRoots):
* heap/CopiedBlock.h: Added.
(JSC):
(CopiedBlock):
(JSC::CopiedBlock::CopiedBlock):
* heap/CopiedSpace.cpp: Added.
(JSC):
(JSC::CopiedSpace::tryAllocateSlowCase):
* heap/CopiedSpace.h: Added.
(JSC):
(CopiedSpace):
(JSC::CopiedSpace::isInCopyPhase):
(JSC::CopiedSpace::totalMemoryAllocated):
(JSC::CopiedSpace::totalMemoryUtilized):
* heap/CopiedSpaceInlineMethods.h: Added.
(JSC):
(JSC::CopiedSpace::CopiedSpace):
(JSC::CopiedSpace::init):
(JSC::CopiedSpace::contains):
(JSC::CopiedSpace::pin):
(JSC::CopiedSpace::startedCopying):
(JSC::CopiedSpace::doneCopying):
(JSC::CopiedSpace::doneFillingBlock):
(JSC::CopiedSpace::recycleBlock):
(JSC::CopiedSpace::getFreshBlock):
(JSC::CopiedSpace::borrowBlock):
(JSC::CopiedSpace::addNewBlock):
(JSC::CopiedSpace::allocateNewBlock):
(JSC::CopiedSpace::fitsInBlock):
(JSC::CopiedSpace::fitsInCurrentBlock):
(JSC::CopiedSpace::tryAllocate):
(JSC::CopiedSpace::tryAllocateOversize):
(JSC::CopiedSpace::allocateFromBlock):
(JSC::CopiedSpace::tryReallocate):
(JSC::CopiedSpace::tryReallocateOversize):
(JSC::CopiedSpace::isOversize):
(JSC::CopiedSpace::isPinned):
(JSC::CopiedSpace::oversizeBlockFor):
(JSC::CopiedSpace::blockFor):
* heap/Heap.cpp:
* heap/Heap.h:
(JSC):
(Heap):
* heap/MarkStack.cpp:
(JSC::MarkStackThreadSharedData::MarkStackThreadSharedData):
(JSC::SlotVisitor::drainFromShared):
(JSC::SlotVisitor::startCopying):
(JSC::SlotVisitor::allocateNewSpace):
(JSC::SlotVisitor::doneCopying):
* heap/MarkStack.h:
(MarkStackThreadSharedData):
* heap/SlotVisitor.h:
(SlotVisitor):
* runtime/JSArray.cpp:
* runtime/JSObject.cpp:

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

9 years agoSome API tests erroneously use = instead of == (causing build failures)
mjs@apple.com [Fri, 17 Feb 2012 20:07:25 +0000 (20:07 +0000)]
Some API tests erroneously use = instead of == (causing build failures)
https://bugs.webkit.org/show_bug.cgi?id=78915

Reviewed by Sam Weinig.

* TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
(TestWebKitAPI::decidePolicyForNavigationAction): Replace an = with an ==
(TestWebKitAPI::decidePolicyForNewWindowAction): ditto

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

9 years agoCase typo in fast/js/script-tests/date-constructor.js
commit-queue@webkit.org [Fri, 17 Feb 2012 20:05:07 +0000 (20:05 +0000)]
Case typo in fast/js/script-tests/date-constructor.js
https://bugs.webkit.org/show_bug.cgi?id=78898

Patch by Seo Sanghyeon <sh4.seo@samsung.com> on 2012-02-17
Reviewed by Adam Barth.

* fast/js/script-tests/date-constructor.js: toSTring to toString

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

9 years ago[GTK] [AC] Events can starve accelerated compositing updates
mrobinson@webkit.org [Fri, 17 Feb 2012 20:00:11 +0000 (20:00 +0000)]
[GTK] [AC] Events can starve accelerated compositing updates
https://bugs.webkit.org/show_bug.cgi?id=78826

Reviewed by Gustavo Noronha Silva.

Instead of using a WebCore timer, which can be starved by GdkEvents,
use a raw GLib timer with GDK_PRIORITY_EVENTS to drive AC updates.
This prevents dragging from blocking rendering.

* WebCoreSupport/AcceleratedCompositingContext.h:
(AcceleratedCompositingContext): Store a GLib source tag instead of a WebCore timer.
* WebCoreSupport/AcceleratedCompositingContextClutter.cpp:
(WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
(WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
Remove the timer upon destruction.
(WebKit::syncLayersTimeoutCallback): Added this callback for the GLib timer.
(WebKit::AcceleratedCompositingContext::markForSync): Use a GLib timer.
(WebKit::AcceleratedCompositingContext::syncLayersTimeout): Ditto.
* WebCoreSupport/AcceleratedCompositingContextGL.cpp:
(WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
(WebKit::AcceleratedCompositingContext::~AcceleratedCompositingContext):
Remove the timer upon destruction.
(WebKit::syncLayersTimeoutCallback): Added this callback for the GLib timer.
(WebKit::AcceleratedCompositingContext::markForSync): Use a GLib timer.
(WebKit::AcceleratedCompositingContext::syncLayersTimeout): Ditto.

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

9 years ago[CSSRegions]Implement NamedFlow::overflow
mihnea@adobe.com [Fri, 17 Feb 2012 19:58:56 +0000 (19:58 +0000)]
[CSSRegions]Implement NamedFlow::overflow
https://bugs.webkit.org/show_bug.cgi?id=78880

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/regions/webkit-named-flow-overflow.html

* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::WebKitNamedFlow):
(WebCore::WebKitNamedFlow::overflow):
(WebCore):
* dom/WebKitNamedFlow.h:
(WebCore):
(WebCore::WebKitNamedFlow::create):
(WebKitNamedFlow):
* dom/WebKitNamedFlow.idl:
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::ensureNamedFlow):
(WebCore::RenderFlowThread::computeOverflowStateForRegions):
* rendering/RenderFlowThread.h:

LayoutTests:

* fast/regions/resources/helper.js:
(testContentToRegionsMapping):
* fast/regions/resources/region-style.css:
* fast/regions/webkit-named-flow-overflow-expected.txt: Added.
* fast/regions/webkit-named-flow-overflow.html: Added.

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

9 years agoflex-wrap:nowrap should be flex-wrap:none
commit-queue@webkit.org [Fri, 17 Feb 2012 19:56:43 +0000 (19:56 +0000)]
flex-wrap:nowrap should be flex-wrap:none
https://bugs.webkit.org/show_bug.cgi?id=78772

As per the spec http://dev.w3.org/csswg/css3-flexbox/#flex-wrap0, flex-wrap:nowrap should be changed to flex-wrap:none.

Patch by Joe Thomas <joethomas@motorola.com> on 2012-02-17
Reviewed by Ojan Vafai.

Source/WebCore:

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EFlexWrap):
* css/CSSValueKeywords.in:
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:

LayoutTests:

* css3/flexbox/css-properties-expected.txt:
* css3/flexbox/script-tests/css-properties.js:
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/chromium-mac-snowleopard/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/chromium-mac-snowleopard/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/chromium-mac-snowleopard/svg/css/getComputedStyle-basic-expected.txt:
* platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt:
* platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* svg/css/getComputedStyle-basic-expected.txt:

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

9 years agoRefactor DragData class to use PlatformStrategies in the Mac implementation.
enrica@apple.com [Fri, 17 Feb 2012 19:54:20 +0000 (19:54 +0000)]
Refactor DragData class to use PlatformStrategies in the Mac implementation.
https://bugs.webkit.org/show_bug.cgi?id=78768

Reviewed by Darin Adler.

Source/WebCore:

No new tests. No behavior change.

* WebCore.exp.in: Added new exported method of the PlatformPasteboard class.
* platform/DragData.h:
(WebCore::DragData::pasteboardName): Added pasteboardName and removed pasteboard.
* platform/PasteboardStrategy.h: Added color() method.
* platform/PlatformPasteboard.h: Ditto.
* platform/mac/ClipboardMac.mm:
(WebCore::Clipboard::create): Changed to use pasteboardName() method.
* platform/mac/DragDataMac.mm: All the methods below have been changed to use pasteboardName
and the pasteboardStrategy() methods.
(WebCore::DragData::DragData):
(WebCore::DragData::canSmartReplace):
(WebCore::DragData::containsColor):
(WebCore::DragData::containsFiles):
(WebCore::DragData::numberOfFiles):
(WebCore::DragData::asFilenames):
(WebCore::DragData::containsPlainText):
(WebCore::DragData::asPlainText):
(WebCore::DragData::asColor):
(WebCore::DragData::containsCompatibleContent):
(WebCore::DragData::asURL):
(WebCore::DragData::asFragment):
* platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::color): Added implementation of the color() method.

Source/WebKit/mac:

* WebCoreSupport/WebPlatformStrategies.h: Added color() method.
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::color):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method.
(WebKit::WebPlatformStrategies::color):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:

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

9 years ago2012-02-17 Nate Chapin <japhet@chromium.org>
japhet@chromium.org [Fri, 17 Feb 2012 19:45:14 +0000 (19:45 +0000)]
2012-02-17  Nate Chapin  <japhet@chromium.org>

        [Chromium mac] Cursors and background images disappear.
        https://bugs.webkit.org/show_bug.cgi?id=78834

        The issue occurs because a CachedImage sees that it has no clients
        and decide it is safe to purge its m_data buffer. However,
        StyleCachedImage is holding a CachedResourceHandle to the
        CachedImage, and it can still add a client later. If it does so,
        the CachedImage says everything is loaded but has no data.

        Reviewed by Adam Barth.

        No new tests, since the known repros have resisted reduction.
        Tested manually with chrome.angrybirds.com, redfin.com and a
        couple of other sites.

        * rendering/style/StyleCachedImage.cpp:
        * rendering/style/StyleCachedImage.h: Ensure the underlying
            CachedImage has a client for the lifetime of the
            StyleCachedImage and doesn't purge its buffer. Call
            addClient(this) in the constructor and removeClient(this) in
            the destructor, then ignore all cache callbacks.

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

9 years ago[Chromium] pack Gamepad shared memory structure
commit-queue@webkit.org [Fri, 17 Feb 2012 19:08:24 +0000 (19:08 +0000)]
[Chromium] pack Gamepad shared memory structure
https://bugs.webkit.org/show_bug.cgi?id=78022

Patch by Scott Graham <scottmg@chromium.org> on 2012-02-17
Reviewed by Darin Fisher.

Add #pragma pack around definition of shared memory structures to
avoid differences across compilers and platforms. Add COMPILE_ASSERT
to verify expected size.

* public/platform/WebGamepad.h:
(WebKit):
* public/platform/WebGamepads.h:
(WebKit):

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

9 years agoTable cell's anonymous wrappers are left in the tree, impacting our layout
jchaffraix@webkit.org [Fri, 17 Feb 2012 19:02:36 +0000 (19:02 +0000)]
Table cell's anonymous wrappers are left in the tree, impacting our layout
https://bugs.webkit.org/show_bug.cgi?id=7180

Reviewed by David Hyatt.

Source/WebCore:

Tests: fast/table/table-switch-cell-position-bad-layout-expected.html
       fast/table/table-switch-cell-position-bad-layout.html

This patch implements cell's anonymous wrapper removal at detach time.

Trimming the render tree when we remove objects from it would be more complex
to generalize as several objects override the behavior to do their own clean-ups.
This would also open more potential for programming errors.

This change is limited to table cells' as a simple step towards fixing bug 52123
and more generally eliminate some anonymous wrappers from the tree at detach time.

* dom/Node.cpp:
(WebCore::Node::detach):
Patched detach to call destroyAndCleanupAnonymousWrappers. The Document does not need
to clean up any anonymous wrappers on detach.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
Added this method to wrap destroy() call and trim the render tree. To avoid slowing down
detach in some cases, added a fast path.

* rendering/RenderObject.h: Added destroyAndCleanupAnonymousWrappers.

LayoutTests:

* fast/table/table-switch-cell-position-bad-layout-expected.html: Added.
* fast/table/table-switch-cell-position-bad-layout.html: Added.

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

9 years agoASSERT (and crash) with dynamically moved <font-face>
rwlbuis@webkit.org [Fri, 17 Feb 2012 19:00:54 +0000 (19:00 +0000)]
ASSERT (and crash) with dynamically moved <font-face>
https://bugs.webkit.org/show_bug.cgi?id=64839

Reviewed by Antti Koivisto.

Source/WebCore:

Reset the style declaration when rmeoving the font-face element from the document.

Test: svg/custom/font-face-move.svg

* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::removedFromDocument):

LayoutTests:

* svg/custom/font-face-move-expected.txt: Added.
* svg/custom/font-face-move.svg: Added.

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

9 years agoFix some warnings encountered during the GTK+ build
mrobinson@webkit.org [Fri, 17 Feb 2012 18:51:53 +0000 (18:51 +0000)]
Fix some warnings encountered during the GTK+ build
https://bugs.webkit.org/show_bug.cgi?id=78911

Reviewed by Xan Lopez.

Source/WebCore:

No new tests. These are just fixes for warnings.

* page/GestureTapHighlighter.cpp: Avoid using potentially signed operations on
a size_t type. Use size_t for iterating over members of a vector.
* platform/graphics/texmap/TextureMapperBackingStore.cpp: Use size_t where necessary.
(WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): Ditto.
* platform/graphics/texmap/TextureMapperLayer.cpp: Ditto.
(WebCore::TextureMapperLayer::computeTransformsRecursive): Ditto.
(WebCore::TextureMapperLayer::paintSelfAndChildren): Ditto.
(WebCore::TextureMapperLayer::intermediateSurfaceRect): Ditto.

Source/WebKit2:

* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView): Initialize a new member of the loader client struct.

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

9 years agoperf-o-matic needs model unit tests
rniwa@webkit.org [Fri, 17 Feb 2012 18:47:05 +0000 (18:47 +0000)]
perf-o-matic needs model unit tests
https://bugs.webkit.org/show_bug.cgi?id=78885

Reviewed by Adam Barth.

Added unit tests for models.py.

Also renamed modelFromNumericId to model_from_numeric_id and moved set_persitent_cache and get_persistent_cache
from controller to PersistentCache.set_cache and PersistentCahce.set_cache respectively.

* Websites/webkit-perf.appspot.com/controller.py:
(cache_manifest):
(CachedManifestHandler.get):
(cache_dashboard):
(CachedDashboardHandler.get):
(cache_runs):
(CachedRunsHandler.get):
* Websites/webkit-perf.appspot.com/create_handler.py:
(CreateHandler._create_builder):
(CreateHandler._create_builder.execute):
* Websites/webkit-perf.appspot.com/models.py:
(create_in_transaction_with_numeric_id_holder):
(model_from_numeric_id):
(Builder):
(Builder.create):
(Builder.update_password):
(Builder._hashed_password):
(TestResult.key_name):
(ReportLog.get_value):
(ReportLog._integer_in_payload):
(ReportLog):
(ReportLog.timestamp):
(PersistentCache):
(PersistentCache.set_cache):
(PersistentCache.set_cache.execute):
(PersistentCache.get_cache):
* Websites/webkit-perf.appspot.com/models_unittest.py: Added.
(HelperTests):
(HelperTests.setUp):
(HelperTests.tearDown):
(HelperTests._assert_there_is_exactly_one_id_holder_and_matches):
(HelperTests.test_create_in_transaction_with_numeric_id_holder):
(HelperTests.test_create_in_transaction_with_numeric_id_holder.execute):
(HelperTests.test_failing_in_create_in_transaction_with_numeric_id_holder):
(HelperTests.test_failing_in_create_in_transaction_with_numeric_id_holder.execute):
(HelperTests.test_raising_in_create_in_transaction_with_numeric_id_holder):
(HelperTests.test_raising_in_create_in_transaction_with_numeric_id_holder.execute):
(HelperTests.test_delete_model_with_numeric_id_holder):
(HelperTests.test_delete_model_with_numeric_id_holder.execute):
(HelperTests.test_model_from_numeric_id):
(HelperTests.test_model_from_numeric_id.execute):
(BuilderTests):
(BuilderTests.setUp):
(BuilderTests.tearDown):
(BuilderTests.test_create):
(BuilderTests.test_update_password):
(BuilderTests.test_hashed_password):
(BuilderTests.test_authenticate):
(ReportLog):
(ReportLog.setUp):
(ReportLog.tearDown):
(ReportLog._create_log_with_payload):
(ReportLog.test_parsed_payload):
(ReportLog.test_get_value):
(ReportLog.test_results):
(ReportLog.test_builder):
(ReportLog.test_build_number):
(ReportLog.test_webkit_revision):
(ReportLog.chromium_revision):
(PersistentCacheTests):
(PersistentCacheTests.setUp):
(PersistentCacheTests.tearDown):
(PersistentCacheTests._assert_persistent_cache):
(PersistentCacheTests.test_set):
(PersistentCacheTests.test_get):
* Websites/webkit-perf.appspot.com/runs_handler.py:
(RunsHandler.post):

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

9 years ago[chromium] Refactor video drawing to be more data driven
commit-queue@webkit.org [Fri, 17 Feb 2012 18:27:32 +0000 (18:27 +0000)]
[chromium] Refactor video drawing to be more data driven
https://bugs.webkit.org/show_bug.cgi?id=76720

Patch by Tim Dresser <tdresser@chromium.org> on 2012-02-17
Reviewed by James Robinson.

Source/WebCore:

CCVideoLayerImpl no longer handles drawing itself, but produces a list of CCVideoDrawQuads.
These quads are then drawn by LayerRendererChromium.

CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
CCLayerImpl::didDraw() is called directly after all drawing has been completed.
CCLayerImpl::draw has been removed.

willDraw and didDraw are used to handle interaction with the VideoFrameProvider
in CCVideoLayerImpl. willDraw gets a frame from the VideoFrameProvider, and
didDraw returns it.

A unit test has been added: CCLayerTreeHostImplTest.didDrawCalledOnAllLayers.
This test ensures that CCLayerImpl::didDraw() is called on all layers,
including layers on different render surfaces.

As this was a refactor, no other tests were added.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawYUV):
(WebCore):
(WebCore::LayerRendererChromium::drawSingleTextureVideoQuad):
(WebCore::LayerRendererChromium::drawRGBA):
(WebCore::LayerRendererChromium::drawNativeTexture):
(WebCore::LayerRendererChromium::copyFrameToTextures):
(WebCore::LayerRendererChromium::copyPlaneToTexture):
(WebCore::LayerRendererChromium::drawVideoQuad):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::didDraw):
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::CCLayerTreeHostImpl::drawLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
(WebCore::CCVideoDrawQuad::create):
(WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
* platform/graphics/chromium/cc/CCVideoDrawQuad.h:
(CCVideoDrawQuad):
(WebCore::CCVideoDrawQuad::textures):
(WebCore::CCVideoDrawQuad::frame):
(WebCore::CCVideoDrawQuad::format):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::willDraw):
(WebCore::CCVideoLayerImpl::appendQuads):
(WebCore::CCVideoLayerImpl::didDraw):
(WebCore::CCVideoLayerImpl::computeVisibleSize):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:
(CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::providerMutex):
(WebCore::CCVideoLayerImpl::provider):
(Texture):

Source/WebKit/chromium:

CCLayerTreeHostImplTest.didDrawCalledOnAllLayers ensures that
CCLayerImpl::didDraw() is called on all layers, including layers
on different render surfaces.

* tests/CCLayerTreeHostImplTest.cpp:
(DidDrawCheckLayer):
(WebKit::DidDrawCheckLayer::create):
(WebKit::DidDrawCheckLayer::didDraw):
(WebKit::DidDrawCheckLayer::didDrawCalled):
(WebKit::DidDrawCheckLayer::DidDrawCheckLayer):
(WebKit):
(WebKit::TEST_F):

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

9 years ago[GTK] Allow printing scaled pages in WebKit2 for printers that don't support it
carlosgc@webkit.org [Fri, 17 Feb 2012 18:19:18 +0000 (18:19 +0000)]
[GTK] Allow printing scaled pages in WebKit2 for printers that don't support it
https://bugs.webkit.org/show_bug.cgi?id=78823

Reviewed by Gustavo Noronha Silva.

* UIProcess/API/gtk/WebKitPrintOperation.cpp:
(webkitPrintOperationRunDialogUnix): Enable scale option in print
dialog.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
manual scale to 1.
(WebKit::WebPrintOperationGtk::rotatePageIfNeeded): Renamed and
moved the needs rotate check here as an early return.
(WebKit::WebPrintOperationGtk::prepareContextToDraw): Scale the
page according to the manual scale factor.
(WebKit::WebPrintOperationGtk::renderPage): Move rotatePage to
prepareContextToDraw.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.h:

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

9 years ago[Chromium] Include TestShellLinux.cpp in the build for Android
peter@chromium.org [Fri, 17 Feb 2012 18:09:49 +0000 (18:09 +0000)]
[Chromium] Include TestShellLinux.cpp in the build for Android
https://bugs.webkit.org/show_bug.cgi?id=78865

Reviewed by Eric Seidel.

Android will be re-using the TestShellLinux.cpp file. I already
added this r104033, but it seems to have gotten lost in the
recent refactorings.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:

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

9 years ago[GTK] Allow printing multiple copies in WebKit2 for printers that don't support it
carlosgc@webkit.org [Fri, 17 Feb 2012 18:08:18 +0000 (18:08 +0000)]
[GTK] Allow printing multiple copies in WebKit2 for printers that don't support it
https://bugs.webkit.org/show_bug.cgi?id=78805

Reviewed by Gustavo Noronha Silva.

* UIProcess/API/gtk/WebKitPrintOperation.cpp:
(webkitPrintOperationRunDialogUnix): Enable multiple copies and
collate options in print dialog.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::PrintPagesData::PrintPagesData): Initialize number of
collated and uncolated copies done and total.
(WebKit::PrintPagesData::collatedCopiesLeft): Helper function that
returns the number of collated copies left to do.
(WebKit::PrintPagesData::uncollatedCopiesLeft): Helper function
that returns the number of uncollated copies left to do.
(WebKit::PrintPagesData::copiesLeft): Helper function
that returns the number of collated or uncollated copies left to
do.
(WebKit::PrintPagesData::incrementPageSequence): Do not finish the
print if there are uncollated copies left, and do not increment
sheet number if there are collated copies left.
(WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
m_manualCopies to 1 and m_manualCollateCopies to false.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.h:

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

9 years agoUnreviewed Chromium rebaseline after r107971.
jchaffraix@webkit.org [Fri, 17 Feb 2012 18:05:33 +0000 (18:05 +0000)]
Unreviewed Chromium rebaseline after r107971.

* platform/chromium-mac-leopard/tables/mozilla/bugs/bug27038-1-expected.png:
* platform/chromium-mac-leopard/tables/mozilla/bugs/bug27038-2-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug27038-1-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug27038-1-expected.txt: Added.
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug27038-2-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug27038-2-expected.txt: Added.
* platform/chromium-win-vista/tables/mozilla/bugs: Removed.
* platform/chromium/test_expectations.txt:

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

9 years ago[chromium] Unreviewed, update chromium pixel baselines for r108079
jamesr@google.com [Fri, 17 Feb 2012 18:00:28 +0000 (18:00 +0000)]
[chromium] Unreviewed, update chromium pixel baselines for r108079

* fast/borders/border-mixed-alpha-expected.txt: Renamed from LayoutTests/platform/gtk/fast/borders/border-mixed-alpha-expected.txt.
* fast/borders/only-one-border-with-width-expected.txt: Renamed from LayoutTests/platform/gtk/fast/borders/only-one-border-with-width-expected.txt.
* platform/chromium-mac-snowleopard/fast/borders/border-mixed-alpha-expected.png:
* platform/chromium-mac-snowleopard/fast/borders/mixed-border-styles-expected.png:
* platform/chromium-mac-snowleopard/fast/borders/only-one-border-with-width-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/css/color-leakage-expected.png: Added.
* platform/chromium-win/fast/borders/border-mixed-alpha-expected.png:
* platform/chromium-win/fast/borders/mixed-border-styles-expected.png:
* platform/chromium-win/fast/borders/only-one-border-with-width-expected.png: Copied from LayoutTests/platform/chromium-win/fast/css/color-leakage-expected.png.
* platform/chromium-win/fast/css/color-leakage-expected.png:
* platform/mac/fast/borders/border-mixed-alpha-expected.txt: Removed.
* platform/mac/fast/borders/only-one-border-with-width-expected.txt: Removed.
* platform/qt/fast/borders/border-mixed-alpha-expected.txt: Removed.
* platform/qt/fast/borders/only-one-border-with-width-expected.txt: Removed.

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

9 years ago[GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it
carlosgc@webkit.org [Fri, 17 Feb 2012 17:43:22 +0000 (17:43 +0000)]
[GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it
https://bugs.webkit.org/show_bug.cgi?id=78799

Reviewed by Gustavo Noronha Silva.

* UIProcess/API/gtk/WebKitPrintOperation.cpp:
(webkitPrintOperationRunDialogUnix): Enable printing in reverse
order option in print dialog.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
and lastPagePosition depending on whether printing is in reverse
order or not.
(WebKit::PrintPagesData::incrementPageSequence): Use a negative
increment step when printing in reverse order. Fix page
incrementing when printing only odd/even pages broken in previous
commit due to merge conflicts.
(WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
reverse printing to false.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.h:

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

9 years ago[GTK] Allow printing only odd/even pages in WebKit2 for printers that don't support it
carlosgc@webkit.org [Fri, 17 Feb 2012 17:25:56 +0000 (17:25 +0000)]
[GTK] Allow printing only odd/even pages in WebKit2 for printers that don't support it
https://bugs.webkit.org/show_bug.cgi?id=78793

Reviewed by Gustavo Noronha Silva.

* UIProcess/API/gtk/WebKitPrintOperation.cpp:
(webkitPrintOperationRunDialogUnix): Enable print odd/even pages
option in print dialog.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::PrintPagesData::PrintPagesData): Add lastPagePosition and
initialize it depending on the page set.
(WebKit::PrintPagesData::incrementPageSequence): Use 2 step
increment when printing only odd/even pages.
(WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
m_manualPageSet to GTK_PAGE_SET_ALL.

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

9 years agoCrash at WebCore::SVGUseElement::expandSymbolElementsInShadowTree
commit-queue@webkit.org [Fri, 17 Feb 2012 17:06:11 +0000 (17:06 +0000)]
Crash at WebCore::SVGUseElement::expandSymbolElementsInShadowTree
https://bugs.webkit.org/show_bug.cgi?id=77639

Patch by Stephen Chenney <schenney@chromium.org> on 2012-02-17
Reviewed by Nikolas Zimmermann.

Source/WebCore:

Fix a SVG crash in Release builds, although it still crashes in Debug builds.
The crash occurred when an SVG use element attempted to reference a style element while the file
contained an error causing the error banner to display. The fix is to prevent SVGUseElement
from recalculating style during tree building and return immediately when style is recalculated and
the tree is building.

Test: svg/custom/use-referencing-style-crash.svg

* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::willRecalcStyle): Return false if the tree is being built.
(WebCore::SVGUseElement::didRecalcStyle): Check and return if the tree
is being built and we are not yet ready for style update.

LayoutTests:

Fix a SVG crash in Release builds, although it still crashes in Debug builds.
This test is to verify no crash in Release builds, while expectations/Skipped
are added for Debug builds. Bug 77764 tracks the Debug fix.

* platform/chromium/test_expectations.txt:
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* svg/custom/use-referencing-style-crash-expected.txt: Added.
* svg/custom/use-referencing-style-crash.svg: Added.

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

9 years agoUnreviewed, rolling out r108077.
loislo@chromium.org [Fri, 17 Feb 2012 16:55:06 +0000 (16:55 +0000)]
Unreviewed, rolling out r108077.
http://trac.webkit.org/changeset/108077
https://bugs.webkit.org/show_bug.cgi?id=78390

it broke compilation.

* inspector/CodeGeneratorInspector.py:
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::evaluateOnCallFrame):
(WebCore::InjectedScript::getFunctionDetails):
(WebCore::InjectedScript::getProperties):
(WebCore::InjectedScript::wrapCallFrames):
* inspector/InjectedScript.h:
(InjectedScript):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
(WebCore::InspectorDebuggerAgent::getFunctionDetails):
(WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
(WebCore::InspectorDebuggerAgent::currentCallFrames):
(WebCore::InspectorDebuggerAgent::didParseSource):
* inspector/InspectorDebuggerAgent.h:
(InspectorDebuggerAgent):

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

9 years agochrome.dll!WebCore::SVGTRefElement::updateReferencedText ReadAV@NULL (e85cb8e140071fa...
commit-queue@webkit.org [Fri, 17 Feb 2012 16:50:13 +0000 (16:50 +0000)]
chrome.dll!WebCore::SVGTRefElement::updateReferencedText ReadAV@NULL (e85cb8e140071fa7790cad215b0109dc)
https://bugs.webkit.org/show_bug.cgi?id=74858

Patch by Florin Malita <fmalita@google.com> on 2012-02-17
Reviewed by Nikolas Zimmermann.

Source/WebCore:

Tests: svg/custom/tref-remove-target-crash-expected.svg
       svg/custom/tref-remove-target-crash.svg

Add a DOMNodeRemovedFromDocumentEvent listener to detect when the target element is removed. Upon removal,
cleanup all listeners and re-activate the pending resource to attach if the referenced ID is added
at a later time programmatically. Also move the DOMSubtreeModifiedEvent listener from the parent to
the target element to simplify the implementation and reduce the scope.

* svg/SVGTRefElement.cpp:
(WebCore::TargetListener::create):
(WebCore::TargetListener::cast):
(WebCore::TargetListener::clear):
(WebCore::TargetListener::TargetListener):
(WebCore::TargetListener::operator==):
(WebCore::TargetListener::handleEvent):
(WebCore::SVGTRefElement::detachTarget):
(WebCore::SVGTRefElement::buildPendingResource):
* svg/SVGTRefElement.h:

LayoutTests:

* svg/custom/tref-remove-target-crash-expected.svg: Added.
* svg/custom/tref-remove-target-crash.svg: Added.

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

9 years agoFix the build after r108077.
simon.fraser@apple.com [Fri, 17 Feb 2012 16:48:09 +0000 (16:48 +0000)]
Fix the build after r108077.

* inspector/CodeGeneratorInspector.py:
(RawTypes.Any.generate_validate_method):

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

9 years ago[GTK] Allow printing multiple pages per sheet in WebKit2 for printers that don't...
carlosgc@webkit.org [Fri, 17 Feb 2012 16:42:58 +0000 (16:42 +0000)]
[GTK] Allow printing multiple pages per sheet in WebKit2 for printers that don't support it
https://bugs.webkit.org/show_bug.cgi?id=78715

Reviewed by Gustavo Noronha Silva.

* UIProcess/API/gtk/WebKitPrintOperation.cpp:
(webkitPrintOperationRunDialogUnix): Enable multiple pages per
sheet options in print dialog.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
and numberOfSheets. Move pagePosition to WebPrintOperationGtk.
(WebKit::PrintPagesData::incrementPageSequence): Increment current
sheet and page position.
(WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
(WebKit::WebPrintOperationGtk::currentPageIsFirstPageOfSheet):
Helper function to check whether current pages is the first one of
the current sheet.
(WebKit::WebPrintOperationGtk::currentPageIsLastPageOfSheet):
Helper function to check whether current pages is the last one of
the current sheet.
(WebKit::WebPrintOperationGtk::getRowsAndColumnsOfPagesPerSheet):
Returns the number of rows and columns of pages per sheet.
(WebKit::WebPrintOperationGtk::getPositionOfPageInSheet): Returns
the row and column number of the current page in the current sheet.
(WebKit::WebPrintOperationGtk::prepareContextToDraw): Translate,
scale and rotate accordingly to render every page in the right
place of the sheet.
(WebKit::WebPrintOperationGtk::renderPage): Call
prepareContextToDraw() before drawing the page.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
(WebKit::WebPrintOperationGtk::setNumberOfPagesToPrint):
(WebKit::WebPrintOperationGtk::pagePosition):
(WebKit::WebPrintOperationGtk::setPagePosition):
(WebKit::WebPrintOperationGtk::numberUp):
(WebKit::WebPrintOperationGtk::numberUpLayout):

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

9 years agoAvoid using a transparency layer for rgba() border drawing when possible
simon.fraser@apple.com [Fri, 17 Feb 2012 16:40:42 +0000 (16:40 +0000)]
Avoid using a transparency layer for rgba() border drawing when possible
https://bugs.webkit.org/show_bug.cgi?id=63176

Reviewed by Dan Bernstein.

The non-radiused border drawing code would use a transparency layer
when drawing any one or more borders with alpha colors. However,
we only need to use a transparency layer when there is a corner
join between the borders being rendered with any one color,
so add a utility function includesAdjacentEdges() that can tell us
that, and use it to avoid making extraneous transparency layers.

Optimization only, no new tests.

* rendering/RenderBoxModelObject.cpp:
(WebCore::includesAdjacentEdges):
(WebCore):
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):

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

9 years ago2012-02-17 Pavel Feldman <pfeldman@google.com>
pfeldman@chromium.org [Fri, 17 Feb 2012 16:39:08 +0000 (16:39 +0000)]
2012-02-17  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: Qt minimal build fix.

        * inspector/InjectedScript.h:
        (WebCore):

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

9 years agoWeb Inspector: Switch Debugger agent to TypeBuilder
vsevik@chromium.org [Fri, 17 Feb 2012 16:25:15 +0000 (16:25 +0000)]
Web Inspector: Switch Debugger agent to TypeBuilder
https://bugs.webkit.org/show_bug.cgi?id=78390

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-17
Reviewed by Vsevolod Vlasov.

Client code is switched to TypeBuilder.

* inspector/CodeGeneratorInspector.py:
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::evaluateOnCallFrame):
(WebCore::InjectedScript::getFunctionDetails):
(WebCore::InjectedScript::getProperties):
(WebCore::InjectedScript::wrapCallFrames):
* inspector/InjectedScript.h:
(InjectedScript):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
(WebCore::InspectorDebuggerAgent::getFunctionDetails):
(WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
(WebCore::InspectorDebuggerAgent::currentCallFrames):
(WebCore::InspectorDebuggerAgent::didParseSource):
* inspector/InspectorDebuggerAgent.h:
(InspectorDebuggerAgent):

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

9 years agoWeb Inspector: hide color picker on selected node update.
pfeldman@chromium.org [Fri, 17 Feb 2012 16:17:45 +0000 (16:17 +0000)]
Web Inspector: hide color picker on selected node update.
https://bugs.webkit.org/show_bug.cgi?id=78896

Reviewed by Vsevolod Vlasov.

* inspector/front-end/Spectrum.js:
(WebInspector.Spectrum.prototype.get visible):
(WebInspector.Spectrum.prototype.toggle):
(WebInspector.Spectrum.prototype.show):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype.update):
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.):

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

9 years agoWeb Inspector: check undo-redo boundaries based on current action index, not history...
pfeldman@chromium.org [Fri, 17 Feb 2012 16:13:59 +0000 (16:13 +0000)]
Web Inspector: check undo-redo boundaries based on current action index, not history size.
https://bugs.webkit.org/show_bug.cgi?id=78895

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Tests: inspector/elements/perform-undo-undo.html
       inspector/styles/perform-undo-perform-of-mergable-action.html

* inspector/InspectorHistory.cpp:
(WebCore::InspectorHistory::perform):

LayoutTests:

* inspector/elements/perform-undo-undo-expected.txt: Added.
* inspector/elements/perform-undo-undo.html: Added.
* inspector/styles/perform-undo-perform-of-mergable-action-expected.txt: Added.
* inspector/styles/perform-undo-perform-of-mergable-action.html: Added.

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