profile/ivi/webkit-efl.git
12 years agoWeb Inspector: show sizes in bytes instead of KB, MB in heap profiler.
commit-queue@webkit.org [Tue, 31 Jan 2012 12:11:35 +0000 (12:11 +0000)]
Web Inspector: show sizes in bytes instead of KB, MB in heap profiler.
https://bugs.webkit.org/show_bug.cgi?id=77199

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-01-31
Reviewed by Pavel Feldman.

* inspector/front-end/DetailedHeapshotGridNodes.js:
(WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
(WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
(WebInspector.HeapSnapshotConstructorNode.prototype.get data):
(WebInspector.HeapSnapshotDiffNode.prototype.get data):
* inspector/front-end/UIUtils.js:
(Number.withThousandsSeparator):

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

12 years agoSpeech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
hans@chromium.org [Tue, 31 Jan 2012 11:59:43 +0000 (11:59 +0000)]
Speech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
https://bugs.webkit.org/show_bug.cgi?id=77083

Reviewed by Darin Fisher.

Source/WebCore:

Remove SpeechInputClientMock. The mock is moving to the DumpRenderTree
implementation.

No new tests, just refactoring.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/mock/SpeechInputClientMock.cpp: Removed.
* platform/mock/SpeechInputClientMock.h: Removed.

Source/WebKit/chromium:

Remove the WebSpeechInputControllerMock interface and proxy
implementation. The mock is moving to the DumpRenderTree
implementation instead, which removes the need to expose this
interface in the WebKit API.

Also add a proper copy constructor for WebSpeechInputResult.
The default one doesn't do a proper copy.

* WebKit.gyp:
* public/WebSpeechInputControllerMock.h: Removed.
* public/WebSpeechInputResult.h:
(WebKit::WebSpeechInputResult::WebSpeechInputResult):
(WebSpeechInputResult):
* src/WebSpeechInputControllerMockImpl.cpp: Removed.
* src/WebSpeechInputControllerMockImpl.h: Removed.
* src/WebSpeechInputResult.cpp:
(WebKit::WebSpeechInputResult::set):
(WebKit):

Tools:

Add MockWebSpeechInputController which provides a mock implementation
of the WebSpeechInputController interface, and use that in
DumpRenderTree.

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::addMockSpeechInputResult):
* DumpRenderTree/chromium/LayoutTestController.h:
():
* DumpRenderTree/chromium/MockWebSpeechInputController.cpp: Added.
(MockWebSpeechInputController::create):
(MockWebSpeechInputController::addMockRecognitionResult):
(MockWebSpeechInputController::clearResults):
(MockWebSpeechInputController::startRecognition):
(MockWebSpeechInputController::cancelRecognition):
(MockWebSpeechInputController::stopRecording):
(MockWebSpeechInputController::MockWebSpeechInputController):
(MockWebSpeechInputController::speechTaskFired):
(MockWebSpeechInputController::SpeechTask::SpeechTask):
(MockWebSpeechInputController::SpeechTask::stop):
(MockWebSpeechInputController::SpeechTask::runIfValid):
* DumpRenderTree/chromium/MockWebSpeechInputController.h: Added.
(WebKit):
(MockWebSpeechInputController):
(MockWebSpeechInputController::taskList):
(SpeechTask):
* DumpRenderTree/chromium/TestShell.cpp:
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::speechInputController):
* DumpRenderTree/chromium/WebViewHost.h:
(WebKit):
(WebViewHost::speechInputControllerMock):
(WebViewHost):
():

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

12 years agoWeb Inspector: boost protocol version to 1.0
pfeldman@chromium.org [Tue, 31 Jan 2012 11:49:31 +0000 (11:49 +0000)]
Web Inspector: boost protocol version to 1.0
https://bugs.webkit.org/show_bug.cgi?id=77408

Reviewed by Yury Semikhatsky.

* inspector/Inspector-1.0.json: Copied from Source/WebCore/inspector/Inspector.json.
* inspector/Inspector.json:

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

12 years ago<style scoped>: Improve shortcut code for cases where <style scoped> isn't used
rolandsteiner@chromium.org [Tue, 31 Jan 2012 11:04:10 +0000 (11:04 +0000)]
<style scoped>: Improve shortcut code for cases where <style scoped> isn't used
https://bugs.webkit.org/show_bug.cgi?id=77410

Move shortcut from setupScopingElementStack(), do it at the calling sites instead
(where a larger chunk of work can be skipped).

Reviewed by Antti Koivisto.

No new tests. (refactoring)

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::setupScopingElementStack): remove shortcut code
(WebCore::CSSStyleSelector::pushParent): add shortcut code
(WebCore::CSSStyleSelector::matchScopedAuthorRules): factor matching scoped rules out from matchAuthorRules
(WebCore::CSSStyleSelector::matchAuthorRules): add shortcut code
* css/CSSStyleSelector.h:
(CSSStyleSelector): add matchScopedAuthorRules

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

12 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Tue, 31 Jan 2012 10:45:33 +0000 (10:45 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

12 years ago[Chromium] Unreviewed test expectation change.
yuzo@google.com [Tue, 31 Jan 2012 10:39:11 +0000 (10:39 +0000)]
[Chromium] Unreviewed test expectation change.
inspector/timeline/timeline-receive-response-event.html is flaky on LINUX

* platform/chromium/test_expectations.txt:

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

12 years ago[PerformanceTests] Add landing html for Dromaeo dom-query test
commit-queue@webkit.org [Tue, 31 Jan 2012 10:13:51 +0000 (10:13 +0000)]
[PerformanceTests] Add landing html for Dromaeo dom-query test
https://bugs.webkit.org/show_bug.cgi?id=77329

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-31
Reviewed by Ryosuke Niwa.

PerformanceTests:

Added a "landing html" which includes actual dromaemo page and
send messages to interact with it. The landing html also dumps the
score in run-perf-tests friendly format.

This test isn't enabled until Dromaemo itself is available for run-perf-tests.
It will happen in a separate change.

* Dromaeo/dom-query.html: Added.
* Dromaeo/resources/dromaeorunner.js: Added.
* Skipped: Skipping this for now.

Tools:

Added some more ignorable output patterns to allow warnings
from a third party test suite.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner):
(PerfTestsRunner._should_ignore_line_in_parser_test_result):

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

12 years agoWeb Inspector: DOMDebugger.setEventListenerBreakpoint should accept regular DOM event...
pfeldman@chromium.org [Tue, 31 Jan 2012 10:05:34 +0000 (10:05 +0000)]
Web Inspector: DOMDebugger.setEventListenerBreakpoint should accept regular DOM event names.
https://bugs.webkit.org/show_bug.cgi?id=77409

Reviewed by Yury Semikhatsky.

* inspector/Inspector.json:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
(WebCore):
(WebCore::InspectorDOMDebuggerAgent::setInstrumentationBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeInstrumentationBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
* inspector/InspectorDOMDebuggerAgent.h:
(InspectorDOMDebuggerAgent):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didInstallTimerImpl):
(WebCore::InspectorInstrumentation::didRemoveTimerImpl):
(WebCore::InspectorInstrumentation::willHandleEventImpl):
(WebCore::InspectorInstrumentation::willFireTimerImpl):
(WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):

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

12 years ago[GTK] Remove V8 compilation option.
nayankk@motorola.com [Tue, 31 Jan 2012 10:01:23 +0000 (10:01 +0000)]
[GTK] Remove V8 compilation option.
https://bugs.webkit.org/show_bug.cgi?id=77405

Reviewed by Philippe Normand.

Revert the changes introduced as part of bug 69469
to provide an option to compile V8 as JavaScript engine.

* GNUmakefile.am: Remove defining USE_JSC macro.
* configure.ac: Remove --with-jsengine option.

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

12 years agoUnreviewed, GTK gardening.
philn@webkit.org [Tue, 31 Jan 2012 09:36:07 +0000 (09:36 +0000)]
Unreviewed, GTK gardening.

* platform/gtk/Skipped: Skipping some new failures.
* platform/gtk/fast/dom/constructed-objects-prototypes-expected.txt: Added.
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
* platform/gtk/fast/js/global-constructors-expected.txt:
* platform/gtk/test_expectations.txt: Marked one more svg test as flaky.

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

12 years ago[Chromium] Unreviewed test expectation change.
yuzo@google.com [Tue, 31 Jan 2012 09:19:24 +0000 (09:19 +0000)]
[Chromium] Unreviewed test expectation change.
77412 - [Chromium] Layout Test media/media-blocked-by-beforeload.html fails for LEOPARD

* platform/chromium/test_expectations.txt:

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

12 years agoOn more (last) typo fix after r106339.
ossy@webkit.org [Tue, 31 Jan 2012 08:37:26 +0000 (08:37 +0000)]
On more (last) typo fix after r106339.

* platform/qt/Skipped:

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

12 years agoFix compilation errors on build-webkit --debug --no-workers on mac.
commit-queue@webkit.org [Tue, 31 Jan 2012 08:22:31 +0000 (08:22 +0000)]
Fix compilation errors on build-webkit --debug --no-workers on mac.
https://bugs.webkit.org/show_bug.cgi?id=75869

Patch by Pablo Flouret <pablof@motorola.com> on 2012-01-31
Reviewed by Adam Barth.

Source/WebCore:

* WebCore.exp.in:

Source/WebKit/mac:

* Workers/WebWorkersPrivate.mm:
(+[WebWorkersPrivate workerThreadCount]):

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

12 years agoTypo fix after r106339.
ossy@webkit.org [Tue, 31 Jan 2012 08:04:46 +0000 (08:04 +0000)]
Typo fix after r106339.

* platform/qt/Skipped:

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

12 years ago[GStreamer] 0.11 build support
philn@webkit.org [Tue, 31 Jan 2012 08:02:56 +0000 (08:02 +0000)]
[GStreamer] 0.11 build support
https://bugs.webkit.org/show_bug.cgi?id=77085

Reviewed by Martin Robinson.

* configure.ac: New --with-gstreamer option, defaulting to 0.10.

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

12 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Tue, 31 Jan 2012 07:50:46 +0000 (07:50 +0000)]
[Qt] Unreviewed gardening.

* platform/qt/Skipped: Skip failing tests.

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

12 years agoWeb Inspector: [BlackBerry] Add BlackBerry UA Strings to the Inspector's UA switcher
commit-queue@webkit.org [Tue, 31 Jan 2012 07:45:32 +0000 (07:45 +0000)]
Web Inspector: [BlackBerry] Add BlackBerry UA Strings to the Inspector's UA switcher
https://bugs.webkit.org/show_bug.cgi?id=77343

Patch by Konrad Piascik <kpiascik@rim.com> on 2012-01-30
Reviewed by Yury Semikhatsky.

* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):

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

12 years agoWeb Inspector: should be possible to step through all event listeners when event...
yurys@chromium.org [Tue, 31 Jan 2012 07:37:28 +0000 (07:37 +0000)]
Web Inspector: should be possible to step through all event listeners when event listener breakpoint is hit
https://bugs.webkit.org/show_bug.cgi?id=77331

Source/WebCore:

Inspector instrumentation is called before and after each event handler invokation.
In case inspector front-end is closed it is no-op, otherwise it may stop execution
on an event listener breakpoint.

Reviewed by Pavel Feldman.

Test: inspector/debugger/step-through-event-listeners.html

* dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willDispatchEventImpl):
(WebCore::InspectorInstrumentation::willHandleEventImpl):
(WebCore):
(WebCore::InspectorInstrumentation::didHandleEventImpl):
(WebCore::InspectorInstrumentation::didDispatchEventImpl):
(WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willHandleEvent):
(WebCore):
(WebCore::InspectorInstrumentation::didHandleEvent):

LayoutTests:

Test that debugger will stop in each event listener when pausing on an event listener
breakpoint.

Reviewed by Pavel Feldman.

* inspector/debugger/step-through-event-listeners-expected.txt: Added.
* inspector/debugger/step-through-event-listeners.html: Added.
* 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@106337 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAttach light children after removing a shadow root.
hayato@chromium.org [Tue, 31 Jan 2012 06:36:02 +0000 (06:36 +0000)]
Attach light children after removing a shadow root.
https://bugs.webkit.org/show_bug.cgi?id=74267

Reviewed by Ryosuke Niwa.

Source/WebCore:

Tests: fast/dom/shadow/dynamically-created-shadow-root-expected.html
       fast/dom/shadow/dynamically-created-shadow-root.html:

* dom/Element.cpp:
(WebCore::Element::removeShadowRoot):

LayoutTests:

* fast/dom/shadow/dynamically-created-shadow-root-expected.html:
* fast/dom/shadow/dynamically-created-shadow-root.html:

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

12 years agoUnreviewed, rolling out r106324.
commit-queue@webkit.org [Tue, 31 Jan 2012 06:23:20 +0000 (06:23 +0000)]
Unreviewed, rolling out r106324.
http://trac.webkit.org/changeset/106324
https://bugs.webkit.org/show_bug.cgi?id=77406

Broke CCLayerTreeHostTestLayerOcclusion.runMultiThread and
runSingleThread (Requested by yuzo1 on #webkit).

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

Source/WebCore:

* platform/graphics/FloatRect.cpp:
* platform/graphics/FloatRect.h:
(WebCore):
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
(WebCore):
(Canvas2DLayerChromium):
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/ContentLayerChromium.h:
(WebCore):
(ContentLayerChromium):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/ImageLayerChromium.h:
(WebCore):
(ImageLayerChromium):
* platform/graphics/chromium/LayerChromium.cpp:
* platform/graphics/chromium/LayerChromium.h:
(WebCore):
(WebCore::LayerChromium::paintContentsIfDirty):
(LayerChromium):
* platform/graphics/chromium/RenderSurfaceChromium.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
* platform/graphics/chromium/TiledLayerChromium.h:
(WebCore):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintContentsIfDirty):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::enclosedIntRect):
(WebCore):

Source/WebKit/chromium:

* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore):
* tests/CCLayerTreeHostTest.cpp:
(WTF::ContentLayerChromiumWithUpdateTracking::paintContentsIfDirty):
* tests/Canvas2DLayerChromiumTest.cpp:
(WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):
* tests/TiledLayerChromiumTest.cpp:
(FakeLayerTextureUpdater):
(WTF::FakeTiledLayerChromium::paintContentsIfDirty):
(WTF::FakeLayerTextureUpdater::prepareToUpdate):

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

12 years agoBuild fix after r106321.
rniwa@webkit.org [Tue, 31 Jan 2012 06:20:52 +0000 (06:20 +0000)]
Build fix after r106321.

* Websites/webkit-perf.appspot.com/report_handler.py:
* Websites/webkit-perf.appspot.com/manifest_handler.py:
(ManifestHandler.get):

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

12 years ago[wx] Unreviewed. Update download URLs to new domain.
kevino@webkit.org [Tue, 31 Jan 2012 05:51:43 +0000 (05:51 +0000)]
[wx] Unreviewed. Update download URLs to new domain.

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

12 years agoFix ASSERT fail within AudioBus::processWithGainFrom()
commit-queue@webkit.org [Tue, 31 Jan 2012 05:47:29 +0000 (05:47 +0000)]
Fix ASSERT fail within AudioBus::processWithGainFrom()
https://bugs.webkit.org/show_bug.cgi?id=76685

Patch by Raymond Liu <raymond.liu@intel.com> on 2012-01-30
Reviewed by Daniel Bates.

Source/WebCore:

Test: webaudio/audionode-connect-order.html

* webaudio/AudioBasicProcessorNode.cpp:
(WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):

LayoutTests:

* webaudio/audionode-connect-order-expected.txt: Added.
* webaudio/audionode-connect-order.html: Added.

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

12 years ago<style scoped>: Implement scoped stylesheets and basic application
rolandsteiner@chromium.org [Tue, 31 Jan 2012 05:04:08 +0000 (05:04 +0000)]
<style scoped>: Implement scoped stylesheets and basic application
https://bugs.webkit.org/show_bug.cgi?id=73190

Source/WebCore:

Implementing support for <style scoped>:
Add a vector stack to CSSStyleSelector that keeps track of encountered scoping elements. This is
used for O(1) access to all relevant style sheets for a given element.
Adapt matching of author style sheets to also consult appropriate scoped sheets.
Finally, prevent style sharing from crossing into/out of scoped style boundaries.

Reviewed by Antti Koivisto.

Tests: fast/css/style-scoped/style-scoped-attach.html
       fast/css/style-scoped/style-scoped-basic.html
       fast/css/style-scoped/style-scoped-detach.html
       fast/css/style-scoped/style-scoped-remove-scoped.html
       fast/css/style-scoped/style-scoped-set-scoped.html

* css/CSSStyleSelector.cpp:
(RuleSet):
(WebCore::CSSStyleSelector::CSSStyleSelector): add code for scoped style sheets
(WebCore::CSSStyleSelector::collectFeatures): ditto
(WebCore):
(WebCore::CSSStyleSelector::determineScopingElement): determine whether an author sheet is scoped (and to which scope), or global
(WebCore::CSSStyleSelector::scopedRuleSetForElement): returns the RuleSet for the <style scoped> contained by the passed-in element (if any), or 0
(WebCore::CSSStyleSelector::appendAuthorStylesheets): add code for scoped style sheets
(WebCore::CSSStyleSelector::setupScopingElementStack): determine scoping element ancestors of the given element
(WebCore::CSSStyleSelector::pushParent): simplify and refactor SelectorChecker::pushParent, as code in CSStyleSelector needs partial access
(WebCore::CSSStyleSelector::popParent): ditto
(WebCore::CSSStyleSelector::sortAndTransferMatchedRules): helper function
(WebCore::CSSStyleSelector::matchAuthorRules): use AuthorRuleSetIterator to iterate over all relevant RuleSets
(WebCore::CSSStyleSelector::matchRules): adapt for scoped style rules
(WebCore::CSSStyleSelector::matchAllRules): ditto
(WebCore::CSSStyleSelector::locateCousinList): prevent style sharing across scope boundaries
(WebCore::CSSStyleSelector::canShareStyleWithElement): ditto
(WebCore::CSSStyleSelector::locateSharedStyle): ditto
(WebCore::CSSStyleSelector::pseudoStyleForElement): changed call to matchAuthorRules
(WebCore::CSSStyleSelector::styleForPage): add comment
(WebCore::CSSStyleSelector::checkRegionStyle): add global scope parameter
(WebCore::CSSStyleSelector::pseudoStyleRulesForElement): changed call to matchAuthorRules
(WebCore::RuleSet::addRulesFromSheet): adapt for scoped style rules
* css/CSSStyleSelector.h:
(CSSStyleSelector):
(WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame): struct holding an Element pointer and a RuleSet pointer, to be used in a Vector
(WebCore::CSSStyleSelector::scopingElementStackIsConsistent): returns if the last seen parent matches the passed-in element
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::setupParentStack): set up the parent stack (refactoring)
(WebCore::SelectorChecker::pushParent): simplify and refactor
* css/SelectorChecker.h:
(WebCore::SelectorChecker::popParent): ditto
(WebCore::SelectorChecker::parentStackIsEmpty): ditto
(WebCore::SelectorChecker::parentStackIsConsistent): make parameter const

LayoutTests:

Test that <style scoped> affects styles and is updated correctly:
-) basic test
-) test setting/un-setting the 'scoped' attribute
-) test inserting/removing a whole <style scoped> element

Reviewed by Antti Koivisto.

* fast/css/style-scoped/style-scoped-attach-expected.txt: Added.
* fast/css/style-scoped/style-scoped-attach.html: Added.
* fast/css/style-scoped/style-scoped-basic-expected.txt: Added.
* fast/css/style-scoped/style-scoped-basic.html: Added.
* fast/css/style-scoped/style-scoped-detach-expected.txt: Added.
* fast/css/style-scoped/style-scoped-detach.html: Added.
* fast/css/style-scoped/style-scoped-remove-scoped-expected.txt: Added.
* fast/css/style-scoped/style-scoped-remove-scoped.html: Added.
* fast/css/style-scoped/style-scoped-set-scoped-expected.txt: Added.
* fast/css/style-scoped/style-scoped-set-scoped.html: Added.

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

12 years ago[EFL] Define the names of view smart class
commit-queue@webkit.org [Tue, 31 Jan 2012 05:03:02 +0000 (05:03 +0000)]
[EFL] Define the names of view smart class
https://bugs.webkit.org/show_bug.cgi?id=76370

Patch by Eunsol Park <eunsol47.park@samsung.com> on 2012-01-30
Reviewed by Andreas Kling.

Strings of ewk_tiled_view's name were defined differently,
so the definitions were modified to make users not confused.

* ewk/ewk_private.h:
* ewk/ewk_view.cpp:
* ewk/ewk_view_single.cpp:
(_ewk_view_single_smart_class_new):
* ewk/ewk_view_tiled.cpp:
(ewk_view_tiled_smart_set):
(_ewk_view_tiled_smart_class_new):

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

12 years ago[wx] Update build dirs and includes after recent trunk changes.
kevino@webkit.org [Tue, 31 Jan 2012 04:39:16 +0000 (04:39 +0000)]
[wx] Update build dirs and includes after recent trunk changes.

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

12 years ago[Chromium] Unreviewed test expectation change
yuzo@google.com [Tue, 31 Jan 2012 04:37:57 +0000 (04:37 +0000)]
[Chromium] Unreviewed test expectation change
plugins/crash-restoring-plugin-page-from-page-cache.html fails or timeouts.

* platform/chromium/test_expectations.txt:

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

12 years ago[chromium] Compute occlusion during paint loop
commit-queue@webkit.org [Tue, 31 Jan 2012 04:03:00 +0000 (04:03 +0000)]
[chromium] Compute occlusion during paint loop
https://bugs.webkit.org/show_bug.cgi?id=76858

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

Source/WebCore:

New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp

* platform/graphics/FloatRect.cpp:
(WebCore::enclosedIntRect):
(WebCore):
* platform/graphics/FloatRect.h:
(WebCore):
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
(Canvas2DLayerChromium):
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/ContentLayerChromium.h:
(ContentLayerChromium):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/ImageLayerChromium.h:
(ImageLayerChromium):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::contentToScreenSpaceTransform):
(WebCore):
(WebCore::LayerChromium::addSelfToOccludedScreenSpace):
(WebCore::LayerChromium::isPaintedAxisAlignedInScreen):
* platform/graphics/chromium/LayerChromium.h:
(WebCore):
(WebCore::LayerChromium::paintContentsIfDirty):
(LayerChromium):
* platform/graphics/chromium/RenderSurfaceChromium.h:
(RenderSurfaceChromium):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
* platform/graphics/chromium/TiledLayerChromium.h:
(WebCore):
():
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintContentsIfDirty):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(RenderSurfaceRegion):
(WebCore):
(WebCore::pushTargetRenderSurfaceRegion):
(WebCore::popAndPushTargetRenderSurfaceRegion):
(WebCore::CCLayerTreeHost::paintLayerContents):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore):
():
* platform/graphics/chromium/cc/CCQuadCuller.cpp:

