profile/ivi/webkit-efl.git
12 years ago[chromium] Partially filled pixels do not occlude pixels below them.
commit-queue@webkit.org [Sat, 21 Jan 2012 02:21:02 +0000 (02:21 +0000)]
[chromium] Partially filled pixels do not occlude pixels below them.
https://bugs.webkit.org/show_bug.cgi?id=76658

Patch by Dana Jansens <danakj@chromium.org> on 2012-01-20
Reviewed by James Robinson.

Source/WebCore:

Test: compositing/culling/tile-occlusion-boundaries.html

* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::enclosedIntRect):
(WebCore::CCQuadCuller::cullOccludedQuads):

LayoutTests:

* compositing/culling/tile-occlusion-boundaries-expected.png: Added.
* compositing/culling/tile-occlusion-boundaries-expected.txt: Added.
* compositing/culling/tile-occlusion-boundaries.html: Added.
* compositing/resources/green.jpg: Added.

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

12 years agoChanged my status in commiters.py
shawnsingh@chromium.org [Sat, 21 Jan 2012 02:06:04 +0000 (02:06 +0000)]
Changed my status in commiters.py

Unreviewed.

* Scripts/webkitpy/common/config/committers.py:

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

12 years agoSmall cleanup of {get,put}CurrentFrame for WebMediaPlayerClientImpl/CCVideoLayerImpl.
commit-queue@webkit.org [Sat, 21 Jan 2012 01:34:07 +0000 (01:34 +0000)]
Small cleanup of {get,put}CurrentFrame for  WebMediaPlayerClientImpl/CCVideoLayerImpl.
https://bugs.webkit.org/show_bug.cgi?id=76332

Patch by Ami Fischman <fischman@chromium.org> on 2012-01-20
Reviewed by James Robinson.

Source/WebCore:

* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::draw):

Source/WebKit/chromium:

* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::getCurrentFrame):
(WebKit::WebMediaPlayerClientImpl::putCurrentFrame):

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

12 years agoDrag/drop of a file into a WebView on Windows needs to allow access to that file
sfalken@apple.com [Sat, 21 Jan 2012 01:16:49 +0000 (01:16 +0000)]
Drag/drop of a file into a WebView on Windows needs to allow access to that file
https://bugs.webkit.org/show_bug.cgi?id=76753
<rdar://problem/10731719>

Reviewed by Alexey Proskuryakov.

The Windows drag/drop code path was missing the code to open a file read exception.

Added code to match the Mac version, while allowing directories and multiple files to
also be dragged (matching our previous behavior).

* UIProcess/win/WebView.cpp:
(WebKit::maybeCreateSandboxExtensionFromDragData): Added.
(WebKit::WebView::Drop): Add a universal read exception if we're dragging a file into a WebView to open it.

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

12 years agoAdd a Chromium-specific baselines for
abarth@webkit.org [Sat, 21 Jan 2012 01:11:27 +0000 (01:11 +0000)]
Add a Chromium-specific baselines for
fast/dom/Window/open-invalid-url.html.  Although this expected result
says "FAIL", the behavior seems to be reasonable.

* platform/chromium/fast/dom/Window/open-invalid-url-expected.txt: Added.

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

12 years ago<rdar://problem/9328684> and https://bugs.webkit.org/show_bug.cgi?id=62764 Frequent...
beidson@apple.com [Sat, 21 Jan 2012 00:45:19 +0000 (00:45 +0000)]
<rdar://problem/9328684> and https://bugs.webkit.org/show_bug.cgi?id=62764 Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache

Reviewed by Sam Weinig.

No way to reproduce without special malloc debugging and that doesn't even reproduce on all platforms.  So still no test.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::detachFromFrame): Protect m_frame for the duration of this method.

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

12 years agoMake OwnPtr<HDC> work for the Chromium Windows port.
levin@chromium.org [Sat, 21 Jan 2012 00:36:54 +0000 (00:36 +0000)]
Make OwnPtr<HDC> work for the Chromium Windows port.
https://bugs.webkit.org/show_bug.cgi?id=76738

Reviewed by Jian Li.

* JavaScriptCore.gyp/JavaScriptCore.gyp: Added OwnPtrWin.cpp to the
Chromium Windows build.
* wtf/OwnPtrCommon.h: Changed from platform WIN to OS WIN for
OwnPtr<HDC> and similar constructs.

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

12 years ago WebCore should not send invalid URLs to client createWindow methods.
ap@apple.com [Sat, 21 Jan 2012 00:09:34 +0000 (00:09 +0000)]
    WebCore should not send invalid URLs to client createWindow methods.
        https://bugs.webkit.org/show_bug.cgi?id=39017

        Unreviewed test fix.

        * page/DOMWindow.cpp: (WebCore::DOMWindow::createWindow): Let empty URLs through.

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

12 years agoRoll Chromium DEPS from 118291 to 118493.
rniwa@webkit.org [Sat, 21 Jan 2012 00:05:23 +0000 (00:05 +0000)]
Roll Chromium DEPS from 118291 to 118493.

* DEPS:

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

12 years agoMake WebCore RunLoop work for WebKit1
weinig@apple.com [Sat, 21 Jan 2012 00:03:13 +0000 (00:03 +0000)]
Make WebCore RunLoop work for WebKit1
https://bugs.webkit.org/show_bug.cgi?id=76739

Reviewed by Anders Carlsson.

Source/WebCore:

* platform/RunLoop.cpp:
Specialize RunLoop initialization for Mac, where it can happen on any thread.

* platform/RunLoop.h:
Add RunLoop constructor that takes a CFRunLoopRef on the mac for initializing
the main thread.

* platform/mac/RunLoopMac.mm:
(WebCore::RunLoop::initializeMainRunLoop):
Add new implementation that can work from any thread (and multiple threads at the
same time if necessary).

(WebCore::RunLoop::current):
Treat the main thread specially, not storing it in thread specific data.

(WebCore::RunLoop::main):
Copy main accessor since it needs access to the file static.

(WebCore::RunLoop::RunLoop):
Add constructor which takes a CFRunLoopRef.

Source/WebKit/mac:

* Carbon/CarbonWindowAdapter.mm:
(+[CarbonWindowAdapter initialize]):
* History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]):
* History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]):
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
* Misc/WebIconDatabase.mm:
(+[WebIconDatabase initialize]):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]):
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebBasePluginPackage.mm:
* Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]):
* WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]):
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
* WebView/WebDataSource.mm:
(+[WebDataSourcePrivate initialize]):
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
* WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]):
* WebView/WebView.mm:
(+[WebView initialize]):
* WebView/WebViewData.mm:
(+[WebViewPrivate initialize]):
Initialized the main run loop in addition to other initialization.

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

12 years agorun-webkit-tests --lint-test-files crawls the whole LayoutTests subtree
ojan@chromium.org [Fri, 20 Jan 2012 23:47:02 +0000 (23:47 +0000)]
run-webkit-tests --lint-test-files crawls the whole LayoutTests subtree
https://bugs.webkit.org/show_bug.cgi?id=76748

Reviewed by Ryosuke Niwa.

It crawls the whole subtree and then doesn't use the data. Cutting this out
saves 4 seconds warm and 17 seconds cold on my Mac Pro.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(run):

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

12 years agoAnother tiny tweak to the garden-o-matic CSS. This makes things line
abarth@webkit.org [Fri, 20 Jan 2012 23:36:53 +0000 (23:36 +0000)]
Another tiny tweak to the garden-o-matic CSS.  This makes things line
up slightly nicer when there aren't any failures.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/onebar.css:
(#summary):

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

12 years agoCrash in RenderSVGResourceContainer::markAllClientsForInvalidation
timothy_horton@apple.com [Fri, 20 Jan 2012 23:23:56 +0000 (23:23 +0000)]
Crash in RenderSVGResourceContainer::markAllClientsForInvalidation
https://bugs.webkit.org/show_bug.cgi?id=76606
<rdar://problem/10720970>

Reviewed by Dirk Schulze.

Notify SVGResourcesCache and superclass when RenderSVGInline is about
to be destroyed, preventing a crash.

Test: svg/custom/crash-inline-container-client.html

* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::willBeDestroyed):
* rendering/svg/RenderSVGInline.h:

* svg/custom/crash-inline-container-client-expected.txt: Added.
* svg/custom/crash-inline-container-client.html: Added.

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

12 years ago WebCore should not send invalid URLs to client createWindow methods.
ap@apple.com [Fri, 20 Jan 2012 23:22:46 +0000 (23:22 +0000)]
    WebCore should not send invalid URLs to client createWindow methods.
        https://bugs.webkit.org/show_bug.cgi?id=39017

        Reviewed by Sam Weinig.

        Test: fast/dom/window/open-invalid-url.html

        * page/DOMWindow.cpp: (WebCore::DOMWindow::createWindow): Bail out early for invalid URLs.

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

12 years agoRevert r105545. Something got broken about gclient/gyp but I can't figure out what.
rniwa@webkit.org [Fri, 20 Jan 2012 23:21:08 +0000 (23:21 +0000)]
Revert r105545. Something got broken about gclient/gyp but I can't figure out what.

* DEPS:

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

12 years agoRemove unused variable in RenderReplaced after r105513
caio.oliveira@openbossa.org [Fri, 20 Jan 2012 23:00:05 +0000 (23:00 +0000)]
Remove unused variable in RenderReplaced after r105513
https://bugs.webkit.org/show_bug.cgi?id=76742

Reviewed by Daniel Bates.

* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
(WebCore::RenderReplaced::computeReplacedLogicalHeight):

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

12 years agoRoll Chromium DEPS from 118291 to 118530.
rniwa@webkit.org [Fri, 20 Jan 2012 22:59:14 +0000 (22:59 +0000)]
Roll Chromium DEPS from 118291 to 118530.

* DEPS:

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

12 years ago[chromium] Plumb damage from accelerated canvas 2D.
commit-queue@webkit.org [Fri, 20 Jan 2012 22:49:51 +0000 (22:49 +0000)]
[chromium] Plumb damage from accelerated canvas 2D.
https://bugs.webkit.org/show_bug.cgi?id=76728

Patch by Jonathan Backer <backer@chromium.org> on 2012-01-20
Reviewed by Kenneth Russell.

* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::contentChanged):

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

12 years agorun-perf-tests should support --test-results-server option
rniwa@webkit.org [Fri, 20 Jan 2012 22:17:30 +0000 (22:17 +0000)]
run-perf-tests should support --test-results-server option
https://bugs.webkit.org/show_bug.cgi?id=76680

Reviewed by Adam Barth.

Add --test-results-server, --builder-name, and --build-number options to run-perf-tests
to be used by perf bots. Also refactor file_uploader as needed.

* Scripts/webkitpy/common/net/file_uploader.py:
(FileUploader.__init__):
(FileUploader.upload_single_file):
(FileUploader.upload_as_multipart_form_data):
(FileUploader):
(FileUploader._upload_data):
(FileUploader._upload_data.callback):
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGeneratorBase.upload_json_files):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner):
(PerfTestsRunner._parse_args):
(PerfTestsRunner.run):
(PerfTestsRunner._generate_json):
(PerfTestsRunner._upload_json):
(PerfTestsRunner._run_tests_set):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(create_runner):
(test_run_with_upload_json):
(test_run_with_upload_json.mock_upload_json):
(test_upload_json):
(test_upload_json.MockFileUploader):
(test_upload_json.MockFileUploader.__init__):
(test_upload_json.MockFileUploader.upload_single_file):
(test_parse_args):

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

12 years agoCrash in RenderTable::borderBefore
jchaffraix@webkit.org [Fri, 20 Jan 2012 22:16:51 +0000 (22:16 +0000)]
Crash in RenderTable::borderBefore
https://bugs.webkit.org/show_bug.cgi?id=75215

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/table/crash-beforeBorder-dirty-section.html

This is a regression from r97661 that added some calls to get the object's borders but tables are a
special case and they may need to recompute some sections' pointers.

The whole sections' pointers lazy recomputation logic is unfortunately far from being bullet proof and
this change is only a mitigation for the current crash.

* rendering/RenderTable.cpp:
(WebCore::RenderTable::borderBefore):
(WebCore::RenderTable::borderAfter):
Make sure we recompute our sections. The change was made here to avoid hitting the
path used inside the table code (ie outerBorder{Before|After}) that shouldn't be
affected.

* rendering/RenderTable.h:
(WebCore::RenderTable::topSection):
Added an ASSERT to catch more bad use in the future.

LayoutTests:

* fast/table/crash-beforeBorder-dirty-section-expected.txt: Added.
* fast/table/crash-beforeBorder-dirty-section.html: Added.

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=76444
simon.fraser@apple.com [Fri, 20 Jan 2012 21:19:34 +0000 (21:19 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=76444

This breaks builds.

* WebView/WebPreferences.mm:
* WebView/WebPreferencesPrivate.h:

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

12 years agoRemoved some regexp entry boilerplate code
ggaren@apple.com [Fri, 20 Jan 2012 21:05:57 +0000 (21:05 +0000)]
Removed some regexp entry boilerplate code
https://bugs.webkit.org/show_bug.cgi?id=76687

Reviewed by Darin Adler.

1% - 2% speedup on regexp tests, no change overall.

* runtime/RegExp.cpp:
(JSC::RegExp::match):
    - ASSERT that our startIndex is non-negative, because anything less
    would be uncivilized.

    - ASSERT that our input is not the null string for the same reason.

    - No need to test for startOffset being past the end of the string,
    since the regular expression engine will do this test for us.

    - No need to initialize the output vector, since the regular expression
    engine will fill it in for us.

* yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::interpret):
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::compile):

    RegExp used to do these jobs for us, but now we do them for ourselves
    because it's a better separation of concerns, and the JIT can do them
    more efficiently than C++ code:

    - Test for "past the end" before doing any matching -- otherwise
    a* will match with zero length past the end of the string, which is wrong.

    - Initialize the output vector before doing any matching.

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

12 years agoAdd proper offset to position right click to simulate a context menu invocation.
commit-queue@webkit.org [Fri, 20 Jan 2012 21:05:14 +0000 (21:05 +0000)]
Add proper offset to position right click to simulate a context menu invocation.
https://bugs.webkit.org/show_bug.cgi?id=76421

Patch by Marc-Andre Decoste <mad@chromium.org> on 2012-01-20
Reviewed by Ojan Vafai.

.:

* ManualTests/win/contextmenu-key3.html: Added.

Source/WebCore:

Manual tests only because DRT doesn't support context menu key.

* page/EventHandler.cpp:
(WebCore::EventHandler::sendContextMenuEventForKey):

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

12 years agoBuild fix for no-DFG configuration.
fpizlo@apple.com [Fri, 20 Jan 2012 21:01:48 +0000 (21:01 +0000)]
Build fix for no-DFG configuration.
Needed for <rdar://problem/10727689>.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitProfiledOpcode):
* jit/JIT.h:
(JSC::JIT::emitValueProfilingSite):

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

12 years agoThe party time image overlaps real content! This patch makes the
abarth@webkit.org [Fri, 20 Jan 2012 20:55:36 +0000 (20:55 +0000)]
The party time image overlaps real content!  This patch makes the
image centered vertically.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/onebar.css:
(#onebar.partytime #summary):

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

12 years agoRefactor TestExpectationsParser in preparation for caching the results
ojan@chromium.org [Fri, 20 Jan 2012 20:40:18 +0000 (20:40 +0000)]
Refactor TestExpectationsParser in preparation for caching the results
https://bugs.webkit.org/show_bug.cgi?id=76669

Reviewed by Dimitri Glazkov.

Make everything private expect for the parse method.
Eventually, we'll need the expectations lines to not be modified
outside of TestExpectationsParser so we can cache the results.
This makes check-webkit-style of the chromium test_expectations.txt file
go from ~17 seconds to ~12 seconds on my Mac Pro.

This patch is just a refactor in preparation, so no new tests.

* Scripts/webkitpy/layout_tests/controllers/test_expectations_editor_unittest.py:
(TestExpectationEditorTests.make_parsed_expectation_lines):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser.parse):
(TestExpectationParser):
(TestExpectationParser._parse_line):
(TestExpectationParser._tokenize):
(TestExpectationParser._tokenize_list):
(TestExpectationsModel._clear_expectations_for_test):
(TestExpectations.__init__):
(TestExpectations._add_expectations):
(TestExpectations._add_skipped_tests):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(TestExpectationParserTests.test_tokenize_blank):
(TestExpectationParserTests.test_tokenize_missing_colon):
(TestExpectationParserTests.test_tokenize_extra_colon):
(TestExpectationParserTests.test_tokenize_empty_comment):
(TestExpectationParserTests.test_tokenize_comment):
(TestExpectationParserTests.test_tokenize_missing_equal):
(TestExpectationParserTests.test_tokenize_extra_equal):
(TestExpectationParserTests.test_tokenize_valid):
(TestExpectationParserTests.test_tokenize_valid_with_comment):
(TestExpectationParserTests.test_tokenize_valid_with_multiple_modifiers):
(TestExpectationParserTests.test_parse_empty_string):
(TestExpectationSerializerTests.assert_round_trip):
(TestExpectationSerializerTests.assert_list_round_trip):
* Scripts/webkitpy/tool/commands/expectations.py:
(OptimizeExpectations.execute):
* Scripts/webkitpy/tool/servers/gardeningserver.py:
(GardeningExpectationsUpdater.update_expectations):

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

12 years agoFollow-up to previous patch: don't produce NaN when the revision number
abarth@webkit.org [Fri, 20 Jan 2012 20:22:24 +0000 (20:22 +0000)]
Follow-up to previous patch: don't produce NaN when the revision number
is missing.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model_unittests.js:

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

12 years agoBytecode instructions that may have value profiling should have a direct inline
fpizlo@apple.com [Fri, 20 Jan 2012 20:22:18 +0000 (20:22 +0000)]
Bytecode instructions that may have value profiling should have a direct inline
link to the ValueProfile instance
https://bugs.webkit.org/show_bug.cgi?id=76682
<rdar://problem/10727689>

Reviewed by Sam Weinig.

Each opcode that gets value profiled now has a link to its ValueProfile. This
required rationalizing the emission of value profiles for opcode combos, like
op_method_check/op_get_by_id and op_call/op_call_put_result. It only makes
sense for one of them to have a value profile link, and it makes most sense
for it to be the one that actually sets the result. The previous behavior was
to have op_method_check profile for op_get_by_id when they were used together,
but otherwise for op_get_by_id to have its own profiles. op_call already did
the right thing; all profiling was done by op_call_put_result.

But rationalizing this code required breaking some of the natural boundaries
that the code had; for instance the code in DFG that emits a GetById in place
of both op_method_check and op_get_by_id must now know that it's the latter of
those that has the value profile, while the first of those constitutes the OSR
target. Hence each CodeOrigin must now have two bytecode indices - one for
OSR exit and one for profiling.

Finally this change required some refiddling of our optimization heuristics,
because now all code blocks have "more instructions" due to the value profile
slots.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printGetByIdOp):
(JSC::CodeBlock::dump):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::valueProfileForBytecodeOffset):
* bytecode/CodeOrigin.h:
(JSC::CodeOrigin::CodeOrigin):
(JSC::CodeOrigin::bytecodeIndexForValueProfile):
* bytecode/Instruction.h:
(JSC::Instruction::Instruction):
* bytecode/Opcode.h:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitProfiledOpcode):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitGetScopedVar):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::emitGetByVal):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitConstruct):
* bytecompiler/BytecodeGenerator.h:
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::ByteCodeParser):
(JSC::DFG::ByteCodeParser::currentCodeOrigin):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::getPrediction):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::parse):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::valueProfileFor):
* jit/JIT.h:
(JSC::JIT::emitValueProfilingSite):
* jit/JITCall.cpp:
(JSC::JIT::emit_op_call_put_result):
* jit/JITCall32_64.cpp:
(JSC::JIT::emit_op_call_put_result):
* jit/JITInlineMethods.h:
(JSC::JIT::emitValueProfilingSite):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_resolve):
(JSC::JIT::emit_op_resolve_base):
(JSC::JIT::emit_op_resolve_skip):
(JSC::JIT::emit_op_resolve_global):
(JSC::JIT::emitSlow_op_resolve_global):
(JSC::JIT::emit_op_resolve_with_base):
(JSC::JIT::emit_op_resolve_with_this):
(JSC::JIT::emitSlow_op_resolve_global_dynamic):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_resolve):
(JSC::JIT::emit_op_resolve_base):
(JSC::JIT::emit_op_resolve_skip):
(JSC::JIT::emit_op_resolve_global):
(JSC::JIT::emitSlow_op_resolve_global):
(JSC::JIT::emit_op_resolve_with_base):
(JSC::JIT::emit_op_resolve_with_this):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_method_check):
(JSC::JIT::emitSlow_op_method_check):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id):
(JSC::JIT::emit_op_get_scoped_var):
(JSC::JIT::emit_op_get_global_var):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_method_check):
(JSC::JIT::emitSlow_op_method_check):
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id):
(JSC::JIT::emit_op_get_scoped_var):
(JSC::JIT::emit_op_get_global_var):
* jit/JITStubCall.h:
(JSC::JITStubCall::callWithValueProfiling):
* runtime/Options.cpp:
(JSC::Options::initializeOptions):

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

12 years agoUnreviewed, rolling out r105426.
commit-queue@webkit.org [Fri, 20 Jan 2012 20:21:41 +0000 (20:21 +0000)]
Unreviewed, rolling out r105426.
http://trac.webkit.org/changeset/105426
https://bugs.webkit.org/show_bug.cgi?id=76726

Might have caused a 20% regression in the PLT (Requested by
abarth|gardener on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-20

Source/WebCore:

* rendering/RenderObject.h:
(WebCore::RenderObject::style):

LayoutTests:

* platform/mac-snowleopard/Skipped:

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

12 years ago[chromium] Revert a couple of changes in fileapi/ that break tests in chromeos.
commit-queue@webkit.org [Fri, 20 Jan 2012 20:08:35 +0000 (20:08 +0000)]
[chromium] Revert a couple of changes in fileapi/ that break tests in chromeos.
https://bugs.webkit.org/show_bug.cgi?id=76718

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-01-20
Reviewed by Darin Fisher.

Source/WebCore:

* fileapi/BlobURL.cpp:
(WebCore::BlobURL::getIdentifier):
(WebCore::BlobURL::createBlobURL):
* fileapi/BlobURL.h:
(WebCore::BlobURL::blobProtocol):
* fileapi/DOMFileSystemBase.cpp:
(WebCore::DOMFileSystemBase::crackFileSystemURL):
* fileapi/DOMFileSystemBase.h:
* fileapi/EntryBase.cpp:
(WebCore::EntryBase::toURL):
* fileapi/FileWriter.cpp:
(WebCore::FileWriter::write):
(WebCore::FileWriter::truncate):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::webkitRequestFileSystem):
* page/DOMWindow.h:
* platform/AsyncFileSystem.cpp:
* platform/AsyncFileSystem.h:
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::webkitRequestFileSystem):
(WebCore::WorkerContext::webkitRequestFileSystemSync):

Source/WebKit/chromium:

* public/platform/WebFileSystem.h:
* src/AssertMatchingEnums.cpp:
* src/AsyncFileSystemChromium.cpp:
* src/AsyncFileSystemChromium.h:

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

12 years agoGarden-o-matic should tell me which revisions have been checked by all the bots
abarth@webkit.org [Fri, 20 Jan 2012 19:44:14 +0000 (19:44 +0000)]
Garden-o-matic should tell me which revisions have been checked by all the bots
https://bugs.webkit.org/show_bug.cgi?id=76722

Reviewed by Dimitri Glazkov.

This information helps me know when it's safe for me to roll a
candidate revision.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model_unittests.js:

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

12 years agoRefactor canvas drawing to be more data driven
commit-queue@webkit.org [Fri, 20 Jan 2012 19:23:16 +0000 (19:23 +0000)]
Refactor canvas drawing to be more data driven
https://bugs.webkit.org/show_bug.cgi?id=76635

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