Source/WebKit/chromium:

* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore::TEST):
(WebCore):
* tests/CCLayerTreeHostTest.cpp:
(WTF::ContentLayerChromiumWithUpdateTracking::paintContentsIfDirty):
(WTF):
(TestLayerChromium):
(WTF::TestLayerChromium::create):
(WTF::TestLayerChromium::paintContentsIfDirty):
(WTF::TestLayerChromium::drawsContent):
(WTF::TestLayerChromium::occludedScreenSpace):
(WTF::TestLayerChromium::clearOccludedScreenSpace):
(WTF::TestLayerChromium::TestLayerChromium):
(WTF::setLayerPropertiesForTesting):
(CCLayerTreeHostTestLayerOcclusion):
(WTF::CCLayerTreeHostTestLayerOcclusion::CCLayerTreeHostTestLayerOcclusion):
(WTF::CCLayerTreeHostTestLayerOcclusion::beginTest):
(WTF::CCLayerTreeHostTestLayerOcclusion::afterTest):
* tests/Canvas2DLayerChromiumTest.cpp:
(WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):
* tests/TiledLayerChromiumTest.cpp:
(WTF::FakeLayerTextureUpdater::setOpaquePaintRect):
(FakeLayerTextureUpdater):
(WTF::FakeTiledLayerChromium::paintContentsIfDirty):
(WTF::FakeLayerTextureUpdater::prepareToUpdate):
(WTF::TEST):
(WTF):

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

12 years agoAdd ElementAttributeData class to replace internal uses of NamedNodeMap
caio.oliveira@openbossa.org [Tue, 31 Jan 2012 03:53:40 +0000 (03:53 +0000)]
Add ElementAttributeData class to replace internal uses of NamedNodeMap
https://bugs.webkit.org/show_bug.cgi?id=77233

Reviewed by Andreas Kling.

Move part of non-DOM functionality of NamedNodeMap into a separate class. This is
the first step toward the goal of separating NamedNodeMap from internal attribute
storage, as described in https://bugs.webkit.org/show_bug.cgi?id=75069.

The internal attribute storage is exposed as attributeData() in Element, and when
necessary (because it has no back pointer to Element) via methods in Element.

No new tests. Except from setClass() change this is just moving the code, no new
feature was added.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
* dom/Element.cpp:
(WebCore::Element::idAttributeChanged):
* dom/Element.h:
(WebCore::Element::attributeData):
(WebCore::Element::ensureAttributeData):
(Element):
(WebCore::Element::idForStyleResolution):
* dom/ElementAttributeData.cpp: Added.
(WebCore):
(WebCore::ElementAttributeData::setClass): the only caller of this function
already deal with the case when the element has no class, so don't do it here.
* dom/ElementAttributeData.h: Added.
(WebCore):
(ElementAttributeData):
(WebCore::ElementAttributeData::clearClass):
(WebCore::ElementAttributeData::classNames):
(WebCore::ElementAttributeData::idForStyleResolution):
(WebCore::ElementAttributeData::setIdForStyleResolution):
(WebCore::ElementAttributeData::ElementAttributeData):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::clearAttributes):
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::attributeData):
(NamedNodeMap):
* dom/StyledElement.cpp:
(WebCore::StyledElement::classAttributeChanged):
* dom/StyledElement.h:
(WebCore::StyledElement::classNames):
* html/ClassList.cpp:
(WebCore::ClassList::classNames):

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

12 years agoPython code in webkit-perf.appspot.com uses camelCase
rniwa@webkit.org [Tue, 31 Jan 2012 03:14:19 +0000 (03:14 +0000)]
Python code in webkit-perf.appspot.com uses camelCase
https://bugs.webkit.org/show_bug.cgi?id=77392

Reviewed by Adam Barth.

Use PEP8 style naming conventions instead of camelCase.

* Websites/webkit-perf.appspot.com/create_handler.py:
(CreateHandler.post):
(CreateHandler._create_builder):
(CreateHandler._create_branch):
(CreateHandler._create_platform):
* Websites/webkit-perf.appspot.com/dashboard_handler.py:
(DashboardHandler.get):
* Websites/webkit-perf.appspot.com/manifest_handler.py:
(ManifestHandler.get):
* Websites/webkit-perf.appspot.com/merge_tests_handler.py:
(MergeTestsHandler.post):
* Websites/webkit-perf.appspot.com/models.py:
(create_in_transaction_with_numeric_id_holder):
(delete_model_with_numeric_id_holder):
(modelFromNumericId):
(Builder.authenticate):
(Builder.hashed_password):
(Test.cache_key):
* Websites/webkit-perf.appspot.com/report_handler.py:
(ReportHandler.post):
(ReportHandler._model_by_key_name_in_body_or_error):
(ReportHandler._integer_in_body):
(ReportHandler._timestamp_in_body):
(ReportHandler.bypass_authentication):
(ReportHandler._results_are_valid):
(ReportHandler._results_are_valid._is_float_convertible):
(ReportHandler._create_build_if_possible):
(ReportHandler._create_build_if_possible.execute):
(ReportHandler._add_test_if_needed):
(ReportHandler._add_test_if_needed.execute):
(ReportHandler):
(AdminReportHandler.bypass_authentication):
* Websites/webkit-perf.appspot.com/runs_handler.py:
(RunsHandler.get):

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

12 years agoAdd Plumming to get graphics error messages to JS Console
commit-queue@webkit.org [Tue, 31 Jan 2012 03:10:49 +0000 (03:10 +0000)]
Add Plumming to get graphics error messages to JS Console
https://bugs.webkit.org/show_bug.cgi?id=77238

Source/WebCore:

Patch by Gregg Tavares <gman@chromium.org> on 2012-01-30
Reviewed by Kenneth Russell.

No new tests. No change in behavior.

* html/canvas/WebGLRenderingContext.cpp:
(WebGLRenderingContextErrorMessageCallback):
(WebCore::WebGLRenderingContextErrorMessageCallback::WebGLRenderingContextErrorMessageCallback):
(WebCore::WebGLRenderingContextErrorMessageCallback::onErrorMessage):
(WebCore::WebGLRenderingContextErrorMessageCallback::~WebGLRenderingContextErrorMessageCallback):
(WebCore):
(WebCore::WebGLRenderingContext::create):
(WebCore::WebGLRenderingContext::initializeNewContext):
(WebCore::WebGLRenderingContext::~WebGLRenderingContext):
* html/canvas/WebGLRenderingContext.h:
(WebGLRenderingContext):
* platform/graphics/GraphicsContext3D.h:
(ErrorMessageCallback):
(WebCore::GraphicsContext3D::ErrorMessageCallback::~ErrorMessageCallback):
(GraphicsContext3D):
* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::setErrorMessageCallback):
(WebCore):
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::setErrorMessageCallback):
(WebCore):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::setErrorMessageCallback):
(WebCore):

Source/WebKit/chromium:

Patch by Gregg Tavares <gman@google.com> on 2012-01-30
Reviewed by Kenneth Russell.

* public/platform/WebGraphicsContext3D.h:
(WebGraphicsErrorMessageCallback):
(WebKit::WebGraphicsContext3D::WebGraphicsErrorMessageCallback::~WebGraphicsErrorMessageCallback):
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::setErrorMessageCallback):
* src/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore):
(GraphicsErrorMessageCallbackAdapter):
(WebCore::GraphicsErrorMessageCallbackAdapter::~GraphicsErrorMessageCallbackAdapter):
(WebCore::GraphicsErrorMessageCallbackAdapter::GraphicsErrorMessageCallbackAdapter):
(WebCore::GraphicsErrorMessageCallbackAdapter::onErrorMessage):
(WebCore::GraphicsErrorMessageCallbackAdapter::create):
(WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):
* src/GraphicsContext3DPrivate.h:
(WebCore):
():

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

12 years agoSimplify RenderLayerCompositor::frameViewDidScroll
andersca@apple.com [Tue, 31 Jan 2012 02:58:27 +0000 (02:58 +0000)]
Simplify RenderLayerCompositor::frameViewDidScroll
https://bugs.webkit.org/show_bug.cgi?id=77398

Reviewed by Sam Weinig.

Remove the scrollPosition parameter from RenderLayerCompositor::frameViewDidScroll; we can just get it
from the associated FrameView object.

* page/FrameView.cpp:
(WebCore::FrameView::scrollPositionChanged):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
Call frameViewDidScroll() here instead of setting the scroll layer position explicitly.

(WebCore::RenderLayerCompositor::frameViewDidScroll):
(WebCore::RenderLayerCompositor::ensureRootLayer):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

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

12 years agoDon't select the next selectable index when deselecting an option in select elements...
commit-queue@webkit.org [Tue, 31 Jan 2012 02:55:08 +0000 (02:55 +0000)]
Don't select the next selectable index when deselecting an option in select elements with size set to a value greater than one.
https://bugs.webkit.org/show_bug.cgi?id=76389

Patch by Pablo Flouret <pablof@motorola.com> on 2012-01-30
Reviewed by Kent Tamura.

This behavior matches the rest of the browsers.

Source/WebCore:

Test: fast/forms/select/option-selecting.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::optionSelectionStateChanged):

LayoutTests:

* fast/forms/select/option-selecting-expected.txt: Added.
* fast/forms/select/option-selecting.html: Added.

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

12 years agoScrollbars don't show when scrolling on the scrolling thread
andersca@apple.com [Tue, 31 Jan 2012 02:43:37 +0000 (02:43 +0000)]
Scrollbars don't show when scrolling on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=77396
<rdar://problem/10710736>

Reviewed by Sam Weinig.

Use ScrollAnimator::scrollToOffsetWithoutAnimation when updating the frame view scroll offset,
since that function will end up invalidating the scrollbars correctly.

* page/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::didUpdateMainFrameScrollPosition):

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

12 years agoLayout Test plugins/crash-restoring-plugin-page-from-page-cache.html is slow on Chromium
leviw@chromium.org [Tue, 31 Jan 2012 02:43:27 +0000 (02:43 +0000)]
Layout Test plugins/crash-restoring-plugin-page-from-page-cache.html is slow on Chromium
https://bugs.webkit.org/show_bug.cgi?id=77397

Unreviewed gardening. Marking plugins/crash-restoring-plugin-page-from-page-cache.html slow
on Chromium.

* platform/chromium/test_expectations.txt:

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

12 years agoREGRESSION(r105797): prepare-ChangeLog for a .cpp file can
haraken@chromium.org [Tue, 31 Jan 2012 02:40:24 +0000 (02:40 +0000)]
REGRESSION(r105797): prepare-ChangeLog for a .cpp file can
output an empty method name (i.e. "()")
https://bugs.webkit.org/show_bug.cgi?id=77336

Reviewed by Darin Adler.

r105797 tried to detect a change outside methods, but it causes a bug that
prepare-ChangeLog can output an empty method name, like this:

    * foo/bar/baz.cpp:
    (method1):
    ():
    (method2):

This is because the cpp parser in prepare-ChangeLog cannot distinguish
'{' as the beginning of a method with '{' as the beginning of an array definition
at the top level.

    int a[] = { 1, 2, 3 };  // This '{' is the beginning of an array definition.

    void func() { // This '{' is the beginning of a method.
        ...;
    }

This patch fixes prepare-ChangeLog so that it skips an array definition at the top level.

* Scripts/prepare-ChangeLog:
(get_function_line_ranges_for_cpp): Modified as described above.
(generateFunctionLists): As a hack, modified so that prepare-ChangeLog does not output
an empty method name. Ideally this should not happen but may happen, since the
parsers are not perfect.
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp: Added test cases.
(NameSpace7):
(NameSpace8):
(Class109):
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests-expected.txt:

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

12 years agoget_by_val_arguments is broken in the interpreter
oliver@apple.com [Tue, 31 Jan 2012 02:22:37 +0000 (02:22 +0000)]
get_by_val_arguments is broken in the interpreter
https://bugs.webkit.org/show_bug.cgi?id=77389

Reviewed by Gavin Barraclough.

When get_by_val had wad a value profile added, the same slot was not added to
get_by_val_arguments.  This broke the interpreter as the interpreter falls
back on its regular get_by_val implementation.

No tests are added as the interpreter is fairly broken in its
current state (multiple tests fail due to this bug).

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* bytecode/Opcode.h:
(JSC):
():
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitGetArgumentByVal):

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

12 years agoUnreviewed, rolling out r106259.
leviw@chromium.org [Tue, 31 Jan 2012 02:20:42 +0000 (02:20 +0000)]
Unreviewed, rolling out r106259.
http://trac.webkit.org/changeset/106259
https://bugs.webkit.org/show_bug.cgi?id=77395

Breaks shared builders as they also build webkittests with
-Wexit-time-destructors. (Requested by leviw on #webkit).

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

* WebKitUnitTests.gyp:

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

12 years agoSkip inspector tests since they have been timing out.
rniwa@webkit.org [Tue, 31 Jan 2012 02:11:02 +0000 (02:11 +0000)]
Skip inspector tests since they have been timing out.

* Skipped:

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

12 years agoShow repaint counters in individual tiles
andersca@apple.com [Tue, 31 Jan 2012 02:04:09 +0000 (02:04 +0000)]
Show repaint counters in individual tiles
https://bugs.webkit.org/show_bug.cgi?id=77390
<rdar://problem/10767967>

Reviewed by Darin Adler.

* platform/graphics/ca/mac/TileCache.h:
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::setNeedsDisplayInRect):
Make sure to invalidate the repaint counter rect if necessary.

(WebCore::TileCache::drawLayer):
Draw the repaint counter.

(WebCore::TileCache::showRepaintCounter):
New function that determines whether we should show repaint counters for the given tile cache.

* platform/graphics/ca/mac/WebTileLayer.h:
* platform/graphics/ca/mac/WebTileLayer.mm:
(-[WebTileLayer incrementRepaintCount]):
Add method for getting the repaint count.

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

12 years ago<rdar://problem/10778045> REGRESSION (r91935): text-combine fails
mitz@apple.com [Tue, 31 Jan 2012 01:57:37 +0000 (01:57 +0000)]
<rdar://problem/10778045> REGRESSION (r91935): text-combine fails
https://bugs.webkit.org/show_bug.cgi?id=77373

Reviewed by Darin Adler.

Source/WebCore:

Removed tests that were failing because of this bug from the Lion skipped
list.

* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
(WebCore::GlyphPage::fill): Changed to use CTFontGetGlyphsForCharacters,
rather than wkGetVerticalGlyphsForCharacters, for non-fullwidth fonts.

LayoutTests:

Removed tests that were failing because of this bug from the skipped list.

* platform/mac-lion/Skipped:

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

12 years agoFix typo in test name from my last commit.
beidson@apple.com [Tue, 31 Jan 2012 01:36:46 +0000 (01:36 +0000)]
Fix typo in test name from my last commit.

Spotted and rubber-stamped by Darin Adler.

* plugins/crash-restoring-plugin-page-from-page-cache-expected.txt: Copied from plugins/crash-restoring-pluging-page-from-page-cache-expected.txt.
* plugins/crash-restoring-plugin-page-from-page-cache.html: Copied from plugins/crash-restoring-pluging-page-from-page-cache.html.
* plugins/crash-restoring-pluging-page-from-page-cache-expected.txt: Removed.
* plugins/crash-restoring-pluging-page-from-page-cache.html: Removed.

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

12 years agoEnable memcache on webkit-perf.appspot.com
rniwa@webkit.org [Tue, 31 Jan 2012 01:36:17 +0000 (01:36 +0000)]
Enable memcache on webkit-perf.appspot.com
https://bugs.webkit.org/show_bug.cgi?id=77378

Reviewed by Adam Barth.

Eanble memcache on dashboard, manifest, and runs handlers. Clear appropriate caches when new runs are reported,
or new models are created. We flush all caches when tests are merged since it's hard to figure out dependencies
in that case. Luckily, we merge tests only occassionally and manually (or hope so) so this shouldn't be an issue.

* Websites/webkit-perf.appspot.com/create_handler.py:
(CreateHandler.post):
* Websites/webkit-perf.appspot.com/dashboard_handler.py:
(DashboardHandler.get):
* Websites/webkit-perf.appspot.com/manifest_handler.py:
(ManifestHandler.get):
* Websites/webkit-perf.appspot.com/merge_tests_handler.py:
(MergeTestsHandler.post):
* Websites/webkit-perf.appspot.com/models.py:
(createInTransactionWithNumericIdHolder):
(Test):
(Test.cacheKey):
* Websites/webkit-perf.appspot.com/report_handler.py:
(ReportHandler.post):
(ReportHandler._addTestIfNeeded):
* Websites/webkit-perf.appspot.com/runs_handler.py:
(RunsHandler.get):

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

12 years agoBlackBerry - Support Proxy-Authenticate headers when a proxy is configured
commit-queue@webkit.org [Tue, 31 Jan 2012 01:25:08 +0000 (01:25 +0000)]
BlackBerry - Support Proxy-Authenticate headers when a proxy is configured
https://bugs.webkit.org/show_bug.cgi?id=77361

Though we have a proxy configured, we might not have the auth
credentials it requires. Support Proxy-Authenticate for that case.

Patch by Christopher Hutten-Czapski <chutten@rim.com> on 2012-01-30
Reviewed by George Staikos.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::handleNotifyHeaderReceived):
(WebCore::NetworkJob::handleAuthHeader):
(WebCore::NetworkJob::sendRequestWithCredentials):
* platform/network/blackberry/NetworkJob.h:
* platform/network/blackberry/NetworkManager.cpp:
(WebCore::NetworkManager::startJob):

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

12 years ago[chromium] Remove unnecessary retry logic in LayerRendererChromium initialization...
jamesr@google.com [Tue, 31 Jan 2012 01:23:11 +0000 (01:23 +0000)]
[chromium] Remove unnecessary retry logic in LayerRendererChromium initialization for accelerated painting
https://bugs.webkit.org/show_bug.cgi?id=77247

Reviewed by Kenneth Russell.

The accelerate painting setting is done differently from other capability-dependent settings for no good reason,
requiring that we retry initialization with different settings. For all other settings we set the capabilities
bit to true if the setting is requested and if the required capabilities exist on the underlying context.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::initialize):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

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

12 years ago<rdar://problem/10707072>
beidson@apple.com [Tue, 31 Jan 2012 01:10:53 +0000 (01:10 +0000)]
<rdar://problem/10707072>
Crashes in WebProcess at WebCore::Node::rendererIsNeeded

Reviewed by Darin Adler.

Source/WebCore:

In specific circumstances a plugin element can be without a render style at the point in time where
the page navigated and enters the page cache.

When this is the cash, the element should not enter into the "custom style for renderer" mode and should
instead use the default render style machinery.

Test: plugins/crash-restoring-pluging-page-from-page-cache.html

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache): Only setHasCustomStyleForRenderer and
  forceRecalc if there actually is a custom style to be used.
(WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache): Only clearHasCustomStyleForRenderer if there
  actually was a custom style to be cleared.
(WebCore::HTMLPlugInImageElement::customStyleForRenderer): This should only be called if there actually is a
  custom style to be used. Otherwise the element would have to fallback to the "normal" RenderStyle which might
  not exist.

LayoutTests:

* plugins/crash-restoring-pluging-page-from-page-cache-expected.txt: Added.
* plugins/crash-restoring-pluging-page-from-page-cache.html: Added.

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

12 years agoShow debug borders for individual tile cache tiles
andersca@apple.com [Tue, 31 Jan 2012 01:07:43 +0000 (01:07 +0000)]
Show debug borders for individual tile cache tiles
https://bugs.webkit.org/show_bug.cgi?id=77388

Reviewed by Sam Weinig.

* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::updateDebugIndicators):
Give tile cache tiles a thin dark blue border.

* platform/graphics/ca/mac/TileCache.h:
(WebCore::TileCache::tileDebugBorderWidth):
(WebCore::TileCache::tileDebugBorderColor):
Add getters and member variables for the tile debug border width and color.

* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::TileCache):
Initialize m_tileDebugBorderWidth.

(WebCore::TileCache::setTileDebugBorderWidth):
Update the border width of each tile layer.

(WebCore::TileCache::setTileDebugBorderColor):
Update the border color of each tile layer.

(WebCore::TileCache::createTileLayer):
Set the border color and border width.

* platform/graphics/ca/mac/WebTileCacheLayer.h:
* platform/graphics/ca/mac/WebTileCacheLayer.mm:
(-[WebTileCacheLayer borderColor]):
(-[WebTileCacheLayer setBorderColor:]):
(-[WebTileCacheLayer borderWidth]):
(-[WebTileCacheLayer setBorderWidth:]):
Call through to the TileCache.

* platform/graphics/mac/WebLayer.mm:
(drawLayerContents):
Don't draw the repaint counter for tile cache layers, each tile will maintain its own repaint counter.

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

12 years agorun-webkit-tests calls out to webkit-build-directory twice
ojan@chromium.org [Tue, 31 Jan 2012 01:04:43 +0000 (01:04 +0000)]
run-webkit-tests calls out to webkit-build-directory twice
https://bugs.webkit.org/show_bug.cgi?id=77248

Reviewed by Dirk Pranke.

This reduces to calls to webkit-build-directory to one call and
saves 500ms for run-webkit-tests over a single file.

* Scripts/webkit-build-directory:
If called with no arguments, print out both the top-level directory and the
configuration directory.

* Scripts/webkit-build-directory:
* Scripts/webkitpy/layout_tests/port/config.py:
(Config.build_directory):
When called with no arguments, get and cache both the top-level and configuration directories.

* Scripts/webkitpy/layout_tests/port/config_standalone.py:
(main):
* Scripts/webkitpy/layout_tests/port/config_unittest.py:
(ConfigTest.assert_configuration):
(ConfigTest.test_build_directory.mock_webkit_build_directory):
(ConfigTest.test_build_directory):
(ConfigTest.test_default_configuration__notfound):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort._build_path):
Cache the root directory in the options object so that other users
of the options object don't need to call out to webkit-build-directory.

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

12 years agosingle-file input elements should refuse multi-file drags
commit-queue@webkit.org [Tue, 31 Jan 2012 00:35:42 +0000 (00:35 +0000)]
single-file input elements should refuse multi-file drags
https://bugs.webkit.org/show_bug.cgi?id=25913