This is a refactor, so no new tests were added.

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

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawCanvasQuad):
* platform/graphics/chromium/cc/CCCanvasDrawQuad.cpp:
(WebCore::CCCanvasDrawQuad::create):
(WebCore::CCCanvasDrawQuad::CCCanvasDrawQuad):
* platform/graphics/chromium/cc/CCCanvasDrawQuad.h:
(WebCore::CCCanvasDrawQuad::textureId):
(WebCore::CCCanvasDrawQuad::hasAlpha):
(WebCore::CCCanvasDrawQuad::premultipliedAlpha):
* platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
(WebCore::CCCanvasLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCCanvasLayerImpl.h:

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

12 years ago[Chromium] Do not recompute viewport on same page navigation
fsamuel@chromium.org [Fri, 20 Jan 2012 19:08:33 +0000 (19:08 +0000)]
[Chromium] Do not recompute viewport on same page navigation
https://bugs.webkit.org/show_bug.cgi?id=75576

Reviewed by Darin Fisher.

Added parameter isNavigationWithinPage to WebViewImpl::didCommitLoad
that indicates whether a same-page navigation has just occurred.

The page scale factor flag is reset only on navigation to a new page.
If the flag is not set, viewport and page scale will be recomputed on
layoutUpdated.

* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::dispatchDidNavigateWithinPage):
(WebKit::FrameLoaderClientImpl::dispatchDidCommitLoad):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::didCommitLoad):
(WebKit::WebViewImpl::observeNewNavigation):
* src/WebViewImpl.h:

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

12 years agoAdd new baselines for a test introduced in
abarth@webkit.org [Fri, 20 Jan 2012 19:06:27 +0000 (19:06 +0000)]
Add new baselines for a test introduced in
http://trac.webkit.org/changeset/105515.  These all appear to be
correct.

* platform/chromium-linux/fast/borders/scaled-border-image-expected.png: Added.
* platform/chromium-mac-leopard/fast/borders/scaled-border-image-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/borders/scaled-border-image-expected.png: Added.
* platform/chromium-win/fast/borders/scaled-border-image-expected.png: Added.
* platform/chromium-win/fast/borders/scaled-border-image-expected.txt: Added.

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

12 years agoUpdate baselines after http://trac.webkit.org/changeset/105513. Even
abarth@webkit.org [Fri, 20 Jan 2012 19:03:15 +0000 (19:03 +0000)]
Update baselines after trac.webkit.org/changeset/105513.  Even
though these results look different on different platforms, the tests
seem to be aiming for the two boxes to look the same, which they do.

Also, removed some redundant results.

* platform/chromium-linux-x86/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
* platform/chromium-linux-x86/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
* platform/chromium-linux-x86/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Removed.
* platform/chromium-linux-x86/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
* platform/chromium-linux/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
* platform/chromium-linux/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
* platform/chromium-linux/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Removed.
* platform/chromium-linux/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
* platform/chromium-mac-leopard/tables/mozilla/bugs/bug101674-expected.png:
* platform/chromium-mac-leopard/tables/mozilla/bugs/bug86708-expected.png:
* platform/chromium-mac-leopard/tables/mozilla_expected_failures/bugs/97619-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug101674-expected.png: Added.
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug86708-expected.png: Added.
* platform/chromium-mac-snowleopard/tables/mozilla_expected_failures/bugs/97619-expected.png: Added.
* platform/chromium-mac/tables/mozilla/bugs/bug101674-expected.png: Removed.
* platform/chromium-mac/tables/mozilla/bugs/bug86708-expected.png: Removed.
* platform/chromium-mac/tables/mozilla_expected_failures/bugs/97619-expected.png: Removed.
* platform/gtk/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Removed.
* platform/gtk/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
* platform/gtk/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
* platform/gtk/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Removed.
* platform/gtk/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Removed.
* platform/gtk/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
* platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Removed.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
* platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Removed.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Removed.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
* svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Added.
* svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Added.
* svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Added.
* svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Added.
* svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Added.
* svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Added.

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

12 years agoThis test fails.
abarth@webkit.org [Fri, 20 Jan 2012 18:52:49 +0000 (18:52 +0000)]
This test fails.

* platform/chromium/test_expectations.txt:

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

12 years agoCrash in xsltParseGlobalVariable.
inferno@chromium.org [Fri, 20 Jan 2012 18:17:47 +0000 (18:17 +0000)]
Crash in xsltParseGlobalVariable.
https://bugs.webkit.org/show_bug.cgi?id=75978

Reviewed by Andreas Kling.

Source/WebCore:

The code missed to reset the stylesheet pointer after we fail
to compile the XSLT stylesheet. As a result, the stylesheet gets
reused with a removed document in the next transformToFragment call.

Test: fast/xsl/xslt-transform-to-fragment-crash.html

* xml/XSLTProcessorLibxslt.cpp:
(WebCore::XSLTProcessor::transformToString):

LayoutTests:

* fast/xsl/xslt-transform-to-fragment-crash-expected.txt: Added.
* fast/xsl/xslt-transform-to-fragment-crash.html: Added.

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

12 years ago[Qt][WK2] REGRESSION(r105517): It made 49 tests timeout
ossy@webkit.org [Fri, 20 Jan 2012 17:36:17 +0000 (17:36 +0000)]
[Qt][WK2] REGRESSION(r105517): It made 49 tests timeout
https://bugs.webkit.org/show_bug.cgi?id=76708

* platform/qt-wk2/Skipped: Typo fix after last change.

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

12 years agobuild-webkit: Don't spit out congratulations message on Ctrl+C
vestbo@webkit.org [Fri, 20 Jan 2012 17:35:12 +0000 (17:35 +0000)]
build-webkit: Don't spit out congratulations message on Ctrl+C

Reviewed by Andreas Kling.

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

12 years ago[Qt][WK2] REGRESSION(r105517): It made 49 tests timeout
ossy@webkit.org [Fri, 20 Jan 2012 17:07:10 +0000 (17:07 +0000)]
[Qt][WK2] REGRESSION(r105517): It made 49 tests timeout
https://bugs.webkit.org/show_bug.cgi?id=76708

* platform/qt-wk2/Skipped: Skip failing tests to paint the bot green.

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

12 years agoUnreviewed, GTK rebaseline after r105486.
philn@webkit.org [Fri, 20 Jan 2012 17:06:06 +0000 (17:06 +0000)]
Unreviewed, GTK rebaseline after r105486.

* fast/dom/constructed-objects-prototypes-expected.txt:
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
* platform/gtk/fast/js/global-constructors-expected.txt:

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

12 years ago[GTK] Allow extra jhbuild modulesets
philn@webkit.org [Fri, 20 Jan 2012 16:49:25 +0000 (16:49 +0000)]
[GTK] Allow extra jhbuild modulesets
https://bugs.webkit.org/show_bug.cgi?id=76691

Reviewed by Gustavo Noronha Silva.

* gtk/jhbuildrc: Extra modulesets and modules can be added in
JHBuild using the WEBKIT_EXTRA_MODULESETS and WEBKIT_EXTRA_MODULES
env variables respectively. Use comma-separated values. Example:
WEBKIT_EXTRA_MODULES=file:///path/to/module.set,file:///other/path.

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

12 years agoDifferentiate between SVG/CSS width/height attributes/properties
ossy@webkit.org [Fri, 20 Jan 2012 16:32:35 +0000 (16:32 +0000)]
Differentiate between SVG/CSS width/height attributes/properties
https://bugs.webkit.org/show_bug.cgi?id=76447

Unreviewed gardening after r105513, update Qt specific results.

* platform/qt/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png:
* platform/qt/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt:
* platform/qt/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png:
* platform/qt/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt:
* platform/qt/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png:
* platform/qt/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt:
* platform/qt/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png:
* platform/qt/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt:
* platform/qt/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png:
* platform/qt/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt:
* platform/qt/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png:
* platform/qt/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt:
* platform/qt/svg/foreignObject/text-tref-02-b-expected.txt:
* platform/qt/svg/wicd/rightsizing-grid-expected.png:
* platform/qt/svg/wicd/rightsizing-grid-expected.txt:
* platform/qt/tables/mozilla/bugs/bug101674-expected.png:
* platform/qt/tables/mozilla/bugs/bug101674-expected.txt:
* platform/qt/tables/mozilla/bugs/bug86708-expected.png:
* platform/qt/tables/mozilla/bugs/bug86708-expected.txt:
* platform/qt/tables/mozilla_expected_failures/bugs/97619-expected.png:
* platform/qt/tables/mozilla_expected_failures/bugs/97619-expected.txt:

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

12 years ago[Qt] Trigger forcing accelerated compositing from the UI process side.
jocelyn.turcotte@nokia.com [Fri, 20 Jan 2012 16:24:29 +0000 (16:24 +0000)]
[Qt] Trigger forcing accelerated compositing from the UI process side.
https://bugs.webkit.org/show_bug.cgi?id=76296

Reviewed by Noam Rosenthal.

Some messages can be sent from the web view to the LayerTreeHost before
accelerated compositing is entered on the web process and signaled back.
By letting the UI process decide if AC has to be forced, we can create
the LayerTreeHostProxy earlier to send messages to the web process while
AC is being entered there.

This patch also fixes the flow of DidRenderFrame and RenderNextFrame messages
by setting the m_waitingForUIProcess flag properly and only send the
RenderNextFrame once the painting thread on the UI process is ready to paint.

This fixes the first visible content rect message not being received when
loading pages from the disk.

* Shared/WebPreferencesStore.h:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::flushLayerChanges):
(WebKit::LayerTreeHostProxy::didRenderFrame):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::DrawingAreaImpl):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::LayerTreeHostQt::performScheduledLayerFlush):
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::platformInitialize):

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

12 years ago2012-01-20 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Fri, 20 Jan 2012 15:56:38 +0000 (15:56 +0000)]
2012-01-20  Nikolas Zimmermann  <nzimmermann@rim.com>

        Differentiate between SVG/CSS width/height attributes/properties
        https://bugs.webkit.org/show_bug.cgi?id=76447

        Not reviewed. Rebaseline gtk results.

        * platform/gtk/fast/block/float/015-expected.txt:
        * platform/gtk/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt:
        * platform/gtk/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt:
        * platform/gtk/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt:
        * platform/gtk/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt:
        * platform/gtk/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt:
        * platform/gtk/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt:
        * platform/gtk/svg/custom/use-font-face-crash-expected.txt:
        * platform/gtk/svg/wicd/rightsizing-grid-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug101674-expected.txt:
        * platform/gtk/tables/mozilla/bugs/bug86708-expected.txt:
        * platform/gtk/tables/mozilla_expected_failures/bugs/97619-expected.txt:

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

12 years agoREGRESSION (r98852): apple.com navigation bar is broken under full-page zoom
zimmermann@webkit.org [Fri, 20 Jan 2012 15:51:53 +0000 (15:51 +0000)]
REGRESSION (r98852): apple.com navigation bar is broken under full-page zoom
https://bugs.webkit.org/show_bug.cgi?id=76249

Reviewed by Andreas Kling.

Source/WebCore:

Fix regression with full-page zoom & border-image. paintNinePieceImage() expects local, unzoomed coordinates.
Restore the behaviour as it was before r98852, fixing the regression.

Test: fast/borders/scaled-border-image.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintNinePieceImage):

LayoutTests:

Add new test covering zooming + border-image, which regressed.

* fast/borders/scaled-border-image.html: Added.
* platform/mac/fast/borders/scaled-border-image-expected.png: Added.
* platform/mac/fast/borders/scaled-border-image-expected.txt: Added.

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

12 years ago[CSSRegion]Expose DOM interface for WebKitCSSRegionRule
mihnea@adobe.com [Fri, 20 Jan 2012 15:33:21 +0000 (15:33 +0000)]
[CSSRegion]Expose DOM interface for WebKitCSSRegionRule
https://bugs.webkit.org/show_bug.cgi?id=73985

Reviewed by Antti Koivisto.

Source/WebCore:

Start by exposing the interface and the cssRules attribute of type CSSRuleList.
Test: fast/regions/webkit-region-rule.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS):
* bindings/objc/DOMCSS.mm:
(kitClass):
* bindings/v8/custom/V8CSSRuleCustom.cpp:
(WebCore::toV8):
* css/WebKitCSSRegionRule.cpp:
* css/WebKitCSSRegionRule.h:
* css/WebKitCSSRegionRule.idl:
* page/DOMWindow.idl:

LayoutTests:

Start by exposing the interface and the cssRules attribute of type CSSRuleList.