Patch by Rakesh KN <rakesh.kn@motorola.com> on 2012-01-30
Reviewed by Eric Seidel.

Refuse the multiple file drags onto a single file input element.

Source/WebCore:

No new tests: Covered by existing tests, updated the expected results.

* page/DragController.cpp:
(WebCore::DragController::tryDocumentDrag):
Setting the dragSession.numberOfItemsToBeAccepted to 0 so that drag operation is none if the
file input element under mouse is single input type and number of files dragged onto that
input element are more than 1.

LayoutTests:

* editing/pasteboard/file-input-files-access-expected.txt:
Expected result changed.
* editing/pasteboard/script-tests/file-input-files-access.js:
(runTest):
Removed the 'FIXME' debug and comment as it is not valid after this change.

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

12 years ago[chromium] Use region reported painted opaque for draw culling
commit-queue@webkit.org [Tue, 31 Jan 2012 00:29:02 +0000 (00:29 +0000)]
[chromium] Use region reported painted opaque for draw culling
https://bugs.webkit.org/show_bug.cgi?id=76015

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

Source/WebCore:

New unit tests in CCTiledLayerImplTest.cpp, CCQuadCullerTest.cpp, CCLayerTreeHostImplTest.cpp

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setOpaque):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(UpdatableTile):
(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore::TiledLayerChromium::prepareToUpdateTiles):
* platform/graphics/chromium/cc/CCDrawQuad.cpp:
(WebCore::CCDrawQuad::opaqueRect):
(WebCore):
* platform/graphics/chromium/cc/CCDrawQuad.h:
(CCDrawQuad):
(WebCore::CCDrawQuad::needsBlending):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::CCQuadCuller::cullOccludedQuads):
* platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
(WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
* platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
(WebCore::CCTileDrawQuad::create):
(WebCore::CCTileDrawQuad::CCTileDrawQuad):
* platform/graphics/chromium/cc/CCTileDrawQuad.h:
(CCTileDrawQuad):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(DrawableTile):
(WebCore::DrawableTile::opaqueRect):
(WebCore::DrawableTile::setOpaqueRect):
(WebCore::CCTiledLayerImpl::appendQuads):
(WebCore::CCTiledLayerImpl::pushTileProperties):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
(CCTiledLayerImpl):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:
(WebKit::BlendStateCheckLayer::appendQuads):
(WebKit::BlendStateCheckLayer::setOpaqueColor):
(BlendStateCheckLayer):
(WebKit::BlendStateCheckLayer::BlendStateCheckLayer):
(WebKit::TEST_F):
* tests/CCQuadCullerTest.cpp:
(WebCore::MakeTileQuad):
(WebCore::setQuads):
(WebCore::TEST):
(WebCore):
* tests/CCTiledLayerImplTest.cpp:
(CCLayerTestCommon::createLayer):
(CCLayerTestCommon::TEST):
(CCLayerTestCommon::getQuads):
(CCLayerTestCommon::coverageVisibleRectOnTileBoundaries):
(CCLayerTestCommon::coverageVisibleRectIntersectsTiles):
(CCLayerTestCommon::coverageVisibleRectIntersectsBounds):
(CCLayerTestCommon):

LayoutTests:

* platform/chromium-linux/compositing/iframes/iframe-in-composited-layer-expected.png:
* platform/chromium-mac-leopard/fast/repaint/block-selection-gap-in-composited-layer-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/repaint/block-selection-gap-in-composited-layer-expected.png: Removed.
* platform/chromium-win/fast/repaint/block-selection-gap-in-composited-layer-expected.png: Removed.
* platform/chromium/fast/repaint/block-selection-gap-in-composited-layer-expected.png: Renamed from LayoutTests/platform/chromium-linux/fast/repaint/block-selection-gap-in-composited-layer-expected.png.
* platform/chromium/test_expectations.txt:

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

12 years ago[Chromium] Unreviewed test expectation change.
commit-queue@webkit.org [Tue, 31 Jan 2012 00:22:03 +0000 (00:22 +0000)]
[Chromium] Unreviewed test expectation change.
Remove passing media/media-blocked-by-beforeload.html from test_expectations.txt
after r103509

Patch by Shadi Khalek <shadi@chromium.org> on 2012-01-30

* platform/chromium/test_expectations.txt:

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

12 years agoCrash in previousLinePosition when moving into a root inline box without leaves
rniwa@webkit.org [Tue, 31 Jan 2012 00:18:19 +0000 (00:18 +0000)]
Crash in previousLinePosition when moving into a root inline box without leaves
https://bugs.webkit.org/show_bug.cgi?id=76812

Reviewed by Enrica Casucci.

Source/WebCore:

The crash was caused by us assuming that every root inline box has at least one leaf,
which isn't true when we create inline boxes for an empty text run with margin, border, etc...

Test: editing/selection/move-into-empty-root-inline-box.html

* editing/visible_units.cpp:
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):

LayoutTests:

Add a regression test for the crash. Unfortunately, we can only test previousLinePosition.

* editing/selection/move-into-empty-root-inline-box-expected.txt: Added.
* editing/selection/move-into-empty-root-inline-box.html: Added.

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

12 years agoUnexpected syntax error
oliver@apple.com [Mon, 30 Jan 2012 23:59:20 +0000 (23:59 +0000)]
Unexpected syntax error
https://bugs.webkit.org/show_bug.cgi?id=77340

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Function calls and new expressions have the same semantics for
assignment, so should simply share their lhs handling.

* parser/Parser.cpp:
(JSC::::parseMemberExpression):

LayoutTests:

Add new tests for correct parsing of new expressions

* fast/js/parser-syntax-check-expected.txt:
* fast/js/script-tests/parser-syntax-check.js:
(runTest):
(invalid):

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

12 years agoUnreviewed ARMv7 build fix.
barraclough@apple.com [Mon, 30 Jan 2012 23:56:00 +0000 (23:56 +0000)]
Unreviewed ARMv7 build fix.

* tools/CodeProfiling.cpp:
(JSC):
(JSC::setProfileTimer):
(JSC::CodeProfiling::begin):
(JSC::CodeProfiling::end):

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

12 years agoUsing OS(WIN) or OS(MAC) should cause a build error.
levin@chromium.org [Mon, 30 Jan 2012 23:35:01 +0000 (23:35 +0000)]
Using OS(WIN) or OS(MAC) should cause a build error.
https://bugs.webkit.org/show_bug.cgi?id=77162

Reviewed by Darin Adler.

* wtf/Platform.h: Expand them into something that will
 cause a compile error.

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

12 years agocss3/flexbox/cross-axis-scrollbar.html ref test fails on Windows Chromium bots
tony@chromium.org [Mon, 30 Jan 2012 23:16:11 +0000 (23:16 +0000)]
css3/flexbox/cross-axis-scrollbar.html ref test fails on Windows Chromium bots
https://bugs.webkit.org/show_bug.cgi?id=77309

Reviewed by Dirk Pranke.

It looks like the scrollbars on windows overflow by a pixel, so the
edge of the scrollbar is being covered up by the trailing green box.
Use z-order to force the scrollbar on top.

This is kind of speculative. I want to see if the test passes on the
bots before removing the line in test_expectations.txt.

* css3/flexbox/cross-axis-scrollbar-expected.html:

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

12 years agoParsing test_expecations.txt + Skipped lists takes too long
ojan@chromium.org [Mon, 30 Jan 2012 23:16:08 +0000 (23:16 +0000)]
Parsing test_expecations.txt + Skipped lists takes too long
https://bugs.webkit.org/show_bug.cgi?id=77059

Reviewed by Dirk Pranke.

This saves ~100ms on the Apple Mac port.
-memoize a bunch of path methods.
-Avoid doing multiple disk accesses per line.
-Parse the skipped list directly instead of turning it into a test_expecations.txt
formatting string and parsing that.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser):
(TestExpectationParser.expectation_for_skipped_test):
(TestExpectationParser._parse_line):
(TestExpectationParser._collect_matching_tests):
(TestExpectations.__init__):
(TestExpectations._add_skipped_tests):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(test_add_skipped_tests):
(test_add_skipped_tests_duplicate):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port):
(Port.test_isfile):
(Port.normalize_test_name):
(Port.layout_tests_dir):
(Port.abspath_for_test):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:

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

12 years agowebkit-perf.appspot.com should have an ability to merge tests
rniwa@webkit.org [Mon, 30 Jan 2012 23:06:39 +0000 (23:06 +0000)]
webkit-perf.appspot.com should have an ability to merge tests
https://bugs.webkit.org/show_bug.cgi?id=77250

Reviewed by Adam Barth.

Added admin/merge-tests. This page allows administrators to easily merge test objects.

Also add the forgotten title.png and rename api/create to admin/create since we don't allow
non-admins to create new models anyway.

* Websites/webkit-perf.appspot.com/app.yaml:
* Websites/webkit-perf.appspot.com/css: Added.
* Websites/webkit-perf.appspot.com/css/title.png: Added.
* Websites/webkit-perf.appspot.com/main.py:
* Websites/webkit-perf.appspot.com/merge_tests.yaml: Added.
* Websites/webkit-perf.appspot.com/merge_tests_handler.py: Added.
(MergeTestHandler):
(MergeTestHandler.get):
(MergeTestHandler.post):
* Websites/webkit-perf.appspot.com/models.py:
(deleteModelWithNumericIdHolder):
* Websites/webkit-perf.appspot.com/static/create-models.html:

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

12 years ago!m_insideRegionPaint assertion in RenderRegion.cpp is invalid
leviw@chromium.org [Mon, 30 Jan 2012 22:54:38 +0000 (22:54 +0000)]
!m_insideRegionPaint assertion in RenderRegion.cpp is invalid
https://bugs.webkit.org/show_bug.cgi?id=77372

Reviewed by David Hyatt.

Removing the !m_insideRegionPaint assertion that's in three functions in
RenderRegion. It's triggering in numerous layout tests and isn't valid.

No new tests as this just removes assertions.

* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::setRenderBoxRegionInfo):
(WebCore::RenderRegion::takeRenderBoxRegionInfo):
(WebCore::RenderRegion::removeRenderBoxRegionInfo):

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

12 years ago[BlackBerry] OS(QNX) also has TM_GMTOFF, TM_ZONE, and TIMEGM
commit-queue@webkit.org [Mon, 30 Jan 2012 22:48:10 +0000 (22:48 +0000)]
[BlackBerry] OS(QNX) also has TM_GMTOFF, TM_ZONE, and TIMEGM
https://bugs.webkit.org/show_bug.cgi?id=77360

Patch by Yong Li <yoli@rim.com> on 2012-01-30
Reviewed by Rob Buis.

Turn on HAVE(TM_GMTOFF), HAVE(TM_ZONE), and HAVE(TIMEGM)
for OS(QNX).

* wtf/Platform.h:

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

12 years ago[chromium] Always pre-reserve scrollbar and scroll corner textures
enne@google.com [Mon, 30 Jan 2012 22:10:07 +0000 (22:10 +0000)]
[chromium] Always pre-reserve scrollbar and scroll corner textures
https://bugs.webkit.org/show_bug.cgi?id=77251

Reviewed by James Robinson.

Source/WebCore:

Add a flag to LayerChromium that says that a layer's textures should
always be reserved. Prior to painting layers, find all layers marked
as such and reserve their textures. This will prevent texture memory
limits from being hit before the root layer's scrollbars are reserved
and painted.

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
(WebCore::LayerChromium::reserveTextures):
(WebCore::LayerChromium::setAlwaysReserveTextures):
(WebCore::LayerChromium::alwaysReserveTextures):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::reserveTextures):
* platform/graphics/chromium/TiledLayerChromium.h:
():
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::updateLayers):
(WebCore::CCLayerTreeHost::reserveTextures):
(WebCore):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
():

Source/WebKit/chromium:

* src/NonCompositedContentHost.cpp:
(WebKit::reserveScrollbarLayers):
(WebKit):
(WebKit::NonCompositedContentHost::setViewport):

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

12 years agoSpeculative Windows build fix.
barraclough@apple.com [Mon, 30 Jan 2012 22:07:23 +0000 (22:07 +0000)]
Speculative Windows build fix.

* assembler/MacroAssemblerCodeRef.h:
(FunctionPtr):

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

12 years ago[Qt] Disconnect the LayerTreeHost from layers when they get removed from their parent.
jocelyn.turcotte@nokia.com [Mon, 30 Jan 2012 22:01:42 +0000 (22:01 +0000)]
[Qt] Disconnect the LayerTreeHost from layers when they get removed from their parent.
https://bugs.webkit.org/show_bug.cgi?id=77362

Reviewed by Noam Rosenthal.

This fixes crashes seen in layout tests under certain timing circumstances
that appeared after r106109 was landed.

* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::replaceChild):
(WebCore::WebGraphicsLayer::removeFromParent):

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

12 years agoSpeculative 32-bit build-fix.
bdakin@apple.com [Mon, 30 Jan 2012 21:44:33 +0000 (21:44 +0000)]
Speculative 32-bit build-fix.

* WebCore.exp.in:

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

12 years agoUnreviewed gardening. Marking fast/js/dfg-int32array-overflow-values.html as slow
leviw@chromium.org [Mon, 30 Jan 2012 21:22:02 +0000 (21:22 +0000)]
Unreviewed gardening. Marking fast/js/dfg-int32array-overflow-values.html as slow
for Chromium Debug bots.

* platform/chromium/test_expectations.txt:

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

12 years agoRoll Chromium DEPS from 119623 to 119700.
rniwa@webkit.org [Mon, 30 Jan 2012 21:21:35 +0000 (21:21 +0000)]
Roll Chromium DEPS from 119623 to 119700.

* DEPS:

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

12 years agofast/css/fontsize-unit-rems-crash.html should use dumpAsText
leviw@chromium.org [Mon, 30 Jan 2012 21:19:47 +0000 (21:19 +0000)]
fast/css/fontsize-unit-rems-crash.html should use dumpAsText
https://bugs.webkit.org/show_bug.cgi?id=77351

Reviewed by Simon Fraser.

Switching the above test to only use text results as the html element is display:none.

* fast/css/fontsize-unit-rems-crash-expected.txt:
* fast/css/fontsize-unit-rems-crash.html:

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

12 years agoUnreviewed. Add myself to CSS, GStreamer, Qt related watchlists.
alexis.menard@openbossa.org [Mon, 30 Jan 2012 21:15:38 +0000 (21:15 +0000)]
Unreviewed. Add myself to CSS, GStreamer, Qt related watchlists.

* Scripts/webkitpy/common/config/watchlist:

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

12 years ago[CSSRegions]Add support for background-color in region styling
mihnea@adobe.com [Mon, 30 Jan 2012 21:11:48 +0000 (21:11 +0000)]
[CSSRegions]Add support for background-color in region styling
https://bugs.webkit.org/show_bug.cgi?id=71488

Reviewed by David Hyatt.

Source/WebCore:

Based on work by Alexandru Chiculita (achicu@adobe.com).
Previous patches for region styling were touching RenderObject::style() method. After several attempts to avoid regressions
(including caching of RenderObject::style() pointer in most used methods), we decided to attempt a different approach:
Step1: before each region is repainted, we compute the style for each box that falls into the region
Step2: before paint, we store the box original style
Step3: paint the region contents using the style in region
Step4: after paint is finished, we restore the box original style (and store the box style in region for future region paint)

Tests for region styling are also enabled with this patch.

* WebCore.exp.in:
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::clearRenderBoxCustomStyle):
(WebCore::RenderFlowThread::setRegionRangeForBox):
* rendering/RenderFlowThread.h:
():
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::hitTest):
* rendering/RenderObject.cpp:
* rendering/RenderObject.h:
(WebCore::RenderObject::style):
(RenderObject):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::setRegionBoxesRegionStyle):
(WebCore):
(WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):
(WebCore::RenderRegion::paintReplaced):
(WebCore::RenderRegion::setRenderBoxRegionInfo):
(WebCore::RenderRegion::takeRenderBoxRegionInfo):
(WebCore::RenderRegion::removeRenderBoxRegionInfo):
(WebCore::RenderRegion::renderBoxRegionStyle):
(WebCore::RenderRegion::computeStyleInRegion):
(WebCore::RenderRegion::clearBoxStyleInRegion):
* rendering/RenderRegion.h:
(RenderRegion):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderView.h:
(WebCore):
(RenderView):

LayoutTests:

Enable the region styling tests again.

* platform/mac-snowleopard/Skipped:

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

12 years agoWebCore build exceeds address space on 32-bit Windows builders (again).
jberlin@webkit.org [Mon, 30 Jan 2012 21:08:48 +0000 (21:08 +0000)]
WebCore build exceeds address space on 32-bit Windows builders (again).
https://bugs.webkit.org/show_bug.cgi?id=77357

Reviewed by Adam Roben.

Add an Inspector All-In-One file, but only use it in Release and Production builds.
This differs from our other All-In-One files, but it is a better approach because it makes
debugging possible in the Debug configuration (the symbols will be in the correct .obj file
for the original .cpp files).

* WebCore.vcproj/WebCore.vcproj:
Also, let VS have its way with the vcproj file.
* inspector/InspectorAllInOne.cpp: Added.

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

12 years agoIndexedDB: Add tests for structured clone data
jsbell@chromium.org [Mon, 30 Jan 2012 21:07:25 +0000 (21:07 +0000)]
IndexedDB: Add tests for structured clone data
https://bugs.webkit.org/show_bug.cgi?id=74897