* fast/dom/Window/window-properties-expected.txt:
* fast/dom/Window/window-property-descriptors-expected.txt:
* fast/dom/prototype-inheritance-2-expected.txt:
* fast/regions/webkit-region-rule-expected.txt: Added.
* fast/regions/webkit-region-rule.html: Added.
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
* platform/gtk/fast/js/global-constructors-expected.txt:
* platform/mac/fast/dom/Window/window-properties-expected.txt:
* platform/mac/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/mac/fast/dom/prototype-inheritance-2-expected.txt:
* platform/mac/fast/js/global-constructors-expected.txt:
* platform/qt-arm/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/qt-wk2/fast/dom/Window/window-properties-expected.txt:
* platform/qt-wk2/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/qt-wk2/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/js/global-constructors-expected.txt:
* platform/win/fast/dom/Window/window-properties-expected.txt:
* platform/win/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/win/fast/dom/prototype-inheritance-2-expected.txt:
* platform/win/fast/js/global-constructors-expected.txt:

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

12 years agoDifferentiate between SVG/CSS width/height attributes/properties
zimmermann@webkit.org [Fri, 20 Jan 2012 15:30:17 +0000 (15:30 +0000)]
Differentiate between SVG/CSS width/height attributes/properties
https://bugs.webkit.org/show_bug.cgi?id=76447

Reviewed by Antti Koivisto.

Source/WebCore:

Remove a gazillion of hacks out of our SVG implementation, by correctly differentiating between the
SVG width/height attributes and the CSS width/height properties. They need to be treated independently
when handling the intrinsic size negotiation, according to both CSS 2.1 & SVG 1.1 2nd Edition specs.

Fixes several bugs in the LayoutTests/svg/custom/*object*sizing tests, we now match Opera perfectly. FF still has some bugs, and IE9 as well.

* css/svg.css: Remove hardcoded, width/height: 100% on <svg>.
* rendering/RenderBox.h:
(WebCore::RenderBox::computeIntrinsicRatioInformation): Make 'intrinsicRatio' a float, and add 'intrinsicSize' as seperated FloatSize, to avoid confusion.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): Add forgotton case for percentage intrinsic sizes, that lead to workarounds in other places, that can now be removed.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::computeReplacedLogicalWidth): Directly use imageHasRelativeWidth/Height(), it does differentiate between SVG/CSS width/height attributes/properties now.
(WebCore::RenderImage::computeIntrinsicRatioInformation): Adapt to 'intrinsicRatio' argument change.
* rendering/RenderImage.h: Ditto.
* rendering/RenderReplaced.cpp: Refactor existing code, break out firstContainingBlockWithLogicalWidth/hasReplacedLogicalWidth/hasReplacedLogicalHeight/hasAutoHeightOrContainingBlockWithAutoHeight.
(WebCore::firstContainingBlockWithLogicalWidth): Refactored.
(WebCore::RenderReplaced::hasReplacedLogicalWidth): Refactored, and exported, so SVGSVGElement::widthAttributeEstablishesViewport() can use it.
(WebCore::hasAutoHeightOrContainingBlockWithAutoHeight): Refactored.
(WebCore::RenderReplaced::hasReplacedLogicalHeight): Refactored, and exported, so SVGSVGElement::heightAttributeEstablishesViewport() can use it.
(WebCore::RenderReplaced::computeReplacedLogicalWidth): Adapt to 'intrinsicRatio' changes ('intrinsicSize' is now decoupled from it). Refactor so that RenderSVGRoot can directly use it as well!
(WebCore::RenderReplaced::computeReplacedLogicalHeight): Ditto.
* rendering/RenderReplaced.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation): Only determine the intrinsic size & ratio using the SVG width/height attributes, not the CSS width/height properties, as it's specified.
(WebCore::resolveLengthAttributeForSVG): Helper function for computeReplacedLogicalWidth/Height, that scales Length values that come from SVG width/height attributes.
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Finally remove home-brewn size computation logic - it can be fully shared with RenderReplaced now that we inherit from it.
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGViewportContainer.h:
(WebCore::RenderSVGViewportContainer::viewport): Export viewport() for easier length resolution.
* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport): Finally clean up this hell, and make it easy to understand. Only need to resolve lengths against either RenderSVGRoot or RenderSVGViewportContainer now.
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::viewport): Remove wrong code and disable this. Its not used, and we have no test coverage for it. Its current implementation didn't make any sense.
(WebCore::SVGSVGElement::parseMappedAttribute): Remove hacks mapping SVG width/height attributes to CSS properties.
(WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
(WebCore::SVGSVGElement::localCoordinateSpaceTransform): Refactored.
(WebCore::SVGSVGElement::currentViewBoxRect): Ditto.
(WebCore::SVGSVGElement::currentViewportSize): Ditto.
(WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Main logic determining if the SVG or CSS properties establish the viewport -  a direct transliteration from the spec.
(WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Ditto.
(WebCore::SVGSVGElement::intrinsicWidth): Helper.
(WebCore::SVGSVGElement::intrinsicHeight): Ditto.
* svg/SVGSVGElement.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::size): Cleanup code.
(WebCore::SVGImage::hasRelativeWidth): Added, avoids hacks in RenderBoxModelObject.
(WebCore::SVGImage::hasRelativeHeight): Ditto.
(WebCore::SVGImage::computeIntrinsicDimensions): Make use of new SVGSVGElement::computeIntrinsicDimensions.
* svg/graphics/SVGImage.h:

LayoutTests:

Update SVG pixel test baseline.

* platform/mac/svg/custom/dynamic-empty-path-expected.png: Marginal changes.
* platform/mac/svg/custom/fractional-rects-expected.png: Ditto.
* platform/mac/svg/custom/js-update-container-expected.png: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png: Align with Opera, gives same result now. All *object*sizing* tests are passing now.
* platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png: Ditto.
* platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Ditto.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png: Ditto.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Ditto.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png: Ditto.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Ditto.
* platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.png: Marginal changes.
* platform/mac/svg/custom/viewBox-hit-expected.png: Ditto.
* platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-background-image-tiled-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-background-images-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.png: Ditto.
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png: Ditto.
* platform/mac/tables/mozilla/bugs/bug101674-expected.png: Ditto.
* platform/mac/tables/mozilla/bugs/bug101674-expected.txt: Ditto.
* platform/mac/tables/mozilla/bugs/bug86708-expected.png: Ditto.
* platform/mac/tables/mozilla/bugs/bug86708-expected.txt: Ditto.
* platform/mac/tables/mozilla_expected_failures/bugs/97619-expected.png: Ditto.
* platform/mac/tables/mozilla_expected_failures/bugs/97619-expected.txt: Ditto.
* svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml: Fix test, now that our bug is fixed.
* svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml: Ditto.
* svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml: Ditto.
* svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml: Ditto.
* svg/foreignObject/text-tref-02-b-expected.txt: Size is not reported anymore.

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

12 years agowindow.innerWidth/Height should not include page scale
commit-queue@webkit.org [Fri, 20 Jan 2012 15:03:23 +0000 (15:03 +0000)]
window.innerWidth/Height should not include page scale
https://bugs.webkit.org/show_bug.cgi?id=76555

Source/WebCore:

The DOM attributes window.innerWidth and window.innerHeight should be in
CSS pixels instead of device pixels. Currently the text zoom factor is
cancelled out when calculating these values, but the same also needs to
be done for the page scale.

There is an additional subtlety concerning frames/iframes since their
visible content rectangle is already in (unscaled) CSS pixels. By using
Frame::frameScaleFactor() we avoid unnecessarily cancelling out the page
scale factor in this case.

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-01-20
Reviewed by Kenneth Rohde Christiansen.

Tests: fast/dom/iframe-inner-size-scaling.html
       fast/dom/window-inner-size-scaling.html

* page/DOMWindow.cpp:
(WebCore::DOMWindow::innerHeight):
(WebCore::DOMWindow::innerWidth):

LayoutTests:

Add two tests for window.innerWidth and window.innerHeight interaction
with page scaling.

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-01-20
Reviewed by Kenneth Rohde Christiansen.

* fast/dom/iframe-inner-size-scaling-expected.txt: Added.
* fast/dom/iframe-inner-size-scaling.html: Added.
* fast/dom/window-inner-size-scaling-expected.txt: Added.
* fast/dom/window-inner-size-scaling.html: Added.
* fast/frames/frame-set-rotation-hit.html: Calculate the panel height before changing the page scale, because the visual viewport changes with the page scale.
* fast/frames/frame-set-scaling-hit.html: Ditto.

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

12 years ago[Qt] animations tests fails which uses suspend/resume
ossy@webkit.org [Fri, 20 Jan 2012 14:53:33 +0000 (14:53 +0000)]
[Qt] animations tests fails which uses suspend/resume
https://bugs.webkit.org/show_bug.cgi?id=43905

Patch by Alexis Menard <alexis.menard@openbossa.org> on 2012-01-20
Reviewed by Csaba Osztrogonác.

They seem to pass correctly on my machine.

* platform/qt/Skipped:
* platform/qt/animations/additive-transform-animations-expected.txt: Added.

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

12 years agonew baselines for crbug 110493
commit-queue@webkit.org [Fri, 20 Jan 2012 14:49:48 +0000 (14:49 +0000)]
new baselines for crbug 110493
https://bugs.webkit.org/show_bug.cgi?id=76629

Patch by Elliot Poger <epoger@google.com> on 2012-01-20
Reviewed by Dirk Pranke.

* platform/chromium-linux/fast/borders/border-image-rotate-transform-expected.png:
* platform/chromium-linux/svg/custom/focus-ring-expected.png:
* platform/chromium-mac-leopard/svg/custom/focus-ring-expected.png:
* platform/chromium-mac-leopard/svg/transforms/animated-path-inside-transformed-html-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/borders/border-image-rotate-transform-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/focus-ring-expected.png:
* platform/chromium-mac-snowleopard/svg/transforms/animated-path-inside-transformed-html-expected.png: Added.
* platform/chromium-win/fast/borders/border-image-rotate-transform-expected.png:
* platform/chromium-win/svg/custom/focus-ring-expected.png:
* platform/chromium/test_expectations.txt:

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

12 years agoUnreviewed; Windows buildbot update failure fix.
kinuko@chromium.org [Fri, 20 Jan 2012 14:29:04 +0000 (14:29 +0000)]
Unreviewed; Windows buildbot update failure fix.

* ../ManualTests/data-transfer-items-file-dragout.html: Removed the notion of test:lorem-text.html.
* ../ManualTests/resources/test:lorem-text.html: Removed as this doesn't work on Windows.

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

12 years agoUnreviewed gardening. Skip failing tests.
ossy@webkit.org [Fri, 20 Jan 2012 12:36:55 +0000 (12:36 +0000)]
Unreviewed gardening. Skip failing tests.

* platform/qt-wk2/Skipped: Skip tests because of https://bugs.webkit.org/show_bug.cgi?id=76699
* platform/wk2/Skipped: Skip a test because of missing layoutTestController.setEditingBehavior

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

12 years agoWeb Inspector: [chromium] add WebDevToolsFrontendClient::openInNewTab for upcoming...
pfeldman@chromium.org [Fri, 20 Jan 2012 12:31:01 +0000 (12:31 +0000)]
Web Inspector: [chromium] add WebDevToolsFrontendClient::openInNewTab for upcoming WebCore change.
https://bugs.webkit.org/show_bug.cgi?id=76698

Reviewed by Yury Semikhatsky.

* public/WebDevToolsFrontendClient.h:
(WebKit::WebDevToolsFrontendClient::openInNewTab):

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

12 years agoAdd DataTransferItems support for drag-and-drop'ed files and texts
kinuko@chromium.org [Fri, 20 Jan 2012 12:08:56 +0000 (12:08 +0000)]
Add DataTransferItems support for drag-and-drop'ed files and texts
https://bugs.webkit.org/show_bug.cgi?id=76367

Reviewed by Tony Chang.

WebKit-svn:

* ManualTests/data-transfer-items-file-dragout.html: Added.
* ManualTests/resources/test:lorem-text.html: Added.

WebKit-svn/LayoutTests:

* editing/pasteboard/data-transfer-items-drag-drop-file-expected.txt: Added.
* editing/pasteboard/data-transfer-items-drag-drop-file.html: Added.
* editing/pasteboard/data-transfer-items-drag-drop-string-expected.txt: Added.
* editing/pasteboard/data-transfer-items-drag-drop-string.html: Added.
* platform/gtk/Skipped: Added the new tests as the platform does not support dataTransferItems yet.
* platform/mac/Skipped: Ditto.
* platform/qt/Skipped: Ditto.
* platform/win/Skipped: Ditto.

WebKit-svn/Source/WebCore:

Per http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-datatransfer-interface
the new interface should also support drag-and-dropped files and texts in
addition to pasted texts/images.  The user apps should also be able to add
texts/files to the drag store by calling event.dataTransfer.items.add().

This patch adds drag-and-drop'ed items support in DataTransferItem and
DataTransferItemList so that they work for dropped files and texts (as well as
the copy-pasted texts/images).

This patch also adds customized toJS()/toV8() code to Blob/File javascript
binding so that the JS code can get either Blob or File underlying object
where the API returns Blob. This change is necessary since we return Blob
from DataTransferItem.getAsFile() for pasted images but want to return File
for dropped files.

Tests: editing/pasteboard/data-transfer-items-drag-drop-file.html
       editing/pasteboard/data-transfer-items-drag-drop-string.html

* GNUmakefile.list.am: Added entries for the new {JS,V8}BlobCustom.
* Target.pri: Ditto.
* UseJSC.cmake: Ditto.
* WebCore.gypi: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.
* bindings/js/JSBlobCustom.cpp: Added toJS custom code that returns File or
Blob depending on the return value of isFile().
(WebCore::toJS):
* bindings/v8/custom/V8BlobCustom.cpp: Added toV8 custom code.
(WebCore::toV8):
* dom/DataTransferItem.h: Added a new create() method which takes File.
* dom/DataTransferItemList.cpp: Added add(File) method.
(WebCore::DataTransferItemList::add):
* dom/DataTransferItemList.h: Ditto.
* dom/DataTransferItemList.idl: Ditto.
* fileapi/Blob.idl: Added CustomToJS for toJS/toV8.
* platform/chromium/ClipboardChromium.cpp: Added code for drag-and-drop'ed items.
(WebCore::ClipboardChromium::items): Revised.
(WebCore::ClipboardChromium::mayUpdateItems): Added.
(WebCore::ClipboardChromium::isStorageUpdated): Added.
* platform/chromium/ClipboardChromium.h:
* platform/chromium/DataTransferItemChromium.cpp: Added a new constructor that
takes File and updated getAsFile() to make it support dropped files.
(WebCore::DataTransferItem::create):
(WebCore::DataTransferItemChromium::DataTransferItemChromium):
(WebCore::DataTransferItemChromium::getAsFile):
* platform/chromium/DataTransferItemChromium.h:
* platform/chromium/DataTransferItemListChromium.cpp:
(WebCore::DataTransferItemListChromium::addInternalItem):
* platform/chromium/DataTransferItemListChromium.cpp: Added overrides implementation for m_item accessors to make them reflect the changes in the owner clipboard.
(WebCore::DataTransferItemListChromium::length):
(WebCore::DataTransferItemListChromium::item):
(WebCore::DataTransferItemListChromium::deleteItem):
(WebCore::DataTransferItemListChromium::clear):
(WebCore::DataTransferItemListChromium::add):
(WebCore::DataTransferItemListChromium::mayUpdateItems): Added.
* platform/qt/DataTransferItemQt.cpp: Added a new constructor that takes File and updated
getAsFile() to make it support dropped files.
(WebCore::DataTransferItem::create):
(WebCore::DataTransferItemQt::DataTransferItemQt):
(WebCore::DataTransferItemQt::getAsFile):
* platform/qt/DataTransferItemQt.h:

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

12 years ago[Gtk] Unreviewed, unskipping test passing after r105286.
mario@webkit.org [Fri, 20 Jan 2012 11:43:35 +0000 (11:43 +0000)]
[Gtk] Unreviewed, unskipping test passing after r105286.

* platform/gtk/Skipped: Unskip test.

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

12 years agoUnreviewed, rolling out r105497.
commit-queue@webkit.org [Fri, 20 Jan 2012 11:39:41 +0000 (11:39 +0000)]
Unreviewed, rolling out r105497.
http://trac.webkit.org/changeset/105497
https://bugs.webkit.org/show_bug.cgi?id=76696

Leaking in Qt layout tests and timing out in GTK API tests.
(Requested by jturcotte on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-20

* Shared/WebPreferencesStore.h:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::DrawingAreaImpl):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::platformInitialize):

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

12 years ago[GTK] Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs
mario@webkit.org [Fri, 20 Jan 2012 11:29:36 +0000 (11:29 +0000)]
[GTK] Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs
https://bugs.webkit.org/show_bug.cgi?id=72589

Reviewed by Martin Robinson.

.:

New optional dependency for WK2's accessibility unit test: AT-SPI2.

* configure.ac: Check for AT-SPI2 when building with WK2 support.

Source/WebKit2:

Expose the accessibility hierarchy in the multi-process
architecture of WK2 through AtkSocket and AtkPlug.

Make the WebView widget return an AtkSocket when calling to
gtk_widget_get_accessible().

* GNUmakefile.am: Add new files.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkit_web_view_base_init):
(webkitWebViewBaseGetAccessible):
(webkit_web_view_base_class_init):
* UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Added.
(webkitWebViewBaseAccessibleWidgetFinalize):
(webkitWebViewBaseAccessibleWidgetDestroyed):
(webkitWebViewBaseAccessibleInitialize):
(webkitWebViewBaseAccessibleRefStateSet):
(webkitWebViewBaseAccessibleGetIndexInParent):
(webkit_web_view_base_accessible_init):
(webkit_web_view_base_accessible_class_init):
(webkitWebViewBaseAccessibleNew):
* UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Added.

Make the WebPage create an AtkPlug on its initialization and
sending the ID of that plug to the UI process, so it can embed the
plug in the socket.

Also, take care of all the needed wrapping around the WebCore's
accessibility objects, exposing them in the UI process's
accessibility hierarchy thanks to the socket-plug connection.

* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::accessibilityPlugID):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::bindAccessibilityTree):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp: Added.
(accessibilityRootObjectWrapper):
(webPageAccessibilityObjectInitialize):
(webPageAccessibilityObjectGetIndexInParent):
(webPageAccessibilityObjectGetNChildren):
(webPageAccessibilityObjectRefChild):
(web_page_accessibility_object_init):
(web_page_accessibility_object_class_init):
(webPageAccessibilityObjectNew):
(webPageAccessibilityObjectRefresh):
* WebProcess/WebPage/gtk/WebPageAccessibilityObject.h: Added.
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::updateAccessibilityTree):

New unit test for checking accessibility support in WK2GTK.

* UIProcess/API/gtk/tests/AccessibilityTestServer.cpp: Added.
(loadChangedCallback): Notify the parent process (the test)
when ready.
(main):
* UIProcess/API/gtk/tests/GNUmakefile.am:
* UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp: Added.
(stopTestServer):
(sigAbortHandler):
(testServerMonitorThreadFunc):
(startTestServerMonitor):
(startTestServer):
(checkAtspiAccessible):
(findTestServerApplication):
(testAtspiBasicHierarchy):
(beforeAll):
(afterAll):

Tools:

Ensure the accessibility infrastructure is available when running
the unit tests, otherwise WK2's accessibility tests won't work.

* Scripts/run-gtk-tests:
(TestRunner):
(TestRunner._lookup_atspi2_binary): New. Looks for the directory
where at-spi2's stuff is located (like at-spi-bus-launcher and
at-spi2-registryd).
(TestRunner.run): Initialize the accessibility infrastructure.

* gtk/generate-gtkdoc:
(get_webkit2_options): Add 'WebKitWebViewBaseAccessible.*'.

* gtk/jhbuild.modules: Added at-spi2-core and at-spi2-atk.

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

12 years agoremove CSSBorderImageValue
alexis.menard@openbossa.org [Fri, 20 Jan 2012 11:10:54 +0000 (11:10 +0000)]
remove CSSBorderImageValue
https://bugs.webkit.org/show_bug.cgi?id=75563

Reviewed by Tony Chang.

Source/WebCore:

Remove CSSBorderImageValue as border-image is a shorthand therefore we don't
need a dedicated CSS class type for it. CSSBorderImageValue was here for
-webkit-border-image which is not a shorthand. This is the first step to move border-image
close to a correct shorthand implementation while keeping -webkit-border-image being a regular
CSS property.

No new tests : It's a refactor, existing tests should cover it.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
* css/CSSBorderImage.cpp: Added.
(WebCore::createBorderImageValue):
* css/CSSBorderImage.h: Added.
* css/CSSBorderImageValue.cpp: Removed.
* css/CSSBorderImageValue.h: Removed.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForNinePieceImage):
* css/CSSParser.cpp:
(WebCore::BorderImageParseContext::commitBorderImage):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::mapNinePieceImage):
* css/CSSValue.cpp:
(WebCore::CSSValue::addSubresourceStyleURLs):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
* css/CSSValue.h:

LayoutTests:

Modify the expected output as now border-image is a CSSValueList.

* fast/css/getComputedStyle/getComputedStyle-border-image-expected.txt:

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

12 years agoAdd ShadowRoot.idl which is enabled by newly introduced SHADOW_DOM flag.
hayato@chromium.org [Fri, 20 Jan 2012 10:29:14 +0000 (10:29 +0000)]
Add ShadowRoot.idl which is enabled by newly introduced SHADOW_DOM flag.
https://bugs.webkit.org/show_bug.cgi?id=76353

Reviewed by Hajime Morita.

Add ShadowRoot.idl, which is enabled only on chromium port since this is
under development feature.
ShadowRoot.idl contains minimum API so that we can test it.
Other APIs should be added on other changes so that we can isolate issues.

Source/WebCore:

Test: fast/dom/shadow/shadow-root-js-api.html

* WebCore.gypi:
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::shadowDOMEnabled):
(WebCore::RuntimeEnabledFeatures::setShadowDOMEnabled):
* dom/ShadowRoot.h:
(WebCore::ShadowRoot::host):
* dom/ShadowRoot.idl: Added.
* testing/Internals.cpp:
(WebCore::Internals::ensureShadowRoot):
(WebCore::Internals::shadowRoot):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit/chromium:

* features.gypi:
* public/WebRuntimeFeatures.h:
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableShadowDOM):
(WebKit::WebRuntimeFeatures::isShadowDOMEnabled):

Tools:

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):

LayoutTests:

* fast/dom/shadow/shadow-root-js-api-expected.txt: Added.
* fast/dom/shadow/shadow-root-js-api.html: Added.
* platform/efl/Skipped:
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:

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

12 years ago[Qt] Public API watch dog auto test.
jocelyn.turcotte@nokia.com [Fri, 20 Jan 2012 10:04:30 +0000 (10:04 +0000)]
[Qt] Public API watch dog auto test.
https://bugs.webkit.org/show_bug.cgi?id=73922

Reviewed by Simon Hausmann.

This test aims to prevent unintended/unapproved
modifications to the public QML API.

.:

* Source/tests.pri:

Source/WebKit2:

* UIProcess/API/qt/tests/publicapi/publicapi.pro: Added.
* UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: Added.
(isCheckedEnum):
(isCheckedClass):
(checkKnownType):
(gatherAPI):
(tst_publicapi::publicAPI):

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

12 years ago[Qt] Trigger forcing accelerated compositing from the UI process side.
jocelyn.turcotte@nokia.com [Fri, 20 Jan 2012 10:02:53 +0000 (10:02 +0000)]
[Qt] Trigger forcing accelerated compositing from the UI process side.
https://bugs.webkit.org/show_bug.cgi?id=76296

Reviewed by Noam Rosenthal.

Some messages can be sent from the web view to the LayerTreeHost before
accelerated compositing is entered on the web process and signaled back.
By letting the UI process decide if AC has to be forced, we can create
the LayerTreeHostProxy earlier to send messages to the web process while
AC is being entered there.

This fixes the first visible content rect message not being received when
loading pages from the disk.

* Shared/WebPreferencesStore.h:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::DrawingAreaImpl):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::platformInitialize):

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

12 years ago[GTK] GTK's DRT not to log events for already defunct objects
mario@webkit.org [Fri, 20 Jan 2012 09:57:24 +0000 (09:57 +0000)]
[GTK] GTK's DRT not to log events for already defunct objects
https://bugs.webkit.org/show_bug.cgi?id=76620

Reviewed by Martin Robinson.

Do not log 'state-change:defunct' events.

* DumpRenderTree/gtk/AccessibilityCallbacks.cpp:
(printAccessibilityEvent): Early return if a
'state-change:defunct' signal is passed.
(axObjectEventListener): Pass the signal name and value in
separate parameters to printAccessibilityEvent.

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

12 years agoundefined reference to symbol eina_module_free
commit-queue@webkit.org [Fri, 20 Jan 2012 09:39:00 +0000 (09:39 +0000)]
undefined reference to symbol eina_module_free
https://bugs.webkit.org/show_bug.cgi?id=76681

Patch by ChangSeok Oh <shivamidow@gmail.com> on 2012-01-20
Reviewed by Martin Robinson.

eina_module_free has been used without including eina libraries after r104936.

* wtf/PlatformEfl.cmake: Add EINA_LIBRARIES.

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

12 years agoEach style rule should have its own ID.
tkent@chromium.org [Fri, 20 Jan 2012 09:23:02 +0000 (09:23 +0000)]
Each style rule should have its own ID.
https://bugs.webkit.org/show_bug.cgi?id=76428

Reviewed by David Levin.

* coding/coding-style.html: Add an id attribute to each of li elements,
and add code to set title="#id-name" and to make li elements clickable.

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

12 years ago[Qt] Unreviewed gardening after r105486.
ossy@webkit.org [Fri, 20 Jan 2012 09:12:49 +0000 (09:12 +0000)]
[Qt] Unreviewed gardening after r105486.

* platform/qt/fast/dom/constructed-objects-prototypes-expected.txt:
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/js/global-constructors-expected.txt:

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

12 years ago[Qt] Unreviewed gardening. Skip a new failing test.
ossy@webkit.org [Fri, 20 Jan 2012 09:05:17 +0000 (09:05 +0000)]
[Qt] Unreviewed gardening. Skip a new failing test.

* platform/qt/Skipped:

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

12 years ago[chromium] Chromium should have EditorClientImpl::checkTextOfParagraph.
commit-queue@webkit.org [Fri, 20 Jan 2012 08:59:14 +0000 (08:59 +0000)]
[chromium] Chromium should have EditorClientImpl::checkTextOfParagraph.
https://bugs.webkit.org/show_bug.cgi?id=74071

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-20
Reviewed by Darin Fisher.

Spellchecker on Mac has more sophisticated interface for spellchecking (checkTextOfParagraph).
If the other ports have the same interface, code can be clearer and easy to extend.
This patch introduces such an interface. The implementation will be done not in WebKit but in Chromium.

Also, currently WebKit::WebTextCheckingResult and WebCore::TextCheckingResult have different forms.
They should be corresponding apparently. This patch introduces such correspondence.

* WebKit.gyp:
* public/WebSpellCheckClient.h:
(WebKit::WebSpellCheckClient::checkTextOfParagraph):
  A new interface for spellchecking.
* public/WebTextCheckingResult.h:
(WebKit::WebTextCheckingResult::WebTextCheckingResult):
  Changed so that WebTextCheckingResult corresponds to WebCore::TextCheckingResult.
* public/WebTextCheckingType.h: Copied from Source/WebKit/chromium/public/WebTextCheckingResult.h.
* src/AssertMatchingEnums.cpp:
* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::checkTextOfParagraph):
* src/EditorClientImpl.h:
* src/WebTextCheckingResult.cpp: Copied from Source/WebKit/chromium/public/WebTextCheckingResult.h.
(WebKit::WebTextCheckingResult::operator TextCheckingResult):

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

12 years agoChange LocalizedNumber interface
tkent@chromium.org [Fri, 20 Jan 2012 08:47:22 +0000 (08:47 +0000)]
Change LocalizedNumber interface
https://bugs.webkit.org/show_bug.cgi?id=76613

Reviewed by Hajime Morita.

Change the functions of LocalizedNumber from:
  double parseLocalizedNumber(const String&);
  String formatLocalizedNumber(double, unsigned fractionDigits);
To:
  String convertToLocalizedNumber(const String&, usnigned fractionDigits);
  String convertFromLocalizedNumber(const String&);
in order that we can avoid conversion from/to a double value.

The fractionDigits argumetn of convertToLocalizedNumber() will be
removed in the future.  We need it because we'd like to recycle the old
functions to implement new functions for now and functions in
LocalizedNumber can't call functions in HTMLParserIdioms.cpp.

No new tests because the change doesn't make any behavior change.

* html/NumberInputType.cpp:
(WebCore::NumberInputType::visibleValue):
Use convertToLocalizedNumber.
(WebCore::NumberInputType::convertFromVisibleValue):
Use convertFromLocalizedNumber.
(WebCore::NumberInputType::isAcceptableValue): ditto.
* platform/text/LocalizedNumber.h:
Remove parseLocalizedNumber and formatLocalizedNumber, and
introduce convertToLocalizedNumber and convertFromLocalizedNumber.
* platform/text/LocalizedNumberICU.cpp:
(WebCore::parseLocalizedNumber): Make this static.
(WebCore::formatLocalizedNumber): Make this static.
(WebCore::convertToLocalizedNumber): Implement this with formatLocalizedNumber.
(WebCore::convertFromLocalizedNumber): Implement this with parseLocalizedNumber.
* platform/text/LocalizedNumberNone.cpp:
(WebCore::convertToLocalizedNumber):
Implement this as a function returning the input string.
(WebCore::convertFromLocalizedNumber): ditto.
* platform/text/mac/LocalizedNumberMac.mm:
(WebCore::parseLocalizedNumber): Make this static.
(WebCore::formatLocalizedNumber): Make this static.
(WebCore::convertToLocalizedNumber): Implement this with formatLocalizedNumber.
(WebCore::convertFromLocalizedNumber): Implement this with parseLocalizedNumber.

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

12 years ago[chromium] WebFrame should have an interface to invoke spellchecking in arbitrarily.
commit-queue@webkit.org [Fri, 20 Jan 2012 08:42:30 +0000 (08:42 +0000)]
[chromium] WebFrame should have an interface to invoke spellchecking in arbitrarily.
https://bugs.webkit.org/show_bug.cgi?id=73971

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-20
Reviewed by Darin Fisher.

This interface is necessary to recheck spelling of an arbitrary element.

* public/WebFrame.h:
* public/WebNode.h:
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::requestTextChecking):
  Requests spellchecking for the element having current selection.
* src/WebFrameImpl.h:
* src/WebNode.cpp:
(WebKit::WebNode::rootEditableElement):
  Takes a root editable element from Node.

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

12 years agoWeb Inspector: problem with Ctrl - <arrows> shortcuts in Scripts panel
pfeldman@chromium.org [Fri, 20 Jan 2012 08:26:49 +0000 (08:26 +0000)]
Web Inspector: problem with Ctrl - <arrows> shortcuts in Scripts panel
https://bugs.webkit.org/show_bug.cgi?id=76622

Reviewed by Yury Semikhatsky.

* inspector/front-end/InspectorView.js:
(WebInspector.InspectorView.prototype._keyDown):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype.set readOnly):
(WebInspector.TextViewer.prototype._cancelEditing):
(WebInspector.TextViewer.prototype.wasShown):
(WebInspector.TextViewer.prototype.willHide):
* inspector/front-end/UIUtils.js:
(WebInspector.isInEditMode):
* inspector/front-end/inspector.js:
(WebInspector.documentKeyDown):

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

12 years agoUnreviewed, test results rebaseline after r105457.
philn@webkit.org [Fri, 20 Jan 2012 08:04:44 +0000 (08:04 +0000)]
Unreviewed, test results rebaseline after r105457.

* fast/canvas/canvas-webkitLineDash-expected.txt:

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

12 years agoSource/WebCore: Migrate createObjectURL & revokeObjectURL to static (Class) methods.
arv@chromium.org [Fri, 20 Jan 2012 08:00:11 +0000 (08:00 +0000)]
Source/WebCore: Migrate createObjectURL & revokeObjectURL to static (Class) methods.
https://bugs.webkit.org/show_bug.cgi?id=74386

Reviewed by Adam Barth.

Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
Already Existing -
    fast/files/revoke-blob-url.html
    fast/dom/window-domurl-crash.html
    fast/files/apply-blob-url-to-img.html
    fast/files/create-blob-url-crash.html
    fast/files/workers/inline-worker-via-blob-url.html

* html/DOMURL.cpp: Added HashMap for local static objects.
(WebCore::PublicURLManager::PublicURLManager):
(WebCore::PublicURLManager::contextDestroyed):
(WebCore::PublicURLManager::blobURLs):
(WebCore::PublicURLManager::streamURLs):
(WebCore::publicURLManagerMap):
(WebCore::publicURLManager):
(WebCore::publicBlobURLs):
(WebCore::publicStreamURLs):
(WebCore::DOMURL::createObjectURL): Changed to static.
(WebCore::DOMURL::revokeObjectURL): ditto.
* html/DOMURL.h:
(WebCore::DOMURL::create):
(WebCore::DOMURL::~DOMURL):
(WebCore::DOMURL::DOMURL):
* html/DOMURL.idl:
* page/DOMWindow.cpp: Removed object initialization for DOMURL.
* page/DOMWindow.h: ditto.
* page/DOMWindow.idl: ditto.
* workers/WorkerContext.cpp: ditto.
* workers/WorkerContext.h: ditto.
* workers/WorkerContext.idl: ditto.

LayoutTests: Migrate createObjectURL & revokeObjectURL to static (Class) methods
https://bugs.webkit.org/show_bug.cgi?id=74386

Reviewed by Adam Barth.

Added test to check if createObjectURL & revokeObjectURL are static functions.

* fast/dom/DOMURL: Added.
* fast/dom/DOMURL/check-instanceof-domurl-functions-expected.txt: Added.
* fast/dom/DOMURL/check-instanceof-domurl-functions.html: Added.

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

12 years agoSource/WebCore: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at...
achicu@adobe.com [Fri, 20 Jan 2012 07:45:46 +0000 (07:45 +0000)]
Source/WebCore: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Added setCSSCustomFilterEnabled/isCSSCustomFilterEnabled that is false by default.
I've enabled it by default on Apple Mac, to make sure there's no behavior change. Anyway, CSS shaders need
WebGL enabled, so it ends up being disabled by default.

Reviewed by Nikolas Zimmermann.

Test: css3/filters/effect-custom-disabled.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFilter):
    Do not parse the custom() function when shaders are disabled.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
    Do not overwrite the old style->filter() if parsing fails.

(WebCore::CSSStyleSelector::createFilterOperations):
    Do not continue if one custom() filter fails to parse.

* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setCSSCustomFilterEnabled):
(WebCore::Settings::isCSSCustomFilterEnabled):
* rendering/FilterEffectRenderer.cpp:
(WebCore::isCSSCustomFilterEnabled):
(WebCore::FilterEffectRenderer::build):
    Avoid creating the filter when shaders are disabled. It may happen to get here if shaders were disabled between parsing and rendering.

Source/WebKit/mac: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Added private WebPreference property called "WebKitCSSCustomFilterEnabled".

Reviewed by Nikolas Zimmermann.

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

Source/WebKit2: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Reviewed by Nikolas Zimmermann.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetCSSCustomFilterEnabled):
(WKPreferencesGetCSSCustomFilterEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

LayoutTests: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Reviewed by Nikolas Zimmermann.

* css3/filters/effect-custom-disabled-expected.txt: Added.
* css3/filters/effect-custom-disabled.html: Added.
* css3/filters/script-tests/effect-custom-disabled.js: Added.
(testInvalidFilterRule):
* platform/wk2/Skipped:
    Skipped a couple of tests that call overridePreference.

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

12 years agoNode::canHaveLightChildRendererWithShadow is not used anywhere.
commit-queue@webkit.org [Fri, 20 Jan 2012 07:18:58 +0000 (07:18 +0000)]
Node::canHaveLightChildRendererWithShadow is not used anywhere.
https://bugs.webkit.org/show_bug.cgi?id=76627

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-19
Reviewed by Darin Adler.

Since Node::canHaveLightChildRendererWithShadow is not overriden anywhere, and it returns always false.
We can remove it.

No new tests, because no change in behavior.

* dom/Node.h:
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::shouldCreateRenderer):

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

12 years agoCleanup: make constant variable names in fileapi/ conform to WebKit's coding guideline
kinuko@chromium.org [Fri, 20 Jan 2012 06:39:21 +0000 (06:39 +0000)]
Cleanup: make constant variable names in fileapi/ conform to WebKit's coding guideline
https://bugs.webkit.org/show_bug.cgi?id=76625

Reviewed by David Levin.

Source/WebCore:

No new tests as this patch has no functional changes.

* fileapi/BlobURL.cpp:
(WebCore::BlobURL::getIdentifier):
(WebCore::BlobURL::createBlobURL):
* fileapi/BlobURL.h:
* fileapi/FileWriter.cpp:
(WebCore::FileWriter::write):
(WebCore::FileWriter::truncate):
* platform/AsyncFileSystem.cpp:
(WebCore::AsyncFileSystem::crackFileSystemURL):
(WebCore::AsyncFileSystem::toURL):
(WebCore::AsyncFileSystem::isAvailable):
* platform/AsyncFileSystem.h:

Source/WebKit/chromium:

Also removing (almost) duplicated implementation of AsyncFileSystem::crackFileSystem.

* src/AsyncFileSystemChromium.cpp:

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

12 years agoUnreviewed: add layout test to Chromium test_expectations.txt file after changes...
rolandsteiner@chromium.org [Fri, 20 Jan 2012 05:25:53 +0000 (05:25 +0000)]
Unreviewed: add layout test to Chromium test_expectations.txt file after changes to Mac underline drawing.

* platform/chromium/test_expectations.txt:

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

12 years agoVersioning.
lforschler@apple.com [Fri, 20 Jan 2012 04:54:05 +0000 (04:54 +0000)]
Versioning.

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

12 years agoRemove "Safari 5.1 shipped" text from debugging instructions; move misplaced </ol>
dbates@webkit.org [Fri, 20 Jan 2012 03:36:43 +0000 (03:36 +0000)]
Remove "Safari 5.1 shipped" text from debugging instructions; move misplaced </ol>

Rubber-stamped by Sam Weinig.

* building/debug.html:

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

12 years agoReplace improper #import with an #include.
weinig@apple.com [Fri, 20 Jan 2012 03:22:39 +0000 (03:22 +0000)]
Replace improper #import with an #include.

* UIProcess/Plugins/PluginProcessProxy.cpp:
Fixes warnings.

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

12 years agoMove RunLoop to WebCore/platform
weinig@apple.com [Fri, 20 Jan 2012 03:04:51 +0000 (03:04 +0000)]
Move RunLoop to WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=76471

Reviewed by Anders Carlsson.

Source/WebCore:

* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Add newly moved files.

* platform/RunLoop.cpp: Moved from Source/WebKit2/Platform/RunLoop.cpp.
* platform/RunLoop.h: Moved from Source/WebKit2/Platform/RunLoop.h.
* platform/gtk/RunLoopGtk.cpp: Moved from Source/WebKit2/Platform/gtk/RunLoopGtk.cpp.
* platform/mac/RunLoopMac.mm: Moved from Source/WebKit2/Platform/mac/RunLoopMac.mm.
* platform/qt/RunLoopQt.cpp: Moved from Source/WebKit2/Platform/qt/RunLoopQt.cpp.
* platform/win/RunLoopWin.cpp: Moved from Source/WebKit2/Platform/win/RunLoopWin.cpp.
Move the files.

Source/WebKit2:

* GNUmakefile.am:
* Platform/CoreIPC/Connection.cpp:
* Platform/CoreIPC/Connection.h:
* Platform/CoreIPC/mac/ConnectionMac.cpp:
* PluginProcess/PluginControllerProxy.h:
* PluginProcess/PluginProcess.cpp:
* PluginProcess/PluginProcess.h:
* PluginProcess/WebProcessConnection.cpp:
* PluginProcess/mac/PluginProcessMainMac.mm:
* PluginProcess/qt/PluginProcessMainQt.cpp:
* Shared/ChildProcess.cpp:
* Shared/ChildProcess.h:
* Target.pri:
* UIProcess/API/mac/FindIndicatorWindow.h:
* UIProcess/API/mac/WKView.mm:
* UIProcess/DrawingAreaProxyImpl.h:
* UIProcess/Launcher/ThreadLauncher.cpp:
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
* UIProcess/Launcher/mac/ThreadLauncherMac.mm:
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
* UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
* UIProcess/Launcher/win/ProcessLauncherWin.cpp:
* UIProcess/Launcher/win/ThreadLauncherWin.cpp:
* UIProcess/LayerTreeHostProxy.h:
* UIProcess/Plugins/PluginProcessProxy.cpp:
* UIProcess/ResponsivenessTimer.cpp:
* UIProcess/ResponsivenessTimer.h:
* UIProcess/TiledDrawingAreaProxy.h:
* UIProcess/VisitedLinkProvider.h:
* UIProcess/WebConnectionToWebProcess.cpp:
* UIProcess/WebConnectionToWebProcess.h:
* UIProcess/WebContext.cpp:
* UIProcess/win/WebView.cpp:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/Netscape/NetscapePluginStream.h:
* WebProcess/Plugins/PluginView.h:
* WebProcess/WebConnectionToUIProcess.cpp:
* WebProcess/WebConnectionToUIProcess.h:
* WebProcess/WebCoreSupport/WebGraphicsLayer.h:
* WebProcess/WebPage/DrawingAreaImpl.h:
* WebProcess/WebPage/EventDispatcher.cpp:
* WebProcess/WebPage/PageOverlay.h:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebProcess.cpp:
* WebProcess/WebProcess.h:
(WebKit::WebProcess::runLoop):
* WebProcess/gtk/WebProcessMainGtk.cpp:
* WebProcess/mac/WebProcessMainMac.mm:
* WebProcess/qt/WebProcessMainQt.cpp:
* WebProcess/win/WebProcessMainWin.cpp:
* win/WebKit2.vcproj:
Remove RunLoop code and update #includes.

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

12 years agoUnreviewed build fix. Wrong variable being used as the cwd for git
kov@webkit.org [Fri, 20 Jan 2012 03:02:46 +0000 (03:02 +0000)]
Unreviewed build fix. Wrong variable being used as the cwd for git
remote update command.

* gtk/run-with-jhbuild:
(update_jhbuild):

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

12 years agoFix inconsistent text selection behavior with option-shift-left/right/up/down.
commit-queue@webkit.org [Fri, 20 Jan 2012 02:51:04 +0000 (02:51 +0000)]
Fix inconsistent text selection behavior with option-shift-left/right/up/down.
https://bugs.webkit.org/show_bug.cgi?id=75652

Patch by Pablo Flouret <pablof@motorola.com> on 2012-01-19
Reviewed by Enrica Casucci.

On Mac, selecting backwards by word, line or paragraph from the middle
of some text, and then going forward leaves the caret back in the middle
with no selection, instead of directly selecting to the other end of the
word/line/paragraph (Unix/Windows behavior). Fix this by adding a new
editing behavior to control whether the selection should go across the
initial position of the caret directly or not in situations like the one
outlined above.

Source/WebCore:

Test: editing/selection/selection-extend-should-not-move-across-caret-on-mac.html

* editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldExtendSelectionByWordOrLineAcrossCaret):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::modify):

LayoutTests:

* editing/selection/selection-extend-should-not-move-across-caret-on-mac-expected.txt: Added.
* editing/selection/selection-extend-should-not-move-across-caret-on-mac.html: Added.

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

12 years ago[GTK] ensure the jhbuild used by webkit is as up-to-date as needed
kov@webkit.org [Fri, 20 Jan 2012 02:45:15 +0000 (02:45 +0000)]
[GTK] ensure the jhbuild used by webkit is as up-to-date as needed
https://bugs.webkit.org/show_bug.cgi?id=76585

Reviewed by Martin Robinson.

This allows us to specify a minimum version of jhbuild required,
while also providing stability against changes done to the master
branch, by letting us choose what is the exact version that will
be used.

* gtk/run-with-jhbuild: refactored for more hackability and easier
reading
(jhbuild_installed): checks whether jhbuild is installed
(jhbuild_cloned): checks whether jhbuild has been cloned
(jhbuild_at_expected_revision): checks whether jhbuild is at the
expected revision
(update_jhbuild): brings jhbuild to the expected revision
(clone_jhbuild): clones jhbuild
(install_jhbuild): build and installs jhbuild
(update_webkitgtk_libs): runs update-webkitgtk-libs
(ensure_jhbuild): high-level logic to decide whether and which of
the steps above are executed

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

12 years agoRegression (r98735): Video chat moles in Gmail render incorrectly on Mac OS
simon.fraser@apple.com [Fri, 20 Jan 2012 02:41:06 +0000 (02:41 +0000)]
Regression (r98735): Video chat moles in Gmail render incorrectly on Mac OS
https://bugs.webkit.org/show_bug.cgi?id=75682

Source/WebCore:

Reviewed by James Robinson.

RenderLayerBacking::isSimpleContainerCompositingLayer() gave incorret
results in the case where the layer itself was visibility:hidden, but
where it had visible, non-composited descendant layers.

Fix by breaking RenderLayerBacking::hasVisibleNonCompositingDescendants()
into two methods, one that tests for renderers in this layer which
render stuff (and are thus affected by visibility on this layer), and
another which walks descendant, non-composited layers looking for those
which are visible.

Removed an early return in the "renderObject->node()->isDocumentNode()"
clause, because we want to run the same code that we run for non-document
nodes.

Test: compositing/visibility/layer-visible-content.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
(WebCore::RenderLayerBacking::containsNonEmptyRenderers):
(WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
* rendering/RenderLayerBacking.h:

LayoutTests:

Reviewed by James Robinson.

Testcase with a combination of visibility:hidden, overflow, positioning and
transforms.

* compositing/visibility/layer-visible-content-expected.png: Added.
* compositing/visibility/layer-visible-content-expected.txt: Added.
* compositing/visibility/layer-visible-content.html: Added.

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

12 years ago[chromium] Draw gutter quads outside root content layer
commit-queue@webkit.org [Fri, 20 Jan 2012 02:21:07 +0000 (02:21 +0000)]
[chromium] Draw gutter quads outside root content layer
https://bugs.webkit.org/show_bug.cgi?id=76328

Patch by Alexandre Elias <aelias@google.com> on 2012-01-19
Reviewed by James Robinson.

Add new layer property "backgroundCoversViewport".  If the content
layers don't fully cover the render surface, this code calculates the
difference between the root clip rect and the root content layer and
draws up to four background-color quads in exactly the area that would
be undrawn.

Test: CCTiledLayerImplTest::backgroundCoversViewport

Source/WebCore:

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setBackgroundCoversViewport):
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::backgroundCoversViewport):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::setBackgroundCoversViewport):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::backgroundCoversViewport):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::appendQuads):

Source/WebKit/chromium:

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
* tests/CCLayerImplTest.cpp:
(WebCore::TEST):
* tests/CCTiledLayerImplTest.cpp:
(WebCore::TEST):
* tests/LayerChromiumTest.cpp:

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

12 years agoWeb Intents chromium API modifications to track IntentRequest invocation method
commit-queue@webkit.org [Fri, 20 Jan 2012 02:03:48 +0000 (02:03 +0000)]
Web Intents chromium API modifications to track IntentRequest invocation method
https://bugs.webkit.org/show_bug.cgi?id=76014

Patch by Greg Billock <gbillock@google.com> on 2012-01-19
Reviewed by Darin Fisher.

* public/WebFrameClient.h:
(WebKit::WebFrameClient::dispatchIntent):
* public/WebIntent.h:
* public/WebIntentRequest.h: Added.
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::dispatchIntent):
* src/FrameLoaderClientImpl.h:
* src/WebIntent.cpp:
* src/WebIntentRequest.cpp: Added.

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

12 years ago[Skia Mac] Match style of platform error underline for misspellings
caryclark@google.com [Fri, 20 Jan 2012 01:47:41 +0000 (01:47 +0000)]
[Skia Mac] Match style of platform error underline for misspellings
https://bugs.webkit.org/show_bug.cgi?id=76556

Reviewed by Stephen White.

Source/WebCore:

Add Darwin-specific code in Skia to draw the error underline so that
it matches the CoreGraphics style.

Many existing layout tests inadvertantly trigger the misspelling
underline by including the word 'foo' in an editable field. Those
tests are temporarily suppressed separately in an edit to
test_expectations.txt.

* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::drawLineForTextChecking):

LayoutTests:

Suppress editing tests with misspellings, since the error underline
is drawn differently.

* platform/chromium/test_expectations.txt:

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

12 years ago[Texmap] TextureMapper creates two many big intermediate surfaces
noam.rosenthal@nokia.com [Fri, 20 Jan 2012 01:34:24 +0000 (01:34 +0000)]
[Texmap] TextureMapper creates two many big intermediate surfaces
https://bugs.webkit.org/show_bug.cgi?id=76336

Reviewed by Simon Hausmann.

The following has been done to optimize surface allocation:
1. Instead of using a viewport-size surface, use a surface in the size of the layer's
   bounding rect and apply the transform after the content has been rendered into it.
2. Avoid generating intermediate surface for occasions where they're not necessary,
   such as nested reflections without opacity.
3. Releasing of textures from the pool is now implicit, based on refCount.
4. Do not use intermediate surfaces for preserve-3d layers. This is in alignment with
   other ports.

Tests in LayoutTests/compositing/masks and LayoutTests/compositing/reflection cover this.

* platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::acquireTextureFromPool):
* platform/graphics/texmap/TextureMapper.h:
* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::paintSelf):
(WebCore::TextureMapperNode::paintSelfAndChildren):
(WebCore::TextureMapperNode::intermediateSurfaceRect):
(WebCore::TextureMapperNode::shouldPaintToIntermediateSurface):
(WebCore::TextureMapperNode::isVisible):
(WebCore::TextureMapperNode::paintSelfAndChildrenWithReplica):
(WebCore::TextureMapperNode::paintRecursive):
(WebCore::TextureMapperNode::syncCompositingStateSelf):
(WebCore::TextureMapperNode::syncCompositingState):
* platform/graphics/texmap/TextureMapperNode.h:
(WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):

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

12 years ago[Chromium] A Skia roll will break some tests - marking as expected
commit-queue@webkit.org [Fri, 20 Jan 2012 01:22:52 +0000 (01:22 +0000)]
[Chromium] A Skia roll will break some tests - marking as expected
https://bugs.webkit.org/show_bug.cgi?id=76638

Unreviewed test_expectations update.

Patch by Stephen Chenney <schenney@chromium.org> on 2012-01-19

* platform/chromium/test_expectations.txt: Adding MAC to svg/custom/zero-path-square-cap-rendering.svg

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

12 years ago[WK2] DumpRenderTree converts "file:///" to a path differently
ap@apple.com [Fri, 20 Jan 2012 01:10:47 +0000 (01:10 +0000)]
[WK2] DumpRenderTree converts "file:///" to a path differently
https://bugs.webkit.org/show_bug.cgi?id=76653

Reviewed by John Sullivan.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::lastFileURLPathComponent):
Do print a slash if there are no path components.

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

12 years agowebkit-patch cannot rollout patches without changelog/bug number
eric@webkit.org [Fri, 20 Jan 2012 00:57:46 +0000 (00:57 +0000)]
webkit-patch cannot rollout patches without changelog/bug number
https://bugs.webkit.org/show_bug.cgi?id=75962

Reviewed by Adam Barth.

* Scripts/webkitpy/tool/commands/download.py:
(AbstractRolloutPrepCommand._prepare_state):
* Scripts/webkitpy/tool/commands/download_unittest.py:
(AbstractRolloutPrepCommandTest.test_prepare_state):

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

12 years agoAssertion failure in WebCore::HTMLFrameElementBase::insertedIntoDocument()
eric@webkit.org [Fri, 20 Jan 2012 00:44:41 +0000 (00:44 +0000)]
Assertion failure in WebCore::HTMLFrameElementBase::insertedIntoDocument()
https://bugs.webkit.org/show_bug.cgi?id=50312

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Removed the ASSERT and updated the comment.

Test: fast/frames/assert-on-insertedIntoDocument.html

* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::insertedIntoDocument):

LayoutTests:

* fast/frames/assert-on-insertedIntoDocument-expected.txt: Added.
* fast/frames/assert-on-insertedIntoDocument.html: Added.

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

12 years ago[chromium] Replace WGC3D visibility extension with resource_usage extension. [Part...
commit-queue@webkit.org [Fri, 20 Jan 2012 00:29:30 +0000 (00:29 +0000)]
[chromium] Replace WGC3D visibility extension with resource_usage extension. [Part 1 of 3]
https://bugs.webkit.org/show_bug.cgi?id=76634

Patch by Michal Mocny <mmocny@google.com> on 2012-01-19
Reviewed by Kenneth Russell.

* public/platform/WebGraphicsContext3D.h:
(WebKit::WebGraphicsContext3D::setVisibilityCHROMIUM):
(WebKit::WebGraphicsContext3D::setResourceUsageCHROMIUM):
* src/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3DPrivate::setVisibilityCHROMIUM):
* tests/FakeWebGraphicsContext3D.h:
(WebKit::FakeWebGraphicsContext3D::setResourceUsageCHROMIUM):

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

12 years ago[WK2] fast/url/degenerate-file-base.html fails
ap@apple.com [Fri, 20 Jan 2012 00:13:05 +0000 (00:13 +0000)]
[WK2] fast/url/degenerate-file-base.html fails
https://bugs.webkit.org/show_bug.cgi?id=76619

Reviewed by Adam Roben.

Tools:

A URL generated form local path for loading had an extra slash, making document.URL
incorrect in all WebKit2 tests (file://localhost//path/to/test.html).

* WebKitTestRunner/TestInvocation.cpp: (WTR::createWKURL):

LayoutTests:

* platform/qt-wk2/Skipped: Unskipped the test.

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

12 years ago[chromium] Remove CCLayerDelegate, add ContentLayerDelegate for painting
jamesr@google.com [Fri, 20 Jan 2012 00:07:53 +0000 (00:07 +0000)]
[chromium] Remove CCLayerDelegate, add ContentLayerDelegate for painting
https://bugs.webkit.org/show_bug.cgi?id=76663

Reviewed by Kenneth Russell.

Source/WebCore:

CCLayerDelegate used to be an interface with a half-dozen callbacks on it, but now it has only one call -
paintContents() - and that one call is only valid for one subclass of LayerChromium, ContentLayerChromium. This
removes the CCLayerDelegate pointer from LayerChromium and adds a ContentLayerDelegate for the paint call.

The majority of the code changes in this patch are removing the nil parameter from various places that construct
LayerChromium instances. Also tightens the type of GraphicsLayerChromium::m_layer to ContentLayerChromium.

Refactoring/removing dead code, so no new tests.

* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
* platform/graphics/chromium/CanvasLayerChromium.cpp:
(WebCore::CanvasLayerChromium::CanvasLayerChromium):
* platform/graphics/chromium/CanvasLayerChromium.h:
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerPainter::create):
(WebCore::ContentLayerPainter::ContentLayerPainter):
(WebCore::ContentLayerChromium::create):
(WebCore::ContentLayerChromium::ContentLayerChromium):
* platform/graphics/chromium/ContentLayerChromium.h:
(WebCore::ContentLayerDelegate::~ContentLayerDelegate):
(WebCore::ContentLayerChromium::clearDelegate):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::platformLayer):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::create):
(WebCore::ImageLayerChromium::ImageLayerChromium):
* platform/graphics/chromium/ImageLayerChromium.h:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::create):
(WebCore::LayerChromium::LayerChromium):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/PluginLayerChromium.cpp:
(WebCore::PluginLayerChromium::create):
(WebCore::PluginLayerChromium::PluginLayerChromium):
* platform/graphics/chromium/PluginLayerChromium.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::drawsContent):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::create):
(WebCore::VideoLayerChromium::VideoLayerChromium):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::create):
(WebCore::WebGLLayerChromium::WebGLLayerChromium):
* platform/graphics/chromium/WebGLLayerChromium.h:

Source/WebKit/chromium:

* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::~WebContentLayerImpl):
* src/WebContentLayerImpl.h:
* src/WebExternalTextureLayerImpl.cpp:
(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::~WebExternalTextureLayerImpl):
* src/WebExternalTextureLayerImpl.h:
* src/WebLayerImpl.cpp:
(WebKit::WebLayerImpl::WebLayerImpl):
(WebKit::WebLayerImpl::~WebLayerImpl):
* src/WebLayerImpl.h:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):
* tests/CCLayerIteratorTest.cpp:
* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore::LayerChromiumWithForcedDrawsContent::LayerChromiumWithForcedDrawsContent):
(WebCore::TEST):
* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTest::doBeginTest):
(WTF::ContentLayerChromiumWithUpdateTracking::create):
(WTF::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):
* tests/LayerChromiumTest.cpp:
* tests/TiledLayerChromiumTest.cpp:
(WTF::FakeTiledLayerChromium::FakeTiledLayerChromium):
* tests/TreeSynchronizerTest.cpp:
(WebCore::MockLayerChromium::MockLayerChromium):
(WebCore::TEST):

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

12 years ago[chromium] Remove an obsolete comment about features.gypi
tony@chromium.org [Fri, 20 Jan 2012 00:00:51 +0000 (00:00 +0000)]
[chromium] Remove an obsolete comment about features.gypi
https://bugs.webkit.org/show_bug.cgi?id=76643

There can be only one features.gypi.

Reviewed by James Robinson.

* JavaScriptCore.gyp/JavaScriptCore.gyp:

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

12 years agoAdd Chromium-specific image baselines for
abarth@webkit.org [Thu, 19 Jan 2012 23:48:52 +0000 (23:48 +0000)]
Add Chromium-specific image baselines for
fast/css/text-overflow-input.html.  These results all appear to be
correct.

* platform/chromium-linux/fast/css/text-overflow-input-expected.png: Added.
* platform/chromium-mac-leopard/fast/css/text-overflow-input-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/css/text-overflow-input-expected.png: Added.
* platform/chromium-win/fast/css/text-overflow-input-expected.png: Added.
* platform/chromium-win/fast/css/text-overflow-input-expected.txt: Added.

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

12 years ago[Coverity] Fix uninitialized constructor defects in .../html
commit-queue@webkit.org [Thu, 19 Jan 2012 23:47:33 +0000 (23:47 +0000)]
[Coverity] Fix uninitialized constructor defects in .../html
https://bugs.webkit.org/show_bug.cgi?id=74965

Patch by Greg Billock <gbillock@google.com> on 2012-01-19
Reviewed by Simon Fraser.

Test: fast/canvas/script-tests/canvas-webkitLineDash.js

* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::HTMLFormCollection):
* html/StepRange.cpp:
(WebCore::StepRange::StepRange):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::State::State):
* html/canvas/CanvasStyle.h:
(WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
* html/canvas/WebGLGetInfo.cpp:
(WebCore::WebGLGetInfo::WebGLGetInfo):
* html/parser/CSSPreloadScanner.cpp:
(WebCore::CSSPreloadScanner::CSSPreloadScanner):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::WebVTTParser):

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

12 years agoPerformanceTests's runner.js shouldn't be Parser-specific
abarth@webkit.org [Thu, 19 Jan 2012 23:38:29 +0000 (23:38 +0000)]
PerformanceTests's runner.js shouldn't be Parser-specific
https://bugs.webkit.org/show_bug.cgi?id=76670

Reviewed by Ryosuke Niwa.

This runner script is used by a bunch of difference performance tests.
It shouldn't be in the Parser directory anymore.

* Bindings/event-target-wrapper.html:
* Mutation/append-child-deep.html:
* Mutation/append-child.html:
* Mutation/inner-html.html:
* Mutation/remove-child-deep.html:
* Mutation/remove-child.html:
* Parser/html-parser.html:
* Parser/html5-full-render.html:
* Parser/resources/runner.js: Removed.
* Parser/simple-url.html:
* Parser/tiny-innerHTML.html:
* Parser/url-parser.html:
* Parser/xml-parser.html:
* resources: Added.
* resources/runner.js: Copied from PerformanceTests/Parser/resources/runner.js.

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