Validate that the types listed in the HTML5 "structured clone algorithm"
round trip properly through Indexed DB storage. Types with incomplete
support in the Chromium port are excluded (http://crbug.com/108012).
Landing disabled since cr-linux is failing test for unknown reasons.

Reviewed by Tony Chang.

* platform/chromium/test_expectations.txt:
* storage/indexeddb/resources/test-data.html: Added.
* storage/indexeddb/resources/test-data.txt: Added.
* storage/indexeddb/structured-clone-expected.txt: Added.
* storage/indexeddb/structured-clone.html: Added.

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

12 years agoLimit periodic flushing inside ImageBufferCG to just Lion
mdelaney@apple.com [Mon, 30 Jan 2012 20:59:01 +0000 (20:59 +0000)]
Limit periodic flushing inside ImageBufferCG to just Lion
https://bugs.webkit.org/show_bug.cgi?id=77353
<rdar://problem/10328309>

Reviewed by Chris Marrin.

* platform/graphics/cg/ImageBufferCG.cpp:
* platform/graphics/cg/ImageBufferDataCG.h:

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=77163
barraclough@apple.com [Mon, 30 Jan 2012 20:57:56 +0000 (20:57 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=77163
MacroAssemblerCodeRef.h uses OS(WIN) instead of OS(WINDOWS)

Rubber stamped by Geoff Garen

* assembler/MacroAssemblerCodeRef.h:

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

12 years agoUnreviewed build fix for interpreter builds.
barraclough@apple.com [Mon, 30 Jan 2012 20:38:32 +0000 (20:38 +0000)]
Unreviewed build fix for interpreter builds.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(CodeBlock):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* tools/CodeProfile.cpp:
(JSC::CodeProfile::sample):

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

12 years agoMemory leak caused by PeerConnection add a NULL media stream
tommyw@google.com [Mon, 30 Jan 2012 20:25:15 +0000 (20:25 +0000)]
Memory leak caused by PeerConnection add a NULL media stream
https://bugs.webkit.org/show_bug.cgi?id=76150

Source/WebCore:

It was my missunderstanding that the IDL keyword [StrictTypeChecking] also protects against
null or undefined arguments, it doesn't. Added checks for null pointers.

Reviewed by Adam Barth.

Test: fast/mediastream/peerconnection-addstream.html

* mediastream/PeerConnection.cpp:
(WebCore::PeerConnection::addStream):
(WebCore::PeerConnection::removeStream):

LayoutTests:

Added a basic LayoutTest for null/undefined arguments to PeerConnection::addStream().

Reviewed by Adam Barth.

* fast/mediastream/peerconnection-addstream-expected.txt: Added.
* fast/mediastream/peerconnection-addstream.html: Added.
* fast/mediastream/script-tests/peerconnection-addstream.js: Added.

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

12 years ago[Windows] Optionally invert colors when drawing to a WebView's backing store.
aestes@apple.com [Mon, 30 Jan 2012 20:01:39 +0000 (20:01 +0000)]
[Windows] Optionally invert colors when drawing to a WebView's backing store.
https://bugs.webkit.org/show_bug.cgi?id=77168

Reviewed by Sam Weinig.

Source/WebCore:

* css/CSSPrimitiveValueMappings.h: Assert that CompositeDifference is
not converted to a CSS value. Exposing a new compositing operation to
CSS is outside the scope of this patch.
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* platform/graphics/GraphicsTypes.h: Add CompositeDifference as a
CompositeOperator. Also, remove an outdated comment.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation): Map
CompositeDifference to kCGBlendModeDifference.

Source/WebKit/win:

* WebView.cpp:
(WebView::WebView): Initialize m_shouldInvertColors to false.
(WebView::paintIntoBackingStore): If m_shouldInvertColors is true, draw
an opaque white quad using the CompositeDifference blend mode. This
blend operation instructs CoreGraphics to take the difference between
the source pixel (white) and the background pixel, resulting in an
inverted pixel.
* WebView.h: Define m_shouldInvertColors.

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

12 years agoLimit the shadow offset CG hack to just SL and Lion
mdelaney@apple.com [Mon, 30 Jan 2012 19:50:48 +0000 (19:50 +0000)]
Limit the shadow offset CG hack to just SL and Lion
https://bugs.webkit.org/show_bug.cgi?id=77348
<rdar://problem/10158016>

Reviewed by Chris Marrin.

No new tests, current tests cover this.

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformShadow):

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=77263
bdakin@apple.com [Mon, 30 Jan 2012 19:47:34 +0000 (19:47 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=77263
PlatformScreenMac should not rely on NSWindow for important bits of data

Reviewed by Geoff Garen.

../WebCore:

The main problem is that we cannot rely on the NSWindow for information about
the deviceScaleFactor because we cannot access an NSWindow from within
WebCore for WebKit2 windows. Instead, we can fetch it from
WebCore::deviceScaleFactor(), but we need a Frame to call that. So
screenAvailableRect and screenRect both now take a FrameView* instead of a
Widget*. All existing call sites actually sent a FrameView in anyway, so this
is not a big change, but it does require touching a lot of platforms.
* WebCore.exp.in:
* platform/PlatformScreen.h:
(WebCore):
* platform/blackberry/PlatformScreenBlackBerry.cpp:
(WebCore::screenAvailableRect):
(WebCore::screenRect):
* platform/chromium/PlatformScreenChromium.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/chromium/PlatformSupport.h:
(WebCore):
(PlatformSupport):
():
* platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/qt/PlatformScreenQt.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/win/PlatformScreenWin.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/wx/ScreenWx.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):

The Mac-only functions toUserSpace() and toDeviceSpace() were also updated to
take a parameter for the deviceScaleFactor.
* platform/mac/PlatformScreenMac.mm:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
(WebCore::toUserSpace):
(WebCore::toDeviceSpace):

../WebKit/chromium:

These two functions now take a FrameView instead of a Widget.
* src/PlatformSupport.cpp:
(WebCore::PlatformSupport::screenRect):
(WebCore::PlatformSupport::screenAvailableRect):

../WebKit/mac:

toUserSpace() and toDeviceSpace() now take a parameter for the
deviceScaleFactor.
* WebCoreSupport/WebChromeClient.mm:
(windowScaleFactor):
(WebChromeClient::setWindowRect):
(WebChromeClient::windowRect):

../WebKit2:

toUserSpace() and toDeviceSpace() now take a parameter for the
deviceScaleFactor.
* UIProcess/API/mac/WKView.mm:
(-[WKView _convertToDeviceSpace:]):
(-[WKView _convertToUserSpace:]):

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

12 years agoEnable web intents layout tests for Chromium build.
leviw@chromium.org [Mon, 30 Jan 2012 19:28:57 +0000 (19:28 +0000)]
Enable web intents layout tests for Chromium build.
https://bugs.webkit.org/show_bug.cgi?id=77347

Patch by Greg Billock <gbillock@google.com> on 2012-01-30
Reviewed by Ryosuke Niwa.

* platform/chromium/test_expectations.txt:

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

12 years agoUnreviewed build fix following bug#76855
barraclough@apple.com [Mon, 30 Jan 2012 19:26:48 +0000 (19:26 +0000)]
Unreviewed build fix following bug#76855

Source/JavaScriptCore:

* JavaScriptCore.exp:

Tools:

* TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
():
(TestWebKitAPI::TEST_F):

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

12 years agoCaseFoldingHash::hash() doesn't handle 8 bit strings directly
msaboff@apple.com [Mon, 30 Jan 2012 19:09:23 +0000 (19:09 +0000)]
CaseFoldingHash::hash() doesn't handle 8 bit strings directly
https://bugs.webkit.org/show_bug.cgi?id=76652

Reviewed by Andreas Kling.

* wtf/text/StringHash.h:
(WTF::CaseFoldingHash::hash): Added 8 bit string code path.

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

12 years ago[chromium] enable -Wexit-time-destructors for webkit unit tests
commit-queue@webkit.org [Mon, 30 Jan 2012 19:06:59 +0000 (19:06 +0000)]
[chromium] enable -Wexit-time-destructors for webkit unit tests
https://bugs.webkit.org/show_bug.cgi?id=77300

Patch by Ami Fischman <fischman@chromium.org> on 2012-01-30
Reviewed by Tony Chang.

* WebKitUnitTests.gyp: Enable clang check for exit time destructors.

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

12 years agoKill CSSMutableStyleDeclarationConstIterator
antti@apple.com [Mon, 30 Jan 2012 18:52:16 +0000 (18:52 +0000)]
Kill CSSMutableStyleDeclarationConstIterator
https://bugs.webkit.org/show_bug.cgi?id=77342

Reviewed by Sam Weinig.

CSSMutableStyleDeclaration is an array and should be iterated using an index. This simplifies the code.

* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::copyPropertiesFrom):
(WebCore::CSSMutableStyleDeclaration::removeProperty):
(WebCore::CSSMutableStyleDeclaration::setProperty):
(WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
(WebCore::CSSMutableStyleDeclaration::parseDeclaration):
(WebCore::CSSMutableStyleDeclaration::addParsedProperties):
(WebCore::CSSMutableStyleDeclaration::addParsedProperty):
(WebCore::CSSMutableStyleDeclaration::merge):
(WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
* css/CSSMutableStyleDeclaration.h:
(WebCore):
(WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
(CSSMutableStyleDeclaration):
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
* css/CSSStyleDeclaration.h:
(CSSStyleDeclaration):
():
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForKeyframe):
(WebCore::CSSStyleSelector::applyDeclaration):
* editing/EditingStyle.cpp:

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

12 years agostringProtoFuncReplace converts 8 bit strings to 16 bit during replacement
msaboff@apple.com [Mon, 30 Jan 2012 18:51:36 +0000 (18:51 +0000)]
stringProtoFuncReplace converts 8 bit strings to 16 bit during replacement
https://bugs.webkit.org/show_bug.cgi?id=76651

Reviewed by Geoffrey Garen.

Made local function substituteBackreferencesSlow a template function
based on character width.  Cleaned up getCharacters() in both UString
and StringImpl.  Changed getCharacters<UChar> to up convert an 8 bit
string to 16 bits if necessary.

* runtime/StringPrototype.cpp:
(JSC::substituteBackreferencesSlow):
(JSC::substituteBackreferences):
* runtime/UString.h:
(JSC::LChar):
(JSC::UChar):
* wtf/text/StringImpl.h:
(WTF::UChar):

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

12 years ago[chromium] MediaStream API: Fix a few memory leaks
tommyw@google.com [Mon, 30 Jan 2012 18:36:18 +0000 (18:36 +0000)]
[chromium] MediaStream API: Fix a few memory leaks
https://bugs.webkit.org/show_bug.cgi?id=77334

Reviewed by Darin Fisher.

It seems that either the behaviour of WebPrivatePtr has changed or I misunderstood
something, but I fixed a memory leak in WebMediaStreamDescriptor and safeguarded
WebMediaStreamSource.

* public/platform/WebMediaStreamDescriptor.h:
(WebKit::WebMediaStreamDescriptor::WebMediaStreamDescriptor):
* public/platform/WebMediaStreamSource.h:
(WebKit::WebMediaStreamSource::WebMediaStreamSource):
(WebKit::WebMediaStreamSource::operator=):
(WebMediaStreamSource):
* src/WebMediaStreamDescriptor.cpp:
(WebKit::WebMediaStreamDescriptor::assign):
* src/WebMediaStreamSource.cpp:
(WebKit::WebMediaStreamSource::assign):
(WebKit):

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

12 years agoClean up putDirect
barraclough@apple.com [Mon, 30 Jan 2012 18:28:39 +0000 (18:28 +0000)]
Clean up putDirect
https://bugs.webkit.org/show_bug.cgi?id=76232

Reviewed by Sam Weinig.

Part 3 - merge op_put_getter & op_put_setter.

Putting these separately is inefficient (and makes future optimiation,
e.g. making GetterSetter immutable) harder. Change to emit a single
op_put_getter_setter bytecode op. Ultimately we should probably be
able to merge this with put direct, to create a common op to initialize
object literal properties.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* bytecode/Opcode.h:
(JSC):
():
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitPutGetterSetter):
* bytecompiler/BytecodeGenerator.h:
(BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/JIT.h:
(JIT):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_getter_setter):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_getter_setter):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* jit/JITStubs.h:
():
* runtime/JSObject.cpp:
(JSC::JSObject::putDirectVirtual):
(JSC::JSObject::putDirectAccessor):
(JSC):
(JSC::putDescriptor):
(JSC::JSObject::defineOwnProperty):
* runtime/JSObject.h:
():
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::putDirect):
(JSC::JSObject::putDirectWithoutTransition):

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

12 years agoDromaeo tests call parseSimpleLengthValue() on 8 bit strings
msaboff@apple.com [Mon, 30 Jan 2012 18:22:50 +0000 (18:22 +0000)]
Dromaeo tests call parseSimpleLengthValue() on 8 bit strings
https://bugs.webkit.org/show_bug.cgi?id=76649

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* JavaScriptCore.exp: Added export for charactersToDouble.

Source/WebCore:

No functionality change, therefore no new tests.

Added 8 bit patch for parseSimpleLengthValue().

* css/CSSParser.cpp:
(WebCore::parseSimpleLengthValue):

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

12 years agoWebCore decodeEscapeSequences unnecessarily converts 8 bit strings to 16 bit when...
msaboff@apple.com [Mon, 30 Jan 2012 18:10:43 +0000 (18:10 +0000)]
WebCore decodeEscapeSequences unnecessarily converts 8 bit strings to 16 bit when decoding.
https://bugs.webkit.org/show_bug.cgi?id=76648

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Added a new overloaded append member that takes a String& argument, an offest
and a length to do direct sub string appending to a StringBuilder.

* wtf/text/StringBuilder.h:
(WTF::StringBuilder::append):

Source/WebCore:

Using new overloaded append(String&, offset, length)  member to build result string.
The new member properly handles 8/16 bit-ness of strings.

Functionality not changed, therefore no new tests.

* platform/text/DecodeEscapeSequences.h:
(WebCore::decodeEscapeSequences):

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

12 years agoNot reviewed: follow up to r105625, use proper event categoty in inspector frontend.
pfeldman@chromium.org [Mon, 30 Jan 2012 17:53:53 +0000 (17:53 +0000)]
Not reviewed: follow up to r105625, use proper event categoty in inspector frontend.

* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.EventListenerBreakpointsSidebarPane):

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

12 years agoREGRESSION (r82580): Reproducible crash in CSSPrimitiveValue::computeLengthDouble
commit-queue@webkit.org [Mon, 30 Jan 2012 17:31:52 +0000 (17:31 +0000)]
REGRESSION (r82580): Reproducible crash in CSSPrimitiveValue::computeLengthDouble
https://bugs.webkit.org/show_bug.cgi?id=61989

Patch by Parag Radke <nrqv63@motorola.com> on 2012-01-30
Reviewed by Simon Fraser.

Source/WebCore:

According to css3 specs when font-size is specified in 'rems' for an element implies the font-size
of the root element. In this case as HTML element has a property 'display:none' and hence renderer
is NULL causes this crash.

Test: fast/css/fontsize-unit-rems-crash.html

* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLengthDouble):
Added a null check for the root element's RenderStyle as it can be null in case of html has a property
hidden or display:none.

LayoutTests:

Added a test case to check rems unit (css3) with html property display:none.

* fast/css/fontsize-unit-rems-crash-expected.txt: Added.
* fast/css/fontsize-unit-rems-crash.html: Added.

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

12 years ago[Qt] WKTR: Use a software rendering pipiline when running tests.
jocelyn.turcotte@nokia.com [Mon, 30 Jan 2012 17:27:33 +0000 (17:27 +0000)]
[Qt] WKTR: Use a software rendering pipiline when running tests.
https://bugs.webkit.org/show_bug.cgi?id=76708

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

* platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
(WebCore::TextureMapperQt::setGraphicsContext):
* platform/graphics/qt/TextureMapperQt.h:
(WebCore::TextureMapperQt::initialize):

Source/WebKit2:

Animation layout tests require the graphics layers tree to be updated
to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
prevents the rendering pipeline to run and then in turn blocks the web
process from processing further graphics layer updates.

This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
message queue and render the layers in software on an offscreen buffer.

* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::paint):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::setNeedsDisplay):
(QQuickWebViewExperimental::setRenderToOffscreenBuffer):
(QQuickWebViewExperimental::renderToOffscreenBuffer):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate::setRenderToOffscreenBuffer):
(QQuickWebViewPrivate::renderToOffscreenBuffer):
* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::paintToGraphicsContext):

Tools:

* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::WrapperWindow::WrapperWindow):
(WTR::PlatformWebView::PlatformWebView): Use software rendering of layers since the wrapping QQuickView isn't shown.

LayoutTests:

* platform/qt-wk2/Skipped:

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

12 years ago[Qt][WK2] Render layers do not get flushed when the scroll animation finishes
abecsi@webkit.org [Mon, 30 Jan 2012 17:19:26 +0000 (17:19 +0000)]
[Qt][WK2] Render layers do not get flushed when the scroll animation finishes
https://bugs.webkit.org/show_bug.cgi?id=77338

Reviewed by Noam Rosenthal.

Schedule a layer flush when setting the visible content rect and scale.

Fixed with the help of Jocelyn Turcotte <jocelyn.turcotte@nokia.com>

* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):

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

12 years agoRemove all references to NSPasteboard objects from the Pasteboard
enrica@apple.com [Mon, 30 Jan 2012 16:58:20 +0000 (16:58 +0000)]
Remove all references to NSPasteboard objects from the Pasteboard
class interface on Mac.
https://bugs.webkit.org/show_bug.cgi?id=77261

This is cleanup work needed as first step in the direction of
removing access to NSPasteboard from the WebProcess.
This way all access to the NSPasteboard object are internal to
the class.
Removed static methods taking NSPasteboard as paramenter and changed
the constructor of the class to take the pasteboard name instead of
the NSPasteboard object.

Reviewed by Alexey Proskuryakov.

No new tests. There is no change in behavior.

* editing/Editor.cpp: Removed ununsed private method writeSelectionToPasteboard.
(WebCore):
* editing/Editor.h: Ditto.
(Editor):
():
* editing/mac/EditorMac.mm:
(WebCore::Editor::writeSelectionToPasteboard):
(WebCore::Editor::readSelectionFromPasteboard):
* platform/Pasteboard.h:
(Pasteboard):
* platform/mac/ClipboardMac.mm:
(WebCore::ClipboardMac::writeRange):
(WebCore::ClipboardMac::writePlainText):
(WebCore::ClipboardMac::writeURL):
* platform/mac/DragDataMac.mm:
(WebCore::DragData::asPlainText):
(WebCore::DragData::asURL):
(WebCore::DragData::asFragment):
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::generalPasteboard):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::writeSelectionForTypes): Added.
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writeURLForTypes): Added.
(WebCore::Pasteboard::writeURL):
(WebCore::Pasteboard::writeImage):

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

12 years agoReduce non-CSSOM API of CSSStyleDeclaration
antti@apple.com [Mon, 30 Jan 2012 16:46:56 +0000 (16:46 +0000)]
Reduce non-CSSOM API of CSSStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=77299

Reviewed by Andreas Kling.

../WebCore:

CSSStyleDeclaration should expose the CSSOM API only. Subclasses should expose the internal API only.
This will move us closer to being able to split the CSSOM API from the internal implementation.

- Make CSSStyleDeclaration CSSOM functions virtual, internal functions non-virtual.
- Move implementations to subclasses (CSSComputedStyleDeclaration, CSSMutableStyleDeclaration).
- Make CSSOM functions in the subclasses private (making it harder to invoke them internally).
- Switch a bunch of places to use internal API instead of CSSOM.

* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
(WebCore::V8CSSStyleDeclaration::namedPropertySetter):

    Switch to *Internal versions of the CSSOM functions.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::length):
(WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
(WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):

    Move copyPropertiesInSet to subclasses, devirtualize.

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyPriority):
(WebCore::CSSComputedStyleDeclaration::getPropertyShorthand):
(WebCore::CSSComputedStyleDeclaration::isPropertyImplicit):
(WebCore::CSSComputedStyleDeclaration::setProperty):
(WebCore::CSSComputedStyleDeclaration::removeProperty):
* css/CSSComputedStyleDeclaration.h:
(CSSComputedStyleDeclaration):
* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::cssText):
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::length):
(WebCore::CSSMutableStyleDeclaration::asText):
(WebCore::CSSMutableStyleDeclaration::cssText):
(WebCore):
(WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSMutableStyleDeclaration::getPropertyValue):
(WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
(WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
(WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
(WebCore::CSSMutableStyleDeclaration::setProperty):
(WebCore::CSSMutableStyleDeclaration::removeProperty):
(WebCore::CSSMutableStyleDeclaration::copyPropertiesInSet):

    Move copyPropertiesInSet to subclasses, devirtualize.

(WebCore::CSSMutableStyleDeclaration::cssPropertyMatches):
(WebCore::CSSMutableStyleDeclaration::removeEquivalentProperties):

    Move diff() to CSSMutableStyleDeclaration, rename to removeEquivalentProperties, switch to mutate
    this object instead of the argument object.

* css/CSSMutableStyleDeclaration.h:
(CSSMutableStyleDeclaration):
(WebCore::CSSMutableStyleDeclaration::propertyCount):
(WebCore::CSSMutableStyleDeclaration::isEmpty):
(WebCore::CSSMutableStyleDeclaration::propertyAt):

    Expose properties and property count internally (iterator should be removed in favor of these).

* css/CSSStyleDeclaration.cpp:
(WebCore):
* css/CSSStyleDeclaration.h:
(CSSStyleDeclaration):
(WebCore::CSSStyleDeclaration::getPropertyCSSValueInternal):
(WebCore::CSSStyleDeclaration::getPropertyValueInternal):
(WebCore::CSSStyleDeclaration::setPropertyInternal):

    Add *Internal versions of some CSSOM APIs to support some editing and bindings uses.
    These take propertyIDs instead of strings names.

* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::cssText):
* css/CSSStyleSelector.cpp:
(WebCore::leftToRightDeclaration):
(WebCore::rightToLeftDeclaration):
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
(WebCore::CSSStyleSelector::matchPageRulesForList):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::cssText):
* dom/StyledElement.cpp:
(WebCore::StyledElement::updateStyleAttribute):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
(WebCore::ApplyStyleCommand::addBlockStyle):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
* editing/EditingStyle.cpp:
():
(WebCore::copyEditingProperties):
(WebCore):
(WebCore::propertyCSSValue):
(WebCore::getRGBAFontColor):
(WebCore::EditingStyle::overrideWithStyle):
(WebCore::EditingStyle::removeStyleAddedByNode):
(WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
(WebCore::EditingStyle::triStateOfStyle):
(WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::removePropertiesInStyle):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):
(WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
(WebCore::StyleChange::StyleChange):
(WebCore::fontWeightIsBold):
(WebCore::getPropertiesNotIn):
(WebCore::getIdentifierValue):
(WebCore::hasTransparentBackgroundColor):
* editing/EditingStyle.h:

    Adapt to changes.

(WebCore):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::handleStyleSpansBeforeInsertion):
(WebCore::ReplaceSelectionCommand::handleStyleSpans):
* editing/mac/EditorMac.mm:
(WebCore::styleForSelectionStart):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
(WebCore::StyledMarkupAccumulator::appendElement):
* html/ImageDocument.cpp:
(WebCore::ImageDocument::resizeImageToFit):
(WebCore::ImageDocument::restoreImageSize):
(WebCore::ImageDocument::windowSizeChanged):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
* html/canvas/CanvasStyle.cpp:
(WebCore::currentColor):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::revalidateStyle):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
* rendering/RenderTreeAsText.cpp:
(WebCore::isEmptyOrUnstyledAppleStyleSpan):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::getPresentationAttribute):

../WebKit/qt:

* Api/qwebelement.cpp:
(QWebElement::styleProperty):
(QWebElement::setStyleProperty):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::computedStyleIncludingVisitedInfo):

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

12 years agoWeb Inspector: protocol validator should fail if one of response fields turns optional
pfeldman@chromium.org [Mon, 30 Jan 2012 16:40:55 +0000 (16:40 +0000)]
Web Inspector: protocol validator should fail if one of response fields turns optional
https://bugs.webkit.org/show_bug.cgi?id=76452

Reviewed by Yury Semikhatsky.

* inspector/Inspector-0.1.json:
* inspector/Inspector.json:
* inspector/generate-inspector-protocol-version:
(compare_commands):
(compare_events):
(compare_params_list):
(compare_types):
(self_test):

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

12 years agoWeb Inspector: keyboard navigation through comparison view in heap profiler should...
yurys@chromium.org [Mon, 30 Jan 2012 16:17:01 +0000 (16:17 +0000)]
Web Inspector: keyboard navigation through comparison view in heap profiler should update retainers view
https://bugs.webkit.org/show_bug.cgi?id=77326

Keyboard navigation in the detailed heap snapshot view now updates retainers view.

Reviewed by Pavel Feldman.

* inspector/front-end/DataGrid.js: Added SelectedNode/DeselectedNode events to DataGrid.
(WebInspector.DataGridNode.prototype.select):
(WebInspector.DataGridNode.prototype.deselect):
* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype._selectionChanged):
(WebInspector.DetailedHeapshotView.prototype._setRetainmentDataGridSource):

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

12 years ago2012-01-30 Yury Semikhatsky <yurys@chromium.org>
yurys@chromium.org [Mon, 30 Jan 2012 15:49:23 +0000 (15:49 +0000)]
2012-01-30  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix inspector front-end compilation.

        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject):
        (WebInspector.RemoteObject.fromPayload):

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

12 years ago[chromium] remove exit time destructors from TextureManagerTest
jochen@chromium.org [Mon, 30 Jan 2012 15:24:22 +0000 (15:24 +0000)]
[chromium] remove exit time destructors from TextureManagerTest
https://bugs.webkit.org/show_bug.cgi?id=77333

Reviewed by Tony Gentilcore.

Non-trivial, global objects require an at-exit time destructor which add
unnecessary complexity and delays to shutdown.

* tests/FakeCCLayerTreeHostClient.h: added newline at EOF
* tests/TextureManagerTest.cpp:
(WTF::FakeTextureAllocator::~FakeTextureAllocator):
(TextureManagerTest):
(WTF::TextureManagerTest::TextureManagerTest):
(WTF::TextureManagerTest::~TextureManagerTest):
(WTF::TextureManagerTest::texturesMemorySize):
(WTF::TextureManagerTest::createTextureManager):
(WTF::TextureManagerTest::requestTexture):
(WTF::TEST_F):

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

12 years agoNode::parentOrHostElement(): Node::shadowHost() already returns an Element*
rolandsteiner@chromium.org [Mon, 30 Jan 2012 15:19:02 +0000 (15:19 +0000)]
Node::parentOrHostElement(): Node::shadowHost() already returns an Element*
https://bugs.webkit.org/show_bug.cgi?id=77332

Reviewed by Kent Tamura.

No new tests. (simple refactoring)

* dom/Node.cpp:
(WebCore::Node::parentOrHostElement):

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

12 years agoAdd manual tests for tap highlighting
kenneth@webkit.org [Mon, 30 Jan 2012 15:05:18 +0000 (15:05 +0000)]
Add manual tests for tap highlighting

Rubberstamped by Simon Hausmann.

* ManualTests/qt/tap-highlighting-colors.html: Added.
* ManualTests/qt/tap-highlighting-images.html: Added.
* ManualTests/qt/tap-highlighting-inlines.html: Added.

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