WebKit-https.git
9 years ago<rdar://problem/10809525> WebKit2’s WebFrameLoaderClient::shouldUseCredentialStorage...
mitz@apple.com [Sun, 5 Feb 2012 18:51:03 +0000 (18:51 +0000)]
<rdar://problem/10809525> WebKit2’s WebFrameLoaderClient::shouldUseCredentialStorage() always returns true
https://bugs.webkit.org/show_bug.cgi?id=77823

Reviewed by Anders Carlsson.

Source/WebKit2:

* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
(WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage): Added. Calls
through to the client if it implements shouldUseCredentialStorage. Returns true otherwise.
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Changed to call the injected
bundle resource load client.

Tools:

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage): Updated for the additional callback.

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

9 years ago[EFL] Remove g_thread_init() calls
gyuyoung.kim@samsung.com [Sun, 5 Feb 2012 14:02:03 +0000 (14:02 +0000)]
[EFL] Remove g_thread_init() calls
https://bugs.webkit.org/show_bug.cgi?id=77828

Reviewed by Andreas Kling.

g_thread_init has been deprecated since glib 2.32. This function is no longer necessary.
The GLib threading system is automatically initialized at the start of your program.

* ewk/ewk_main.cpp:
(_ewk_init_body):

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

9 years ago[CMAKE] Support javascriptcore test for EFL port.
gyuyoung.kim@samsung.com [Sun, 5 Feb 2012 09:36:24 +0000 (09:36 +0000)]
[CMAKE] Support javascriptcore test for EFL port.
https://bugs.webkit.org/show_bug.cgi?id=77425

Reviewed by Daniel Bates.

Efl and WinCE as well as Blackberry port are now using Cmake as its build system
and they are share the make file to create jsc excutable. In order to run
"run-javascriptcore-tests", EFL port needs to change jsc installation configuration
with executable output directory(e.g. Programs). So, this patch change jsc installation
configuration only for EFL port.

.:

* Source/cmake/OptionsEfl.cmake: Change *jsc_efl* name with *jsc*.

Source/JavaScriptCore:

* shell/CMakeLists.txt:

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

9 years ago[CMAKE] Do not build Tools when building jsc only.
gyuyoung.kim@samsung.com [Sun, 5 Feb 2012 09:27:59 +0000 (09:27 +0000)]
[CMAKE] Do not build Tools when building jsc only.
https://bugs.webkit.org/show_bug.cgi?id=77826

Reviewed by Daniel Bates.

Do not build Tools when jsc is only built. Build breaks occur because
Tools is built together when building jsc.

* CMakeLists.txt: Build Tools directory when ENABLE_TOOLS is on.

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

9 years agoRemove mapped vs non-mapped attribute distinction.
kling@webkit.org [Sun, 5 Feb 2012 09:26:05 +0000 (09:26 +0000)]
Remove mapped vs non-mapped attribute distinction.
<http://webkit.org/b/77827>

Reviewed by Antti Koivisto.

Removed the isMappedAttribute flag from Attribute as it no longer serves
a practical purpose. Previously, StyledElement would generate mapped
attributes and plain Element would generate non-mapped ones.

The distinction is now made much more clearly by dividing the work between
Element's and StyledElement's attributeChanged() methods. The only thing
that StyledElement wants to do in addition to what Element does is
calling parseMappedAttribute() (which we'll rename in a later patch.)

* dom/Attribute.cpp:
(WebCore::Attribute::clone):
* dom/Attribute.h:
(WebCore::Attribute::create):
(WebCore::Attribute::Attribute):
(Attribute):
* dom/Document.cpp:
(WebCore::Document::createAttributeNS):
* dom/Element.cpp:
(WebCore::Element::attributeChanged):
* dom/Element.h:
(Element):
* dom/Node.cpp:
(WebCore::Node::dumpStatistics):
* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::parseMappedAttribute):
* dom/StyledElement.h:
(StyledElement):
* html/parser/HTMLConstructionSite.cpp:
(WebCore):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::attributesForIsindexInput):
* html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::insertFakePreElement):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::getPresentationAttribute):
* xml/parser/MarkupTokenBase.h:
(WebCore::::initializeAttributes):

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

9 years agoKill CSSMappedAttributeDeclaration.
kling@webkit.org [Sun, 5 Feb 2012 08:29:38 +0000 (08:29 +0000)]
Kill CSSMappedAttributeDeclaration.
<http://webkit.org/b/77820>

Reviewed by Antti Koivisto.

Replace all use of CSSMappedAttributeDeclaration by StylePropertySet.
Moved the setNeedsStyleRecalc() calls from CSSMappedAttributeDeclaration
to the add/remove-CSS-property helpers in StyledElement.

This removes one step of indirection for attribute styles and reduces
the size of elements that have presentational attributes by one pointer.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/CSSMappedAttributeDeclaration.cpp: Removed.
* dom/CSSMappedAttributeDeclaration.h: Removed.
* dom/DOMAllInOne.cpp:

    Remove CSSMappedAttributeDeclaration.{cpp,h}

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

    Remove CSSParser::parseMappedAttributeValue(), we now use parseValue()
    directly instead. We lose the benefit of caching new CSSValues in the
    document's CSSValuePool but this optimization can be added back later.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchAllRules):
* dom/ElementAttributeData.h:
(ElementAttributeData):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::ensureAttributeStyle):
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::attributeStyle):
(NamedNodeMap):
* dom/StyledElement.cpp:
(WebCore::StyledElement::removeCSSProperties):
(WebCore::StyledElement::addCSSProperty):
(WebCore::StyledElement::addCSSImageProperty):
(WebCore::StyledElement::addCSSLength):
(WebCore::StyledElement::addCSSColor):
* dom/StyledElement.h:
(WebCore):
(WebCore::StyledElement::attributeStyle):
(WebCore::StyledElement::ensureAttributeStyle):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):

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

9 years agoWeb Inspector: beautify retaining tree items view.
loislo@chromium.org [Sun, 5 Feb 2012 08:27:07 +0000 (08:27 +0000)]
Web Inspector: beautify retaining tree items view.
https://bugs.webkit.org/show_bug.cgi?id=77810

Reviewed by Yury Semikhatsky.

* inspector/front-end/DetailedHeapshotGridNodes.js:
(WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
(WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
* inspector/front-end/heapProfiler.css:
(.cycled-ancessor-node):
* inspector/front-end/profilesPanel.css:

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

9 years ago[chromium] Add support to force full damage in CCDamageTracker
shawnsingh@chromium.org [Sun, 5 Feb 2012 06:13:47 +0000 (06:13 +0000)]
[chromium] Add support to force full damage in CCDamageTracker
https://bugs.webkit.org/show_bug.cgi?id=76805

Reviewed by James Robinson.

Source/WebCore:

Unit test added to CCDamageTrackerTest.cpp.

This feature is needed for events that should cause the entire
surface to be damaged, even if layers themselves had only partial
damage or no damage at all. For example, tab-switching is one such
event.

* platform/graphics/chromium/cc/CCDamageTracker.cpp:
(WebCore::CCDamageTracker::CCDamageTracker):
(WebCore::CCDamageTracker::updateDamageRectForNextFrame):
* platform/graphics/chromium/cc/CCDamageTracker.h:
(WebCore::CCDamageTracker::forceFullDamageNextUpdate):
(CCDamageTracker):

Source/WebKit/chromium:

* tests/CCDamageTrackerTest.cpp:
(WebKitTests::TEST_F):
(WebKitTests):

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

9 years ago<rdar://problem/10660698> Clients cannot prevent caching of individual responses
mitz@apple.com [Sun, 5 Feb 2012 02:53:18 +0000 (02:53 +0000)]
<rdar://problem/10660698> Clients cannot prevent caching of individual responses
https://bugs.webkit.org/show_bug.cgi?id=77822

Reviewed by Sam Weinig.

Source/WebKit2:

* Shared/APIClientTraits.cpp: Added definition of interfaceSizesByVersion for
WKBundlePageResourceLoadClient.
* Shared/APIClientTraits.h: Added APIClientTraits specialization for WKBundlePageResourceLoadClient.
* WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added WKBundlePageShouldCacheResponseCallback
typedef, added shouldCacheResponse member to WKBundlePageResourceLoadClient, and bumped
kWKBundlePageResourceLoadClientCurrentVersion to 1.
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
(WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse): Added. Calls through
to the client if it implements shouldCacheResponse. Returns true otherwise.
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::willCacheResponse): Changed to call
InjectedBundlePageResourceLoadClient::shouldCacheResponse() and return nil if the former
returns false.
(WebKit::WebFrameLoaderClient::shouldCacheResponse): Changed to call
InjectedBundlePageResourceLoadClient::shouldCacheResponse().

Tools:

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage): Updated for the additional callback.

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

9 years agoRemove dead code from ScrollingCoordinator
andersca@apple.com [Sun, 5 Feb 2012 01:03:24 +0000 (01:03 +0000)]
Remove dead code from ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=77821

Reviewed by Sam Weinig.

* WebCore.exp.in:
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
* page/scrolling/ScrollingCoordinator.h:
(ScrollingCoordinator):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
(WebCore::RenderLayerCompositor::updateRootLayerPosition):

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

9 years agoAdd ability to send WKURLRequests in WebKit2 API user messages
weinig@apple.com [Sun, 5 Feb 2012 00:55:32 +0000 (00:55 +0000)]
Add ability to send WKURLRequests in WebKit2 API user messages
https://bugs.webkit.org/show_bug.cgi?id=77819

Reviewed by Anders Carlsson.

Source/WebKit2:

Test: WebKit2UserMessageRoundTripTest API test.

* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):
Add encode/decode for WebURLRequest.

Tools:

Add testing for round-tripping WKTypes from the UIProcess,
to the WebProcess, and back.

- This commit adds a test fixture and tests for WKURLRequestRef, WKURLRef, and WKStringRef.
  More can easily be added.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/UserMessage.cpp: Added.
(TestWebKitAPI):
(WebKit2UserMessageRoundTripTest):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::WebKit2UserMessageRoundTripTest):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::didReceiveMessageFromInjectedBundle):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishLoadForFrame):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::setInjectedBundleClient):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::SetUp):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::roundTrip):
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebKit2/UserMessage_Bundle.cpp: Added.
(TestWebKitAPI):
(UserMessageTest):
(TestWebKitAPI::UserMessageTest::UserMessageTest):
(TestWebKitAPI::UserMessageTest::didReceiveMessage):
* TestWebKitAPI/mac/PlatformWebViewMac.mm:
(TestWebKitAPI::PlatformWebView::resizeTo):
(TestWebKitAPI):
* TestWebKitAPI/win/TestWebKitAPI.vcproj:
* TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj:

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

9 years agoThe scrolling tree should inform the main scrolling coordinator when the scroll posit...
andersca@apple.com [Sun, 5 Feb 2012 00:43:39 +0000 (00:43 +0000)]
The scrolling tree should inform the main scrolling coordinator when the scroll position changes
https://bugs.webkit.org/show_bug.cgi?id=77818

Reviewed by Sam Weinig.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
Set the main frame scroll position.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateMainFrameScrollPosition):
Call ScrollingCoordinator::updateMainFrameScrollPosition on the main thread.

* page/scrolling/mac/ScrollingTreeNodeMac.mm:
(WebCore::ScrollingTreeNodeMac::scrollBy):
Call ScrollingTree::updateMainFrameScrollPosition.

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

9 years ago<rdar://problem/10772406> WKPreferences instances cannot be copied
mitz@apple.com [Sun, 5 Feb 2012 00:18:17 +0000 (00:18 +0000)]
<rdar://problem/10772406> WKPreferences instances cannot be copied
https://bugs.webkit.org/show_bug.cgi?id=77816

Reviewed by Sam Weinig.

Source/WebKit2:

Test added in TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp.

* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesCreateCopy): Added.
* UIProcess/API/C/WKPreferencesPrivate.h:
* UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::WebPreferences): Added this constructor that copies the
WebPreferencesStore of the given WebPreferences.
* UIProcess/WebPreferences.h:
(WebKit::WebPreferences::create): Added this create function that takes a WebPreferences
instance and creates a new instance with a copy of the given instance’s store.

Tools:

* TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
(TestWebKitAPI::TEST):

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

9 years agoRubber stamped by Sam Weinig.
barraclough@apple.com [Sat, 4 Feb 2012 23:49:37 +0000 (23:49 +0000)]
Rubber stamped by Sam Weinig.

* yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPatternConstructor::quantifyAtom):
    - Fix comment.

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

9 years agoFix bug in svg-link-hover-use.svg
commit-queue@webkit.org [Sat, 4 Feb 2012 22:56:55 +0000 (22:56 +0000)]
Fix bug in svg-link-hover-use.svg
https://bugs.webkit.org/show_bug.cgi?id=77768

Patch by Philip Rogers <pdr@google.com> on 2012-02-04
Reviewed by Eric Seidel.

* ManualTests/svg-link-hover-use.svg:

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

9 years agoElement: Remove unnecessary attributeChanged() argument.
kling@webkit.org [Sat, 4 Feb 2012 22:56:28 +0000 (22:56 +0000)]
Element: Remove unnecessary attributeChanged() argument.
<http://webkit.org/b/77814>

Reviewed by Ryosuke Niwa.

Remove the 'preserveDecls' argument to Element::attributeChanged() as that is no
longer needed after the removal of per-attribute style declarations.
Decorated subclass overrides with OVERRIDE since we're touching the lines.

Also removed an old inaccurate comment in NamedNodeMap::setAttributes() - calling
attributeChanged() is absolutely necessary to initialize element-specific state.

* dom/Element.cpp:
(WebCore::Element::attributeChanged):
* dom/Element.h:
(Element):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::setAttributes):
* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):
* dom/StyledElement.h:
(StyledElement):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::attributeChanged):
* html/HTMLMediaElement.h:
(HTMLMediaElement):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::attributeChanged):
* html/HTMLScriptElement.h:
(HTMLScriptElement):
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::attributeChanged):
* html/HTMLTrackElement.h:
(HTMLTrackElement):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::attributeChanged):
* svg/SVGAnimationElement.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::attributeChanged):
* svg/SVGElement.h:
(SVGElement):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::attributeChanged):
* svg/animation/SVGSMILElement.h:
(SVGSMILElement):

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

9 years ago[GTK] CurrentTime: Reorder headers for win32
commit-queue@webkit.org [Sat, 4 Feb 2012 22:44:40 +0000 (22:44 +0000)]
[GTK] CurrentTime: Reorder headers for win32
https://bugs.webkit.org/show_bug.cgi?id=77808

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-02-04
Reviewed by Martin Robinson.

In GTK+ win32 port, monotonicallyIncreasingTime() implementation is
based on g_get_monotonic_time(). Reorder headers to make sure glib.h
gets included even when the platform is win32.

CurrentTime.cpp: In function 'double WTF::monotonicallyIncreasingTime()':
CurrentTime.cpp:321:53: error: 'g_get_monotonic_time' was not declared in this scope
CurrentTime.cpp:322:1: warning: control reaches end of non-void function [-Wreturn-type]

* wtf/CurrentTime.cpp:

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

9 years agoCrash when reparenting children of flexible boxes
commit-queue@webkit.org [Sat, 4 Feb 2012 22:40:52 +0000 (22:40 +0000)]
Crash when reparenting children of flexible boxes
https://bugs.webkit.org/show_bug.cgi?id=77458

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-02-04
Reviewed by Ojan Vafai.

Source/WebCore:

This fixes some regressions I introduced in r106150. RenderBlock::
removeChild needs to be careful about not collapsing anonymous
blocks underneath flexible boxes, and also about node ordering
when there is an after block.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild):
(WebCore::RenderBlock::collapseAnonymousBoxChild):

LayoutTests:

This test case reparents a block node from under a flexible box so
that only anonymous blocks and floating generated blocks remain.
A recent patch caused these anonymous blocks to be collapsed, which
is incorrect.

* fast/css-generated-content/remove-div-from-flexible-box-with-floating-after-content-crash-expected.txt: Added
* fast/css-generated-content/remove-div-from-flexible-box-with-floating-after-content-crash.html: Added

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

9 years agoDebug build fix after r106715.
rniwa@webkit.org [Sat, 4 Feb 2012 22:26:52 +0000 (22:26 +0000)]
Debug build fix after r106715.

* html/HTMLDetailsElement.cpp:
(WebCore::DetailsSummaryElement::create):

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

9 years ago[GTK] Use the wide character version of win32 API by default
commit-queue@webkit.org [Sat, 4 Feb 2012 22:24:01 +0000 (22:24 +0000)]
[GTK] Use the wide character version of win32 API by default
https://bugs.webkit.org/show_bug.cgi?id=77809

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-02-04
Reviewed by Martin Robinson.

Certain win32-specific files (like PluginDatabaseWin.cpp) make the
assumption that the wide character version of win32 API is the default.
Define _UNICODE and UNICODE to do this, similar to what other win32
ports are doing.

* GNUmakefile.am:

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

9 years agoUnreviewed test fix after r106740.
kling@webkit.org [Sat, 4 Feb 2012 21:31:51 +0000 (21:31 +0000)]
Unreviewed test fix after r106740.
<http://webkit.org/b/77204>

Disable matched declaration caching for elements with attribute style until we can
figure out how it's supposed to work.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchAllRules):

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

9 years agoKill per-Attribute style declarations.
kling@webkit.org [Sat, 4 Feb 2012 12:24:19 +0000 (12:24 +0000)]
Kill per-Attribute style declarations.
<http://webkit.org/b/77204>

Reviewed by Antti Koivisto.

Source/WebCore:

TL;DR summary: Remove the per-Attribute style declarations and replace them by a single
style declaration on StyledElement that acts as a secondary inline style.

The previous design was conceived in the Age of the Old Web(tm) where the majority of
element styling was accomplished via attributes. Nowadays, CSS is a much better tool for
this and we should optimize around that instead.

StyledElements now have an attributeStyle() which contains all the styling from attributes.
parseMappedAttribute() is responsible for adding/removing properties to the attributeStyle
as the corresponding attributes come in/out of the element.

Each Attribute instance shrinks by one pointer, each element that has attributes grows by
one pointer. The styles from individual attributes are no longer shared, so content that
uses a lot of repeating styling attributes will see a slight memory regression from this.
Future improvements to this could enable sharing the attributeStyle between elements that
have the same exact attributes to mitigate some of the damage.

There should be no web-facing behavior change from this, but it does break two things:

- The Inspector feature for displaying per-attribute styles. To keep things manageable,
  this patch simply files all the attribute styles together under an anonymous attribute
  in the Inspector.

- The Obj-C DOM binding for Attr::style() has to be kept for compatibility reasons,
  though it's already deprecated. It will now always return nil, since there's no way to
  retrieve a live style declaration that's specific to a certain Attr.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchAllRules):
(WebCore::CSSStyleSelector::canShareStyleWithElement):
* dom/Attr.h:
(WebCore):
(Attr):
(WebCore::Attr::style):
* dom/Attribute.cpp:
(WebCore::Attribute::clone):
* dom/Attribute.h:
(WebCore):
(WebCore::Attribute::create):
(WebCore::Attribute::createMapped):
(Attribute):
(WebCore::Attribute::Attribute):
* dom/CSSMappedAttributeDeclaration.cpp:
(WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
(WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
* dom/CSSMappedAttributeDeclaration.h:
(CSSMappedAttributeDeclaration):
(WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
* dom/Element.h:
(Element):
* dom/ElementAttributeData.h:
(ElementAttributeData):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::ensureAttributeStyle):
(WebCore):
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::attributeStyle):
(NamedNodeMap):
* dom/StyledElement.cpp:
(WebCore):
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::removeCSSProperties):
(WebCore::StyledElement::addCSSProperty):
(WebCore::StyledElement::addCSSImageProperty):
(WebCore::StyledElement::addCSSLength):
(WebCore::StyledElement::addCSSColor):
* dom/StyledElement.h:
(StyledElement):
(WebCore::StyledElement::removeCSSProperty):
(WebCore::StyledElement::attributeStyle):
(WebCore::StyledElement::ensureAttributeStyle):
* html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::parseMappedAttribute):
* html/HTMLBRElement.h:
(HTMLBRElement):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::parseMappedAttribute):
* html/HTMLBodyElement.h:
(HTMLBodyElement):
* html/HTMLDivElement.cpp:
(WebCore::HTMLDivElement::parseMappedAttribute):
* html/HTMLDivElement.h:
(HTMLDivElement):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::applyBorderAttribute):
(WebCore::HTMLElement::mapLanguageAttributeToLocale):
(WebCore::HTMLElement::parseMappedAttribute):
(WebCore::HTMLElement::removeHTMLAlignment):
(WebCore):
(WebCore::HTMLElement::addHTMLAlignmentToStyledElement):
(WebCore::HTMLElement::setContentEditable):
* html/HTMLElement.h:
(HTMLElement):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseMappedAttribute):
* html/HTMLEmbedElement.h:
(HTMLEmbedElement):
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::parseMappedAttribute):
* html/HTMLFontElement.h:
(HTMLFontElement):
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::parseMappedAttribute):
* html/HTMLFrameSetElement.h:
(HTMLFrameSetElement):
* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::parseMappedAttribute):
* html/HTMLHRElement.h:
(HTMLHRElement):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseMappedAttribute):
* html/HTMLIFrameElement.h:
(HTMLIFrameElement):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseMappedAttribute):
* html/HTMLImageElement.h:
(HTMLImageElement):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseMappedAttribute):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::parseMappedAttribute):
* html/HTMLLIElement.h:
(HTMLLIElement):
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::parseMappedAttribute):
* html/HTMLMarqueeElement.h:
(HTMLMarqueeElement):
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::parseMappedAttribute):
* html/HTMLOListElement.h:
(HTMLOListElement):
* html/HTMLOutputElement.cpp:
* html/HTMLOutputElement.h:
(HTMLOutputElement):
* html/HTMLParagraphElement.cpp:
(WebCore::HTMLParagraphElement::parseMappedAttribute):
* html/HTMLParagraphElement.h:
(HTMLParagraphElement):
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::parseMappedAttribute):
* html/HTMLPlugInElement.h:
(HTMLPlugInElement):
* html/HTMLPreElement.cpp:
(WebCore::HTMLPreElement::parseMappedAttribute):
* html/HTMLPreElement.h:
(HTMLPreElement):
* html/HTMLTableCaptionElement.cpp:
(WebCore::HTMLTableCaptionElement::parseMappedAttribute):
* html/HTMLTableCaptionElement.h:
(HTMLTableCaptionElement):
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::parseMappedAttribute):
* html/HTMLTableCellElement.h:
(HTMLTableCellElement):
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::parseMappedAttribute):
* html/HTMLTableColElement.h:
(HTMLTableColElement):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::parseMappedAttribute):
* html/HTMLTableElement.h:
(HTMLTableElement):
* html/HTMLTablePartElement.cpp:
(WebCore):
(WebCore::HTMLTablePartElement::parseMappedAttribute):
* html/HTMLTablePartElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::parseMappedAttribute):
* html/HTMLUListElement.cpp:
(WebCore::HTMLUListElement::parseMappedAttribute):
* html/HTMLUListElement.h:
(HTMLUListElement):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::parseMappedAttribute):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::parseMappedAttribute):
* mathml/MathMLElement.h:
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::parseMappedAttribute):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::parseMappedAttribute):
(WebCore::SVGStyledElement::getPresentationAttribute):
* svg/SVGStyledElement.h:
(SVGStyledElement):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::parseMappedAttribute):

LayoutTests:

Rebaselined 3 inspector tests since attribute styles are no longer shown per-attribute.

* inspector/elements/elements-panel-styles-expected.txt:
* inspector/styles/styles-computed-trace-expected.txt:
* inspector/styles/styles-new-API-expected.txt:

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

9 years agogarden-o-matic's All Failure tab should let you examine and rebaseline expected failures
abarth@webkit.org [Sat, 4 Feb 2012 10:22:12 +0000 (10:22 +0000)]
garden-o-matic's All Failure tab should let you examine and rebaseline expected failures
https://bugs.webkit.org/show_bug.cgi?id=77802

Reviewed by Eric Seidel.

This patch refactors our directory grouping code into base.js where it
can be shared between failures.js and notifications.js.  It then adds
an Examine action to each group of failures that triggers the "results"
view.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/failures.css:

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

9 years agoWeb Inspector: get rid of cycles in retaining tree
loislo@chromium.org [Sat, 4 Feb 2012 10:20:07 +0000 (10:20 +0000)]
Web Inspector: get rid of cycles in retaining tree
https://bugs.webkit.org/show_bug.cgi?id=77801

Drive by fix: 'retained by' prefix was removed.

Reviewed by Yury Semikhatsky.

* inspector/front-end/DetailedHeapshotGridNodes.js:
(WebInspector.HeapSnapshotObjectNode):
(WebInspector.HeapSnapshotObjectNode.prototype._updateHasChildren):
(WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
(WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
* inspector/front-end/profilesPanel.css:
(.cycled-ancessor-node):

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

9 years agoAdd the "JS" prefix to JSC specific IDL attributes
haraken@chromium.org [Sat, 4 Feb 2012 10:12:47 +0000 (10:12 +0000)]
Add the "JS" prefix to JSC specific IDL attributes
https://bugs.webkit.org/show_bug.cgi?id=77693

Reviewed by Darin Adler.

Some JSC specific IDLs do not have "JS" prefix, e.g. [CustomIsReachable].
It might be OK since JSC is the main JavaScript engine in WebKit, but
distinguishing IDLs widely used in WebKit and IDLs used in JSC only would help
people understand the role of IDLs.

This patch renames the following JSC specific IDLs:

    CustomFinalize => JSCustomFinalize
    CustomIsReachable => JSCustomIsReachable
    CustomMarkFunction => JSCustomMarkFunction
    CustomToJS => JSCustomToJS
    CustomNativeConverter => JSCustomToNativeObject (Note: For naming consistency with [JSCustomToJS])
    GenerateIsReachable => JSGenerateIsReachable
    GenerateToJS => JSGenerateToJS
    NoStaticTables => JSNoStaticTables
    WindowEventListener => JSWindowEventListener
    InlineGetOwnPropertySlot => JSInlineGetOwnPropertySlot
    DelegatingPrototypePutFunction => JSCustomPrototypePutDelegate

No tests. No changes in behavior.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(HasCustomToV8Implementation):

* bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.

* css/CSSRule.idl:
* css/CSSRuleList.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSValue.idl:
* css/MediaList.idl:
* css/MediaQueryListListener.idl:
* css/StyleMedia.idl:
* css/StyleSheet.idl:
* css/StyleSheetList.idl:
* dom/Attr.idl:
* dom/DOMCoreException.idl:
* dom/DOMImplementation.idl:
* dom/DOMStringMap.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/ErrorEvent.idl:
* dom/Event.idl:
* dom/EventException.idl:
* dom/EventListener.idl:
* dom/MessageChannel.idl:
* dom/MessageEvent.idl:
* dom/MessagePort.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/NodeFilter.idl:
* dom/NodeIterator.idl:
* dom/NodeList.idl:
* dom/TreeWalker.idl:
* dom/WebKitNamedFlow.idl:
* fileapi/Blob.idl:
* fileapi/DOMFileSystem.idl:
* fileapi/DOMFileSystemSync.idl:
* fileapi/DirectoryEntry.idl:
* fileapi/DirectoryEntrySync.idl:
* fileapi/DirectoryReader.idl:
* fileapi/DirectoryReaderSync.idl:
* fileapi/Entry.idl:
* fileapi/EntryArray.idl:
* fileapi/EntryArraySync.idl:
* fileapi/EntrySync.idl:
* fileapi/File.idl:
* fileapi/FileEntry.idl:
* fileapi/FileEntrySync.idl:
* fileapi/FileError.idl:
* fileapi/FileException.idl:
* fileapi/FileList.idl:
* fileapi/FileReader.idl:
* fileapi/FileReaderSync.idl:
* fileapi/FileWriter.idl:
* fileapi/Metadata.idl:
* fileapi/OperationNotAllowedException.idl:
* fileapi/WebKitBlobBuilder.idl:
* html/DOMFormData.idl:
* html/DOMSettableTokenList.idl:
* html/DOMTokenList.idl:
* html/DOMURL.idl:
* html/HTMLAllCollection.idl:
* html/HTMLBodyElement.idl:
* html/HTMLCollection.idl:
* html/HTMLFrameSetElement.idl:
* html/ImageData.idl:
* html/MediaController.idl:
* html/TextTrack.idl:
* html/TextTrackCue.idl:
* html/VoidCallback.idl:
* html/canvas/ArrayBuffer.idl:
* html/canvas/ArrayBufferView.idl:
* html/canvas/CanvasRenderingContext.idl:
* html/canvas/DataView.idl:
* html/canvas/Float32Array.idl:
* html/canvas/Float64Array.idl:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.idl:
* html/canvas/OESStandardDerivatives.idl:
* html/canvas/OESTextureFloat.idl:
* html/canvas/OESVertexArrayObject.idl:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.idl:
* html/canvas/Uint8ClampedArray.idl:
* html/canvas/WebGLCompressedTextures.idl:
* html/canvas/WebGLDebugRendererInfo.idl:
* html/canvas/WebGLDebugShaders.idl:
* html/canvas/WebGLLoseContext.idl:
* html/canvas/WebGLRenderingContext.idl:
* html/track/TextTrackList.idl:
* loader/appcache/DOMApplicationCache.idl:
* mediastream/LocalMediaStream.idl:
* page/BarInfo.idl:
* page/Console.idl:
* page/DOMSelection.idl:
* page/DOMWindow.idl:
* page/EventSource.idl:
* page/Geolocation.idl:
* page/History.idl:
* page/Location.idl:
* page/Navigator.idl:
* page/Screen.idl:
* page/WorkerNavigator.idl:
* plugins/DOMMimeTypeArray.idl:
* plugins/DOMPluginArray.idl:
* storage/Database.idl:
* storage/DatabaseSync.idl:
* storage/IDBAny.idl:
* storage/IDBKey.idl:
* storage/SQLError.idl:
* storage/SQLException.idl:
* storage/SQLResultSet.idl:
* storage/SQLResultSetRowList.idl:
* storage/SQLTransaction.idl:
* storage/SQLTransactionSync.idl:
* storage/Storage.idl:
* svg/SVGElementInstance.idl:
* svg/SVGPathSeg.idl:
* webaudio/AudioBufferCallback.idl:
* webaudio/AudioBufferSourceNode.idl:
* webaudio/AudioContext.idl:
* webaudio/AudioDestinationNode.idl:
* webaudio/AudioGain.idl:
* webaudio/AudioGainNode.idl:
* webaudio/AudioPannerNode.idl:
* webaudio/AudioProcessingEvent.idl:
* webaudio/BiquadFilterNode.idl:
* webaudio/ConvolverNode.idl:
* webaudio/DelayNode.idl:
* webaudio/DynamicsCompressorNode.idl:
* webaudio/HighPass2FilterNode.idl:
* webaudio/JavaScriptAudioNode.idl:
* webaudio/LowPass2FilterNode.idl:
* webaudio/MediaElementAudioSourceNode.idl:
* webaudio/OfflineAudioCompletionEvent.idl:
* webaudio/RealtimeAnalyserNode.idl:
* webaudio/WaveShaperNode.idl:
* websockets/CloseEvent.idl:
* websockets/WebSocket.idl:
* workers/AbstractWorker.idl:
* workers/DedicatedWorkerContext.idl:
* workers/SharedWorker.idl:
* workers/SharedWorkerContext.idl:
* workers/Worker.idl:
* workers/WorkerContext.idl:
* workers/WorkerLocation.idl:
* xml/XMLHttpRequest.idl:
* xml/XMLHttpRequestException.idl:
* xml/XMLHttpRequestProgressEvent.idl:
* xml/XMLHttpRequestUpload.idl:
* xml/XPathResult.idl:

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

9 years agohttp/tests/security/xss-eval fails due to difference in JSC and V8 eval
abarth@webkit.org [Sat, 4 Feb 2012 10:09:16 +0000 (10:09 +0000)]
http/tests/security/xss-eval fails due to difference in JSC and V8 eval
https://bugs.webkit.org/show_bug.cgi?id=77806

Reviewed by Eric Seidel.

Both the JSC and V8 behaviors are reasonable in this case.  This patch
modifies the test to show that either behavior isn't a security
vulnerability.

* http/tests/security/xss-eval.html:
* platform/chromium/http/tests/security/xss-eval-expected.txt:
* platform/chromium/test_expectations.txt:

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

9 years agocheck-webkit-style is throwing an exception
ojan@chromium.org [Sat, 4 Feb 2012 09:50:47 +0000 (09:50 +0000)]
check-webkit-style is throwing an exception
https://bugs.webkit.org/show_bug.cgi?id=77744

Reviewed by David Levin.

If the test_list is None, then we don't need to check for unsupported
feature tests to skip.

* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort._has_test_in_directories):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(test_skipped_tests_for_unsupported_features_empty_test_list):

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

9 years agoConvert RenderTheme over to new layout abstraction
eae@chromium.org [Sat, 4 Feb 2012 09:42:39 +0000 (09:42 +0000)]
Convert RenderTheme over to new layout abstraction
https://bugs.webkit.org/show_bug.cgi?id=77783

Reviewed by Eric Seidel.

Change the RenderTheme classes to use the new layout abstraction as a
part of the ongoing conversion work.

No new tests.

* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
(WebCore::RenderTheme::baselinePosition):
(WebCore::RenderTheme::adjustRepaintRect):
(WebCore::RenderTheme::meterSizeForBounds):
* rendering/RenderTheme.h:
(RenderTheme):
(WebCore::RenderTheme::paintCapsLockIndicator):
* rendering/RenderThemeChromiumMac.h:
(RenderThemeChromiumMac):
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
* rendering/RenderThemeChromiumSkia.h:
* rendering/RenderThemeMac.h:
(RenderThemeMac):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::adjustRepaintRect):
(WebCore::RenderThemeMac::inflateRect):
(WebCore::RenderThemeMac::setControlSize):
(WebCore::RenderThemeMac::paintCapsLockIndicator):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::meterSizeForBounds):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::baselinePosition):
* rendering/RenderThemeSafari.h:
(RenderThemeSafari):
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::paintSearchFieldCancelButton):
(WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeWin::paintSearchFieldResultsButton):
(WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
* rendering/RenderThemeWin.h:
(RenderThemeWin):

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

9 years agoIndexedDB: mark quota layout test WONTFIX
dgrogan@chromium.org [Sat, 4 Feb 2012 09:40:39 +0000 (09:40 +0000)]
IndexedDB: mark quota layout test WONTFIX
https://bugs.webkit.org/show_bug.cgi?id=77459

Reviewed by Tony Chang.

* platform/chromium/test_expectations.txt:

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

9 years ago[chromium] Fix multi-second hangs in compositor invalidating large layers
senorblanco@chromium.org [Sat, 4 Feb 2012 09:26:17 +0000 (09:26 +0000)]
[chromium] Fix multi-second hangs in compositor invalidating large layers
https://bugs.webkit.org/show_bug.cgi?id=77774

Reviewed by James Robinson.

Correctness covered by existing tests.

* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::pushPropertiesTo):
Remove tiles from the tiler when they are invalid (ie., no longer have
texture backing).
(WebCore::TiledLayerChromium::invalidateRect):
Instead of iterating over the tile indices (which may be very large),
iterate over the tile hash map instead.

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

9 years ago[BlackBerry] Upstream BlackBerry WebCoreSupport ClientExtension and GeolocationContro...
commit-queue@webkit.org [Sat, 4 Feb 2012 09:24:10 +0000 (09:24 +0000)]
[BlackBerry] Upstream BlackBerry WebCoreSupport ClientExtension and GeolocationControllerClientBlackBerry classes
https://bugs.webkit.org/show_bug.cgi?id=77751

Patch by Jacky Jiang <zhajiang@rim.com> on 2012-02-04
Reviewed by Rob Buis.

Initial upstream, no new tests.

* blackberry/WebCoreSupport/ClientExtension.cpp: Added.
* blackberry/WebCoreSupport/ClientExtension.h: Added.
* blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.cpp: Added.
* blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h: Added.

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

9 years agoSource/WebCore: Patch by Swapna P <spottabathini@innominds.com> on 2012-02-04
commit-queue@webkit.org [Sat, 4 Feb 2012 09:19:57 +0000 (09:19 +0000)]
Source/WebCore: Patch by Swapna P <spottabathini@innominds.com> on 2012-02-04
Reviewed by Antonio Gomes.

Bug: iframe with scrolling=no incorrectly autoscrollable
https://bugs.webkit.org/show_bug.cgi?id=61558

Added check for frame scrolling mode just before applying scroll on frame content in function RenderLayer::scrollRect

Testcase: LayoutTests/fast/events/autoscroll-with-non-scrollable-parent.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):

LayoutTests: Patch by Swapna P <spottabathini@innominds.com> on 2012-02-04
Reviewed by Antonio Gomes.

Bug: iframe with scrolling=no incorrectly autoscrollable
https://bugs.webkit.org/show_bug.cgi?id=61558

Did change inorder to print correct log as per the description provided in test case.

* fast/events/autoscroll-with-non-scrollable-parent.html:

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

9 years agoCanvas-into-canvas drawing should respect backing store scale ratio
timothy_horton@apple.com [Sat, 4 Feb 2012 06:43:50 +0000 (06:43 +0000)]
Canvas-into-canvas drawing should respect backing store scale ratio
https://bugs.webkit.org/show_bug.cgi?id=77784
<rdar://problem/10549729>

Reviewed by Dan Bernstein.

Respect the backing store scale ratio when drawing a canvas into another
canvas via ctx.drawImage(canvas, x, y). Previous behavior caused canvas
drawing to differ based on the size of the backing store, which is ideally
an implementation detail to authors.

Also, rename the source canvas arguments to CanvasRenderingContext2D::drawImage
to be more clear.

No new tests.

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

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

9 years agoAdd a Chromium-specific baseline for this test. These results appear to be passing.
abarth@webkit.org [Sat, 4 Feb 2012 04:45:42 +0000 (04:45 +0000)]
Add a Chromium-specific baseline for this test.  These results appear to be passing.

* platform/chromium-win/http/tests/security/cross-frame-access-put-expected.txt: Removed.
* platform/chromium/http/tests/security/cross-frame-access-put-expected.txt: Added.
* platform/chromium/test_expectations.txt:

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

9 years agoList of all failures in garden-o-matic should actually list all the failures
abarth@webkit.org [Sat, 4 Feb 2012 03:59:10 +0000 (03:59 +0000)]
List of all failures in garden-o-matic should actually list all the failures
https://bugs.webkit.org/show_bug.cgi?id=77796

Reviewed by Eric Seidel.

This patch wires a bit more data into the new "All Failures" tab.  I've
also iterated on how we enable this experimental feature.  The tab is
still just a dumb list, but we'll make it smarter.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:

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

9 years agoWindows build fix after r106692.
rniwa@webkit.org [Sat, 4 Feb 2012 03:50:50 +0000 (03:50 +0000)]
Windows build fix after r106692.

* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_reference_files):

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

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=77782
bdakin@apple.com [Sat, 4 Feb 2012 02:01:27 +0000 (02:01 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=77782
WebPageProxy::didNewFirstVisuallyNonEmptyLayout should is called more than
once on some pages with frames
-and corresponding-
<rdar://problem/10798474>

Reviewed by Sam Weinig.

Source/WebCore:

startCountingRelevantRepaintedObjects() should only be called for the main
frame. Otherwise, the counter will be re-set inappropriately, and
didNewFirstVisuallyNonEmptyLayout may even end up firing more than once.
* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):

Tools:

One new test.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp: Added.
(TestWebKitAPI):
(TestWebKitAPI::didForceRepaint):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::didNewFirstVisuallyNonEmptyLayout):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp: Added.
(TestWebKitAPI):
(NewFirstVisuallyNonEmptyLayoutFramesTest):
(TestWebKitAPI::NewFirstVisuallyNonEmptyLayoutFramesTest::NewFirstVisuallyNonEmptyLayoutFramesTest):
(TestWebKitAPI::NewFirstVisuallyNonEmptyLayoutFramesTest::didCreatePage):
* TestWebKitAPI/Tests/WebKit2/lots-of-iframes.html: Added.

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

9 years agoReduce the memory allocations of WebCore's cssPropertyName()
benjamin@webkit.org [Sat, 4 Feb 2012 01:59:41 +0000 (01:59 +0000)]
Reduce the memory allocations of WebCore's cssPropertyName()
https://bugs.webkit.org/show_bug.cgi?id=74782

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-02-03
Reviewed by Geoffrey Garen.

Add a fast path to avoid the use of the StringBuilder.

The string builder is needed for two cases:
-CSS prefix (the character after the prefix must be uppercase)
-JavaScript CamelCase name for CSS properties

We can skip all memory allocations if the property is not in those
two cases. We start by testing the string for uppercase characters,
and just return the an identical string.

This patch create a "fast case" 2.7 times faster than previously.
The "slow case" is 2-3% slower due to the additional check at the beginning.

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore):
(WebCore::containsASCIIUpperChar):
(WebCore::cssPropertyName):
(WebCore::isCSSPropertyName):

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

9 years agoWebKit2 should dispatch wheel events to the new ScrollingTree class
andersca@apple.com [Sat, 4 Feb 2012 01:56:42 +0000 (01:56 +0000)]
WebKit2 should dispatch wheel events to the new ScrollingTree class
https://bugs.webkit.org/show_bug.cgi?id=77795

Reviewed by Andreas Kling.

Source/WebCore:

* WebCore.exp.in:
Add new symbols needed by WebKit2.

* WebCore.xcodeproj/project.pbxproj:
Make ScrollingTree.h private so it can be included by WebKit2.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::scrollingTree):
* page/scrolling/ScrollingCoordinator.h:
Add a scrolling tree getter.

Source/WebKit2:

Replace all uses of ScrollingCoordinator with ScrollingTree instead.
Also, don't try to handle gesture events on the scrolling thread anymore;
we don't need to to that right now.

* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::addScrollingTreeForPage):
(WebKit::EventDispatcher::removeScrollingTreeForPage):
(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::gestureEvent):
* WebProcess/WebPage/EventDispatcher.h:
(WebCore):
(EventDispatcher):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):

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

9 years ago[Chromium] WebCore::toV8Context crashes if DomWindow::frame() returns null.
dslomov@google.com [Sat, 4 Feb 2012 01:45:14 +0000 (01:45 +0000)]
[Chromium] WebCore::toV8Context crashes if DomWindow::frame() returns null.
https://bugs.webkit.org/show_bug.cgi?id=77686.

Reviewed by Adam Barth.

* bindings/v8/V8Helpers.cpp:
(WebCore::toV8Context):

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

9 years agowebkitpy: change exit() calls to sys.exit(), fix a leak in outputcapture
dpranke@chromium.org [Sat, 4 Feb 2012 01:41:14 +0000 (01:41 +0000)]
webkitpy: change exit() calls to sys.exit(), fix a leak in outputcapture
https://bugs.webkit.org/show_bug.cgi?id=77781

Reviewed by Eric Seidel.

This change fixes a couple of issues discovered while debugging
test-webkitpy; both calling exit() instead of sys.exit() --
which is discouraged in program code instead of the interpreter
-- and a particular usage of outputcapture were stdin to get whacked
and preventing debugging.

This change introduces a couple of common _exit() methods that
will standardize how webkit-patch exit's, in case we need to do
something different in the future.

* Scripts/webkitpy/common/system/deprecated_logging.py:
(error):
* Scripts/webkitpy/common/system/outputcapture.py:
(OutputCapture.assert_outputs):
* Scripts/webkitpy/tool/bot/queueengine.py:
(QueueEngine.exit_after_handled_error):
* Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:
(AbstractSequencedCommand.execute):
* Scripts/webkitpy/tool/commands/queues.py:
(StyleQueue.handle_script_error):
* Scripts/webkitpy/tool/commands/upload.py:
(MarkBugFixed.execute):
* Scripts/webkitpy/tool/multicommandtool.py:
(Command._exit):
* Scripts/webkitpy/tool/steps/abstractstep.py:
(AbstractStep._exit):
* Scripts/webkitpy/tool/steps/checkstyle.py:
(CheckStyle.run):
* Scripts/webkitpy/tool/steps/commit.py:
(Commit._check_test_expectations):
* Scripts/webkitpy/tool/steps/confirmdiff.py:
(ConfirmDiff.run):

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

9 years agoThe scrolling tree should be able to handle wheel events
andersca@apple.com [Sat, 4 Feb 2012 01:33:46 +0000 (01:33 +0000)]
The scrolling tree should be able to handle wheel events
https://bugs.webkit.org/show_bug.cgi?id=77794

Reviewed by Andreas Kling.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::tryToHandleWheelEvent):
New function. Currently this always returns that it was able to handle the wheel event,
but this will change in the future.

(WebCore::ScrollingTree::handleWheelEvent):
Ask the root node to handle the wheel event.

* page/scrolling/ScrollingTreeNode.h:
Add a handleWheelEvent pure virtual member function.

* page/scrolling/mac/ScrollingTreeNodeMac.mm:
(WebCore::ScrollingTreeNodeMac::handleWheelEvent):
Call scrollBy for now. Eventually this should use a scroll elasticity controller to handle
things like rubber-banding.

(WebCore::ScrollingTreeNodeMac::scrollPosition):
(WebCore::ScrollingTreeNodeMac::setScrollPosition):
Add getters and setters for the scroll position.

(WebCore::ScrollingTreeNodeMac::scrollBy):
Update the scroll position given the offset.

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

9 years agobuildbot fix for curl.
lforschler@apple.com [Sat, 4 Feb 2012 01:32:31 +0000 (01:32 +0000)]
buildbot fix for curl.

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

9 years ago[WK2 Mac] No need to allow access to input methods or keyboard layouts
ap@apple.com [Sat, 4 Feb 2012 01:29:14 +0000 (01:29 +0000)]
[WK2 Mac] No need to allow access to input methods or keyboard layouts
https://bugs.webkit.org/show_bug.cgi?id=77775
<rdar://problem/9276253>
<rdar://problem/9276268>

Reviewed by Dan Bernstein.

* WebProcess/com.apple.WebProcess.sb: These rules were likely only necessary in early days
of WebKit2. If there are cases when this happens, that's likely wrong, and we need to know
about that.

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

9 years agoAnother http -> https fix for curl
lforschler@apple.com [Sat, 4 Feb 2012 01:26:01 +0000 (01:26 +0000)]
Another http -> https fix for curl

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

9 years agoCrash in Node::dispatchSubtreeModifiedEvent
rniwa@webkit.org [Sat, 4 Feb 2012 01:22:38 +0000 (01:22 +0000)]
Crash in Node::dispatchSubtreeModifiedEvent
https://bugs.webkit.org/show_bug.cgi?id=77449

Reviewed by Alexey Proskuryakov.

Source/WebCore:

The bug was caused by appendChild not retaining this pointer.
This is normally okay because there's another owner within JSC/V8 binding code that
holds onto the node but this isn't the case when nodes are created as a part
of setting document.title. Fixed the crash by retaining the pointer as needed.

Test: fast/dom/remove-body-during-title-creation.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::appendChild):

LayoutTests:

Add a regression test for the crash.

* fast/dom/remove-body-during-title-creation-expected.txt: Added.
* fast/dom/remove-body-during-title-creation.html: Added.

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

9 years agoPerf bot build fix.
rniwa@webkit.org [Sat, 4 Feb 2012 01:19:05 +0000 (01:19 +0000)]
Perf bot build fix.

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

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

9 years agoAdd a blank "Expected Failures" tab to garden-o-matic
abarth@webkit.org [Sat, 4 Feb 2012 01:18:23 +0000 (01:18 +0000)]
Add a blank "Expected Failures" tab to garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=77793

Reviewed by Eric Seidel.

This tab will help us explore and manage our expected failures.  The
tab is hidden by default via a new "experimental features" flag.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/onebar.css:
(#unexpected):
(#onebar.partytime #unexpected):

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

9 years agoFix other instances of http://developer links which should be https://developer
lforschler@apple.com [Sat, 4 Feb 2012 01:09:05 +0000 (01:09 +0000)]
Fix other instances of developer links which should be https://developer

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

9 years agoApply changed properties from the updated scrolling tree state
andersca@apple.com [Sat, 4 Feb 2012 01:05:24 +0000 (01:05 +0000)]
Apply changed properties from the updated scrolling tree state
https://bugs.webkit.org/show_bug.cgi?id=77792

Reviewed by Andreas Kling.

* page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::update):
Update the tree node properties from the scrolling tree state.

* page/scrolling/ScrollingTreeNode.h:
(WebCore::ScrollingTreeNode::scrollingTree):
(WebCore::ScrollingTreeNode::viewportRect):
(WebCore::ScrollingTreeNode::contentsSize):
Add getters.

* page/scrolling/ScrollingTreeState.h:
(WebCore::ScrollingTreeState::changedProperties):
New function for accessing the changed properties of the scrolling tree state.

* page/scrolling/mac/ScrollingTreeNodeMac.h:
* page/scrolling/mac/ScrollingTreeNodeMac.mm:
(WebCore::ScrollingTreeNodeMac::update):
Update the scroll layer from the scrolling tree if necessary.

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

9 years agoFix URL string
lforschler@apple.com [Sat, 4 Feb 2012 00:57:33 +0000 (00:57 +0000)]
Fix URL string

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

9 years ago[WK2] Use properly quoted string literals
ap@apple.com [Sat, 4 Feb 2012 00:31:26 +0000 (00:31 +0000)]
[WK2] Use properly quoted string literals
https://bugs.webkit.org/show_bug.cgi?id=77583

Reviewed by Darin Adler.

Also added some FIXMEs.

* WebProcess/com.apple.WebProcess.sb:

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

9 years agoupdate-webkit-support-libraries is broken with the change from http to https on devel...
lforschler@apple.com [Sat, 4 Feb 2012 00:29:47 +0000 (00:29 +0000)]
update-webkit-support-libraries is broken with the change from http to https on developer.apple.com
https://bugs.webkit.org/show_bug.cgi?id=77785

Fix the build bots.

Pass the -k and --sslv3 keys to make curl work with https on https://developer.apple.com

* Scripts/update-webkit-support-libs:
(downloadExpectedVersionNumber):

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

9 years agoPrefix the typedef in WTF_MAKE_FAST_ALLOCATED with underscores
andersca@apple.com [Sat, 4 Feb 2012 00:24:02 +0000 (00:24 +0000)]
Prefix the typedef in WTF_MAKE_FAST_ALLOCATED with underscores
https://bugs.webkit.org/show_bug.cgi?id=77788

Reviewed by Andreas Kling.

The current typedef name, 'ThisIsHereToForceASemicolonAfterThisMacro', shows up when trying to
code-complete 'this' in Xcode. Prefix the typedef with two underscores to stop this from happening.

* wtf/FastAllocBase.h:

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

9 years ago2012-02-03 Brady Eidson <beidson@apple.com>
beidson@apple.com [Sat, 4 Feb 2012 00:22:32 +0000 (00:22 +0000)]
2012-02-03  Brady Eidson  <beidson@apple.com>

<rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
Need a WK2 API to filter which subframes go into WebArchives as they are created.

Reviewed by Darin Adler.

Source/WebCore:

This adds a filter callback object that allows clients to get called back for each
subframe that might be added to a WebArchive.

API only, No new layout tests.

* WebCore.exp.in:
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create):
(WebCore::LegacyWebArchive::createFromSelection):
* loader/archive/cf/LegacyWebArchive.h:
(FrameFilter):
(WebCore:: FrameFilter::~ FrameFilter):
(LegacyWebArchive):

Source/WebKit2:

Add a new WKBundleFrame API that takes a filter callback object to allow or reject
subframes from a WebArchive:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameCopyWebArchive):
(WKBundleFrameCopyWebArchiveFilteringSubframes):
* WebProcess/InjectedBundle/API/c/WKBundleFrame.h:

Implement the above API by calling through to WebCore:
* WebProcess/WebPage/WebFrame.cpp:
(WebFrameFilter):
(WebKit::WebFrameFilter::WebFrameFilter):
(WebKit::WebFrameFilter::shouldIncludeSubframe):
(WebKit::WebFrame::webArchiveData):
* WebProcess/WebPage/WebFrame.h:
(WebFrame):

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getWebArchiveOfFrame):

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

9 years agoIndexedDB: Key generators not rolled back if insertion fails or is aborted
jsbell@chromium.org [Sat, 4 Feb 2012 00:16:45 +0000 (00:16 +0000)]
IndexedDB: Key generators not rolled back if insertion fails or is aborted
https://bugs.webkit.org/show_bug.cgi?id=77060

Reviewed by Tony Chang.

Source/WebCore:

Test: storage/indexeddb/key-generator.html

* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::put): Add abort task to reset cache.
(WebCore::IDBObjectStoreBackendImpl::revertAutoIncrementKeyCache):
(WebCore):
(WebCore::IDBObjectStoreBackendImpl::putInternal): Reset cache on error.
* storage/IDBObjectStoreBackendImpl.h:
(IDBObjectStoreBackendImpl):

LayoutTests:

* storage/indexeddb/key-generator-expected.txt: Added.
* storage/indexeddb/key-generator.html: Added.

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

9 years agopositive and negative flex values are not being cleared on style changes
tony@chromium.org [Sat, 4 Feb 2012 00:10:18 +0000 (00:10 +0000)]
positive and negative flex values are not being cleared on style changes
https://bugs.webkit.org/show_bug.cgi?id=77771

Reviewed by Ojan Vafai.

Source/WebCore:

If the width or height was a flex() value, but is no longer a flex
value, we weren't clearing the positive and negative flex values in
RenderStyle.

Test: css3/flexbox/flex-no-flex.html

* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyLength::applyValue):

LayoutTests:

* css3/flexbox/flex-no-flex-expected.txt: Added.
* css3/flexbox/flex-no-flex.html: Added.

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

9 years agoAdd a Mac Lion Performance bot.
lforschler@apple.com [Sat, 4 Feb 2012 00:01:12 +0000 (00:01 +0000)]
Add a Mac Lion Performance bot.
https://bugs.webkit.org/show_bug.cgi?id=77765

Reviewed by Adam Roben.

This will update the master configuration in the following ways:
    Add a new performance slave (apple-xseve-11)
    Add a new Factory to download a build and run perf tests.

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(DownloadAndPerfTestFactory):
(DownloadAndPerfTestFactory.__init__):

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

9 years agoExtra TestWebKitAPI.gyp/TestWebKitAPI.target.chromium.mk in repository
dpranke@chromium.org [Fri, 3 Feb 2012 23:53:23 +0000 (23:53 +0000)]
Extra TestWebKitAPI.gyp/TestWebKitAPI.target.chromium.mk in repository
https://bugs.webkit.org/show_bug.cgi?id=77752

Reviewed by James Robinson.

Delete unneeded file accidentally checked in in r106481.

* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.target.chromium.mk: Removed.

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

9 years ago[Mac WK2] Use a minimally invasive way to fake plug-in process name
ap@apple.com [Fri, 3 Feb 2012 23:47:55 +0000 (23:47 +0000)]
[Mac WK2] Use a minimally invasive way to fake plug-in process name
https://bugs.webkit.org/show_bug.cgi?id=77682

Reviewed by Darin Adler.

* PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::netscapePluginModule):
Only change the name as it's seen from within the process.

* Shared/Plugins/PluginQuirks.h: Fixed a typo.

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

9 years ago[chromium] Defer makeContextCurrent in compositor until first frame
jamesr@google.com [Fri, 3 Feb 2012 23:18:56 +0000 (23:18 +0000)]
[chromium] Defer makeContextCurrent in compositor until first frame
https://bugs.webkit.org/show_bug.cgi?id=77269

Reviewed by Kenneth Russell.

Source/WebCore:

There are situations where we need to instantiate a compositor, but can't call makeContextCurrent() until some
initialization work completes on another thread that we cannot block for. This defers the first
makeContextCurrent() call until we need to produce the first frame at which point we know the call can succeed,
assuming that the scheduler does the right thing.

This is accomplished by splitting up proxy initialization into two pieces:
*) initializeContext() which attempts to instantiate a GraphicsContext3D. This can fail if we can't make a
context at all, in which case we abort completely and return NULL from CCLayerTreeHost::create().

*) initializeLayerRenderer() which uses the previously-created context to instantiate our compositor objects and
    grab our renderer capabilities. This can fail if the context is not usable for compositing, which we report
    to the client as a lost context event.

Internally this introduces a new state to the CCLayerTreeHostImpl where it has a context but does not yet have a
LayerRendererChromium, which has fairly minimal impact. One other change is that we don't instantiate the
TextureManagers until we have the renderer capabilities, but this isn't necessary until we want to start
painting so it doesn't have any impact outside of some overly intrustive unit tests.

* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::paintContentsIfDirty):
(WebCore::ContentLayerChromium::createTextureUpdater):
* platform/graphics/chromium/ContentLayerChromium.h:
(ContentLayerChromium):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/ImageLayerChromium.h:
(ImageLayerChromium):
* platform/graphics/chromium/TiledLayerChromium.cpp:
* platform/graphics/chromium/TiledLayerChromium.h:
(WebCore::TiledLayerChromium::setSampledTexelFormat):
(TiledLayerChromium):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore):
(WebCore::CCLayerTreeHost::beginCommitOnImplThread):
(WebCore::CCLayerTreeHost::compositeAndReadback):
(WebCore::CCLayerTreeHost::finishAllRendering):
(WebCore::CCLayerTreeHost::setViewportSize):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::updateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
():
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::isContextLost):
* platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::compositeAndReadback):
(WebCore::CCSingleThreadProxy::initializeContext):
(WebCore::CCSingleThreadProxy::initializeLayerRenderer):
(WebCore::CCSingleThreadProxy::layerRendererCapabilities):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(CCSingleThreadProxy):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::initializeContext):
(WebCore):
(WebCore::CCThreadProxy::initializeLayerRenderer):
(WebCore::CCThreadProxy::layerRendererCapabilities):
(WebCore::CCThreadProxy::initializeImplOnImplThread):
(WebCore::CCThreadProxy::initializeContextOnImplThread):
(WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):

Source/WebKit/chromium:

* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTestSetViewportSize::beginTest):
* tests/TiledLayerChromiumTest.cpp:
(WTF::TEST):

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

9 years agoUnreviewed compile fix for chromium - add commas after entries in list in WebCore...
jamesr@google.com [Fri, 3 Feb 2012 23:13:41 +0000 (23:13 +0000)]
Unreviewed compile fix for chromium - add commas after entries in list in WebCore.gypi

* WebCore.gypi:

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

9 years agoUnreviewed build fix attempt after r106695.
kling@webkit.org [Fri, 3 Feb 2012 23:03:53 +0000 (23:03 +0000)]
Unreviewed build fix attempt after r106695.

CSSMutableStyleDeclaration was renamed to StylePropertySet.

* bindings/scripts/CodeGeneratorCPP.pm:
(AddIncludesForType):
* bindings/scripts/CodeGeneratorV8.pm:
(AddIncludesForType):
* bindings/v8/V8DOMWindowShell.cpp:
* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/V8Proxy.cpp:

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

9 years ago[BlackBerry] Let userIdleTime() return maximum number instead of 0 as
commit-queue@webkit.org [Fri, 3 Feb 2012 22:52:10 +0000 (22:52 +0000)]
[BlackBerry] Let userIdleTime() return maximum number instead of 0 as
most of other ports do.
https://bugs.webkit.org/show_bug.cgi?id=77769

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

userIdleTime() should return a big number so it won't block page cache
from releasing cached pages. See PageCache::releaseAutoreleasedPagesNowOrReschedule().

No new tests as no visible functional changes.

* platform/blackberry/SystemTimeBlackBerry.cpp:
(WebCore::userIdleTime):

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

9 years agoCommit scrolling tree state changes to the scrolling tree
andersca@apple.com [Fri, 3 Feb 2012 22:46:58 +0000 (22:46 +0000)]
Commit scrolling tree state changes to the scrolling tree
https://bugs.webkit.org/show_bug.cgi?id=77780

Reviewed by Darin Adler.

* WebCore.xcodeproj/project.pbxproj:
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::commitTreeState):
Send the new scrolling tree state over to the ScrollingTree on the scrolling thread.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::ScrollingTree):
Create a root node.

(WebCore::ScrollingTree::commitNewTreeState):
Update the root node.

* page/scrolling/ScrollingTreeNode.cpp: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
* page/scrolling/ScrollingTreeNode.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
Stub out an abstract ScrollingTreeNode class.

* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
Update the scroll layer on the tree state.

* page/scrolling/mac/ScrollingTreeNodeMac.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
* page/scrolling/mac/ScrollingTreeNodeMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
Stub out the concrete ScrollingTreeNodeMac subclass.

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

9 years agoRename CSSMutableStyleDeclaration.h/.cpp to StylePropertySet.h/.cpp
antti@apple.com [Fri, 3 Feb 2012 22:41:09 +0000 (22:41 +0000)]
Rename CSSMutableStyleDeclaration.h/.cpp to StylePropertySet.h/.cpp
https://bugs.webkit.org/show_bug.cgi?id=77779

Reviewed by Darin Adler.

Source/WebCore:

Match the new class name.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
* bindings/js/JSDOMBinding.h:
* bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue):
* bindings/scripts/CodeGeneratorObjC.pm:
(AddIncludesForType):
* css/CSSAllInOne.cpp:
* css/CSSComputedStyleDeclaration.cpp:
* css/CSSFontFaceRule.cpp:
* css/CSSFontFaceRule.h:
* css/CSSFontSelector.cpp:
* css/CSSMutableStyleDeclaration.cpp: Removed.
* css/CSSMutableStyleDeclaration.h: Removed.
* css/CSSPageRule.cpp:
* css/CSSParser.cpp:
* css/CSSStyleRule.cpp:
* css/CSSStyleRule.h:
* css/StylePropertySet.cpp: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.cpp.
* css/StylePropertySet.h: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.h.
* css/WebKitCSSKeyframeRule.cpp:
* css/WebKitCSSKeyframeRule.h:
* css/WebKitCSSKeyframesRule.cpp:
* css/WebKitCSSMatrix.cpp:
* dom/CSSMappedAttributeDeclaration.h:
* dom/ElementAttributeData.h:
* dom/StyledElement.cpp:
* dom/StyledElement.h:
* editing/ApplyStyleCommand.cpp:
* editing/DeleteButtonController.cpp:
* editing/EditingStyle.cpp:
* editing/Editor.cpp:
* editing/EditorCommand.cpp:
* editing/RemoveCSSPropertyCommand.cpp:
* editing/ReplaceSelectionCommand.cpp:
* editing/markup.cpp:
* html/canvas/CanvasRenderingContext2D.cpp:
* html/shadow/MeterShadowElement.cpp:
* inspector/InspectorCSSAgent.cpp:
* inspector/InspectorDOMAgent.cpp:
* page/DragController.cpp:
* page/Frame.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderTreeAsText.cpp:
* svg/SVGFontFaceElement.h:
(WebCore):

Source/WebKit/mac:

* WebView/WebHTMLView.mm:

Source/WebKit/qt:

* Api/qwebelement.cpp:

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

9 years agoCrash in RenderFlowThread::setRegionBoxesRegionStyle
mihnea@adobe.com [Fri, 3 Feb 2012 22:23:48 +0000 (22:23 +0000)]
Crash in RenderFlowThread::setRegionBoxesRegionStyle
https://bugs.webkit.org/show_bug.cgi?id=77474

Reviewed by David Hyatt.

Source/WebCore:

Flexbox and deprecated flexible box should also compute their region range
when they are part of a named flow. Until now, only RenderBlock elements
were doing that. Flexbox and deprecated flexible box, while implementing
their own layoutBlock method, were not doing that.

Tests: fast/regions/flexbox-in-region-crash.html
       fast/regions/select-in-region-crash.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeInitialRegionRangeForBlock):
(WebCore):
(WebCore::RenderBlock::computeRegionRangeForBlock):
(WebCore::RenderBlock::layoutBlock):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::removeRegionFromThread):
(WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::paintReplaced):
* rendering/RenderRegion.h:
(RenderRegion):

LayoutTests:

* fast/regions/flexbox-in-region-crash-expected.txt: Added.
* fast/regions/flexbox-in-region-crash.html: Added.
* fast/regions/select-in-region-crash-expected.txt: Added.
* fast/regions/select-in-region-crash.html: Added.

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

9 years agoRef Tests should support plain SVG files
rniwa@webkit.org [Fri, 3 Feb 2012 21:48:35 +0000 (21:48 +0000)]
Ref Tests should support plain SVG files
https://bugs.webkit.org/show_bug.cgi?id=77685

Reviewed by Tony Chang.

Don't assume reference files always use .html as the extension.
Instead, use the list of supported extension to look for -expected.* and -mismatch.*

Also fix various bugs in MockFileSystem and TestPort.

* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.isdir):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.reference_files):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_is_test_file):
(PortTest.test_reference_files):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestInstance.__init__):

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

9 years agoUpdate the tree state after layout and add a way to commit it
andersca@apple.com [Fri, 3 Feb 2012 21:25:44 +0000 (21:25 +0000)]
Update the tree state after layout and add a way to commit it
https://bugs.webkit.org/show_bug.cgi?id=77767

Reviewed by Andreas Kling.

* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):
Call ScrollingCoordinator::frameViewLayoutUpdated if we have a scrolling coordinator.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
Initialize m_scrollingTreeStateCommitterTimer.

(WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
Update the viewport rect and contents size of the frame view.

(WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
Schedule a tree state commit unless we've already scheduled one or there are no changed properties.

(WebCore::ScrollingCoordinator::scrollingTreeStateCommitterTimerFired):
Call commitTreeState().

(WebCore::ScrollingCoordinator::commitTreeStateIfNeeded):
Commit the tree state unless there are no changed properties.

(WebCore::ScrollingCoordinator::commitTreeState):
Commit the tree state. We currently don't do anything with the committed state yet.

* page/scrolling/ScrollingCoordinator.h:
Add new member functions and the timer member variable.

* page/scrolling/ScrollingTreeState.cpp:
(WebCore::ScrollingTreeState::commit):
Copy the current tree state and restore the changed properties on the original.

* page/scrolling/ScrollingTreeState.h:
(WebCore::ScrollingTreeState::hasChangedProperties):
Return whether there are any changed properties in the tree state.

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

9 years agocomplete rebaseline of box-shadow-clipped-slices
commit-queue@webkit.org [Fri, 3 Feb 2012 21:25:36 +0000 (21:25 +0000)]
complete rebaseline of box-shadow-clipped-slices
https://bugs.webkit.org/show_bug.cgi?id=77565

Patch by Elliot Poger <epoger@google.com> on 2012-02-03
Reviewed by Darin Adler.

* platform/chromium/test_expectations.txt:

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

9 years ago[GTK] configure: Print out the -Wno-c++0x-compat test result
commit-queue@webkit.org [Fri, 3 Feb 2012 21:13:17 +0000 (21:13 +0000)]
[GTK] configure: Print out the -Wno-c++0x-compat test result
https://bugs.webkit.org/show_bug.cgi?id=77757

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-02-03
Reviewed by Martin Robinson.

The check whether -Wno-c++0x-compat flag is needed didn't print out
the test result (and newline), which caused the following test to be
displayed on the same line.

checking if we have to disable C++0x compat warnings for GCC >= 4.6.0... checking pthread.h usability... yes

* configure.ac:

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

9 years agoperf-o-matic should store chromium svn revision
rniwa@webkit.org [Fri, 3 Feb 2012 21:10:22 +0000 (21:10 +0000)]
perf-o-matic should store chromium svn revision
https://bugs.webkit.org/show_bug.cgi?id=77725

Reviewed by Dirk Pranke.

.:

Store both WebKit and Chromium revisions when both are reported.

* Websites/webkit-perf.appspot.com/models.py:
(Build):
* Websites/webkit-perf.appspot.com/report_handler.py:
(ReportHandler.post):
(ReportHandler._create_build_if_possible):
(ReportHandler._create_build_if_possible.execute):
* Websites/webkit-perf.appspot.com/static/manual-submit.html:

Tools:

Report both WebKit and Chromium revisions to the graph server. Renamed test_repository_paths to
repository_paths since it's nothing to do with tests. Also refactored scm so that head_svn_revision
is implemented in terms of newly added svn_revision.

* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.svn_revision):
* Scripts/webkitpy/common/checkout/scm/scm.py:
(SCM.head_svn_revision):
(SCM):
(SCM.svn_revision):
* Scripts/webkitpy/common/checkout/scm/scm_mock.py:
(MockSCM.svn_revision):
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.svn_revision):
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator.__init__):
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGeneratorBase._insert_generic_metadata):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.repository_paths):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.repository_paths):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._generate_json):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(test_run_test_set_with_json_output):
(test_run_test_set_with_json_source):
(test_run_test_set_with_multiple_repositories):

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

9 years agoFix alignment warnings in ARMv7
commit-queue@webkit.org [Fri, 3 Feb 2012 20:59:00 +0000 (20:59 +0000)]
Fix alignment warnings in ARMv7
https://bugs.webkit.org/show_bug.cgi?id=55368

Patch by Rob Buis <rbuis@rim.com> on 2012-02-03
Reviewed by Filip Pizlo.

Use reinterpret_cast_ptr and static_cast to get rid of alignment issues in ARMv7 code.

* heap/HandleTypes.h:
(JSC::HandleTypes::getFromSlot):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::specializedSweep):
* heap/MarkedBlock.h:
(JSC::MarkedBlock::forEachCell):
* runtime/WriteBarrier.h:
(JSC::WriteBarrierBase::get):
(JSC::WriteBarrierBase::unvalidatedGet):

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

9 years agoHTMLElement: Clean up tabindex attribute parsing.
kling@webkit.org [Fri, 3 Feb 2012 20:57:08 +0000 (20:57 +0000)]
HTMLElement: Clean up tabindex attribute parsing.
<http://webkit.org/b/77763>

Reviewed by Antti Koivisto.

Remove an unnecessary getAttribute() call when parsing tabindexAttr.

* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):

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

9 years agoMake js-test-pre.js more worker friendly
dgrogan@chromium.org [Fri, 3 Feb 2012 20:46:37 +0000 (20:46 +0000)]
Make js-test-pre.js more worker friendly
https://bugs.webkit.org/show_bug.cgi?id=77487

Replace uses of 'window' with 'self'.

Reviewed by Ojan Vafai.

* fast/js/resources/js-test-pre.js:
* storage/indexeddb/resources/basics.js:

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

9 years agoScrollingTreeState should keep track of the scroll layer
andersca@apple.com [Fri, 3 Feb 2012 20:22:21 +0000 (20:22 +0000)]
ScrollingTreeState should keep track of the scroll layer
https://bugs.webkit.org/show_bug.cgi?id=77762

Reviewed by Andreas Kling.

* WebCore.xcodeproj/project.pbxproj:
* page/scrolling/ScrollingTreeState.h:
(ScrollingTreeState):
* page/scrolling/mac/ScrollingTreeStateMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTreeState.h.
(WebCore):
(WebCore::ScrollingTreeState::platformScrollLayer):
(WebCore::ScrollingTreeState::setScrollLayer):

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

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=77740
antti@apple.com [Fri, 3 Feb 2012 19:46:48 +0000 (19:46 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=77740
Split CSSMutableStyleDeclaration into separate internal and CSSOM types

Reviewed by Andreas Kling and Darin Adler.

Source/WebCore:

Split the CSSMutableStyleDeclaration into an internal type (StylePropertySet) and a CSSOM implementation type (PropertySetCSSStyleDeclaration).

To keep things somewhat manageable, this patch does NOT

- rename or add any files (so files names won't match types)
- rename fields, methods or variables to match new type names (like CSSStyleRule::declaration() -> CSSStyleRule::propertySet())
- try to realize any memory or performance gains (StylePropertySet loses the vptr but gains PropertySetCSSStyleDeclaration*)

* WebCore.exp.in:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::copy):
(WebCore::CSSComputedStyleDeclaration::makeMutable):
(WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
* css/CSSComputedStyleDeclaration.h:
(WebCore):
(CSSComputedStyleDeclaration):
* css/CSSFontFaceRule.h:
(WebCore::CSSFontFaceRule::style):
(WebCore::CSSFontFaceRule::declaration):
(WebCore::CSSFontFaceRule::setDeclaration):
(CSSFontFaceRule):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
* css/CSSMutableStyleDeclaration.cpp:
(PropertySetCSSStyleDeclaration):
(WebCore::PropertySetCSSStyleDeclaration::create):
(WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
(WebCore):
(WebCore::StylePropertySet::StylePropertySet):
(WebCore::StylePropertySet::~StylePropertySet):
(WebCore::StylePropertySet::deref):
(WebCore::StylePropertySet::contextStyleSheet):
(WebCore::StylePropertySet::copyPropertiesFrom):
(WebCore::StylePropertySet::getPropertyValue):
(WebCore::StylePropertySet::borderSpacingValue):
(WebCore::StylePropertySet::appendFontLonghandValueIfExplicit):
(WebCore::StylePropertySet::fontValue):
(WebCore::StylePropertySet::get4Values):
(WebCore::StylePropertySet::getLayeredShorthandValue):
(WebCore::StylePropertySet::getShorthandValue):
(WebCore::StylePropertySet::getCommonValue):
(WebCore::StylePropertySet::getPropertyCSSValue):
(WebCore::StylePropertySet::removeShorthandProperty):
(WebCore::StylePropertySet::removeProperty):
(WebCore::StylePropertySet::setNeedsStyleRecalc):
(WebCore::StylePropertySet::propertyIsImportant):
(WebCore::StylePropertySet::getPropertyShorthand):
(WebCore::StylePropertySet::isPropertyImplicit):
(WebCore::StylePropertySet::setProperty):
(WebCore::StylePropertySet::parseDeclaration):
(WebCore::StylePropertySet::addParsedProperties):
(WebCore::StylePropertySet::addParsedProperty):
(WebCore::StylePropertySet::asText):
(WebCore::StylePropertySet::merge):
(WebCore::StylePropertySet::addSubresourceStyleURLs):
(WebCore::StylePropertySet::copyBlockProperties):
(WebCore::StylePropertySet::removeBlockProperties):
(WebCore::StylePropertySet::removePropertiesInSet):
(WebCore::StylePropertySet::findPropertyWithId):
(WebCore::StylePropertySet::propertyMatches):
(WebCore::StylePropertySet::removeEquivalentProperties):
(WebCore::StylePropertySet::copy):
(WebCore::StylePropertySet::copyPropertiesInSet):
(WebCore::StylePropertySet::ensureCSSStyleDeclaration):
(WebCore::PropertySetCSSStyleDeclaration::length):
(WebCore::PropertySetCSSStyleDeclaration::item):
(WebCore::PropertySetCSSStyleDeclaration::parentRule):
(WebCore::PropertySetCSSStyleDeclaration::cssText):
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
(WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet):
(WebCore::PropertySetCSSStyleDeclaration::copy):
(WebCore::PropertySetCSSStyleDeclaration::makeMutable):
(WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
* css/CSSMutableStyleDeclaration.h:
(WebCore):
(StylePropertySet):
(WebCore::StylePropertySet::create):
(WebCore::StylePropertySet::createInline):
* css/CSSPageRule.h:
(WebCore):
* css/CSSParser.cpp:
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createKeyframeRule):
* css/CSSParser.h:
(WebCore):
(CSSParser):
* css/CSSStyleDeclaration.h:
(WebCore):
(CSSStyleDeclaration):
* css/CSSStyleRule.h:
(WebCore::CSSStyleRule::style):
(WebCore::CSSStyleRule::setDeclaration):
(WebCore::CSSStyleRule::declaration):
(CSSStyleRule):
* css/CSSStyleSelector.cpp:
(WebCore::leftToRightDeclaration):
(WebCore::rightToLeftDeclaration):
(WebCore::CSSStyleSelector::addMatchedDeclaration):
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
(WebCore::CSSStyleSelector::matchAllRules):
(WebCore::CSSStyleSelector::styleForKeyframe):
(WebCore::isInsideRegionRule):
(WebCore::CSSStyleSelector::applyDeclaration):
(WebCore::CSSStyleSelector::applyDeclarations):
(WebCore::CSSStyleSelector::matchPageRulesForList):
* css/CSSStyleSelector.h:
(CSSStyleSelector):
(MatchedStyleDeclaration):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::setDeclaration):
* css/WebKitCSSKeyframeRule.h:
(WebCore::WebKitCSSKeyframeRule::style):
(WebCore::WebKitCSSKeyframeRule::declaration):
(WebKitCSSKeyframeRule):
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
* dom/Attr.h:
(WebCore::Attr::style):
* dom/Attribute.h:
(WebCore::Attribute::decl):
* dom/CSSMappedAttributeDeclaration.h:
(WebCore::CSSMappedAttributeDeclaration::declaration):
(WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
(CSSMappedAttributeDeclaration):
* dom/Document.cpp:
(WebCore::Document::createCSSStyleDeclaration):
* dom/ElementAttributeData.h:
(ElementAttributeData):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::ensureInlineStyleDecl):
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::inlineStyleDecl):
(NamedNodeMap):
* dom/StyledElement.cpp:
(WebCore::StyledElement::updateStyleAttribute):
(WebCore::StyledElement::copyNonAttributeProperties):
(WebCore::StyledElement::addSubresourceAttributeURLs):
* dom/StyledElement.h:
(WebCore::StyledElement::additionalAttributeStyle):
(WebCore::StyledElement::inlineStyleDecl):
(WebCore::StyledElement::ensureInlineStyleDecl):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::removeCSSStyle):
(WebCore::ApplyStyleCommand::addBlockStyle):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
* editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::createDeletionUI):
* editing/EditingStyle.cpp:
(WebCore::copyEditingProperties):
(WebCore::editingStyleFromComputedStyle):
(WebCore):
(WebCore::HTMLElementEquivalent::propertyExistsInStyle):
(HTMLElementEquivalent):
(WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
(HTMLTextDecorationEquivalent):
(WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
(WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
(HTMLAttributeEquivalent):
(WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
(WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
(WebCore::EditingStyle::EditingStyle):
(WebCore::getRGBAFontColor):
(WebCore::EditingStyle::setProperty):
(WebCore::EditingStyle::setStyle):
(WebCore::EditingStyle::overrideWithStyle):
(WebCore::EditingStyle::extractAndRemoveTextDirection):
(WebCore::EditingStyle::removeStyleAddedByNode):
(WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
(WebCore::EditingStyle::triStateOfStyle):
(WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
(WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
(WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl):
(WebCore::EditingStyle::mergeStyle):
(WebCore::styleFromMatchedRulesForElement):
(WebCore::EditingStyle::mergeStyleFromRules):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
(WebCore::removePropertiesInStyle):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):
(WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
(WebCore::EditingStyle::forceInline):
(WebCore::reconcileTextDecorationProperties):
(WebCore::StyleChange::StyleChange):
(WebCore::setTextDecorationProperty):
(WebCore::StyleChange::extractTextStyles):
(WebCore::diffTextDecorations):
(WebCore::fontWeightIsBold):
(WebCore::getTextAlignment):
(WebCore::getPropertiesNotIn):
(WebCore::getIdentifierValue):
(WebCore::isTransparentColorValue):
(WebCore::hasTransparentBackgroundColor):
* editing/EditingStyle.h:
(WebCore):
(WebCore::EditingStyle::create):
(EditingStyle):
(WebCore::EditingStyle::style):
(StyleChange):
* editing/Editor.cpp:
(WebCore::Editor::setBaseWritingDirection):
(WebCore::Editor::applyEditingStyleToElement):
* editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame):
(WebCore::executeApplyStyle):
(WebCore::executeToggleStyleInList):
(WebCore::executeApplyParagraphStyle):
(WebCore::executeMakeTextWritingDirectionLeftToRight):
(WebCore::executeMakeTextWritingDirectionNatural):
(WebCore::executeMakeTextWritingDirectionRightToLeft):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::copyTypingStyle):
* editing/FrameSelection.h:
(WebCore):
* editing/RemoveCSSPropertyCommand.cpp:
(WebCore::RemoveCSSPropertyCommand::doApply):
(WebCore::RemoveCSSPropertyCommand::doUnapply):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
* editing/ReplaceSelectionCommand.h:
(WebCore):
* editing/markup.cpp:
(WebCore):
(StyledMarkupAccumulator):
(WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
(WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
(WebCore::propertyMissingOrEqualToNone):
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::additionalAttributeStyle):
* html/HTMLTableCellElement.h:
(HTMLTableCellElement):
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::additionalAttributeStyle):
* html/HTMLTableColElement.h:
(HTMLTableColElement):
* html/HTMLTableElement.cpp:
(WebCore::leakBorderStyle):
(WebCore::HTMLTableElement::additionalAttributeStyle):
(WebCore::HTMLTableElement::createSharedCellStyle):
(WebCore::HTMLTableElement::additionalCellStyle):
(WebCore::leakGroupBorderStyle):
(WebCore::HTMLTableElement::additionalGroupStyle):
* html/HTMLTableElement.h:
(HTMLTableElement):
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::additionalAttributeStyle):
* html/HTMLTableSectionElement.h:
(HTMLTableSectionElement):
* html/ValidationMessage.cpp:
(WebCore::adjustBubblePosition):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::setPosition):
(WebCore::MediaControlPanelElement::resetPosition):
(WebCore::MediaControlPanelElement::makeOpaque):
(WebCore::MediaControlPanelElement::makeTransparent):
* html/shadow/SliderThumbElement.cpp:
(WebCore::TrackLimiterElement::create):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::setPropertyText):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
* page/PageSerializer.h:
(WebCore):
(PageSerializer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::resize):
* rendering/RenderTreeAsText.cpp:
(WebCore::isEmptyOrUnstyledAppleStyleSpan):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):

Source/WebKit/mac:

* WebView/WebFrame.mm:
(-[WebFrame _typingStyle]):

Source/WebKit/qt:

* Api/qwebelement.cpp:
(QWebElement::styleProperty):

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

9 years agoRemove unneccesary canExecuteScripts check from v8 bindings, and correctly indeicate...
jochen@chromium.org [Fri, 3 Feb 2012 19:32:34 +0000 (19:32 +0000)]
Remove unneccesary canExecuteScripts check from v8 bindings, and correctly indeicate when we're about to execute a script
https://bugs.webkit.org/show_bug.cgi?id=76704

Reviewed by Adam Barth.

Source/WebCore:

Test: http/tests/security/isolatedWorld/sandboxed-iframe.html

* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/v8/V8EventListener.cpp:
(WebCore::V8EventListener::callListenerFunction):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::callListenerFunction):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::handleOutOfMemory):
(WebCore::toV8Context):

LayoutTests:

* http/tests/security/isolatedWorld/resources/fail.html:
* http/tests/security/isolatedWorld/sandboxed-iframe-expected.txt:
* http/tests/security/isolatedWorld/sandboxed-iframe.html:

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

9 years agoAdd ScrollingTreeState class
andersca@apple.com [Fri, 3 Feb 2012 19:30:19 +0000 (19:30 +0000)]
Add ScrollingTreeState class
https://bugs.webkit.org/show_bug.cgi?id=77756

Reviewed by Andreas Kling.

Add a new ScrollingTreeState whose intent is to be a data container for the current
scrolling tree state. the ScrollingCoordinator class will update it and periodically
send over the new state to the ScrollingTree object on the scrolling thread.

* WebCore.xcodeproj/project.pbxproj:
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
* page/scrolling/ScrollingCoordinator.h:
(WebCore):
(ScrollingCoordinator):
* page/scrolling/ScrollingTreeState.cpp: Added.
(WebCore):
(WebCore::ScrollingTreeState::create):
(WebCore::ScrollingTreeState::ScrollingTreeState):
(WebCore::ScrollingTreeState::~ScrollingTreeState):
(WebCore::ScrollingTreeState::setViewportRect):
(WebCore::ScrollingTreeState::setContentsSize):
* page/scrolling/ScrollingTreeState.h: Added.
(WebCore):
(ScrollingTreeState):
(WebCore::ScrollingTreeState::viewportRect):
(WebCore::ScrollingTreeState::contentsSize):

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

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=77691
bdakin@apple.com [Fri, 3 Feb 2012 19:29:13 +0000 (19:29 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=77691
Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use
of device scale

Reviewed by Andy Estes.

Source/WebCore:

Make screenAvailableRect() and screenRect() take a Widget again instead of a
FrameView since taking a FrameView is a layering violation.
* 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):

It's wrong for the deviceScaleFactor to be taken into consideration here at
all.
* platform/mac/PlatformScreenMac.mm:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
(WebCore::toUserSpace):
(WebCore::toDeviceSpace):

Source/WebKit/chromium:

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

Source/WebKit/mac:

toUserSpace() and toDeviceSpace() don't need to take device scale. Also
restore a comment that I needlessly removed.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setWindowRect):
(WebChromeClient::windowRect):

Source/WebKit2:

toUserSpace() and toDeviceSpace() don't need to take device scale.
* UIProcess/API/mac/WKView.mm:
(-[WKView _convertToDeviceSpace:]):
(-[WKView _convertToUserSpace:]):

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

9 years agoBuild fix
mhahnenberg@apple.com [Fri, 3 Feb 2012 19:27:57 +0000 (19:27 +0000)]
Build fix

Unreviewed build fix

Forgot to add a couple files.

* heap/MarkedAllocator.cpp: Added.
(JSC):
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::tryAllocate):
(JSC::MarkedAllocator::allocateSlowCase):
(JSC::MarkedAllocator::allocateBlock):
(JSC::MarkedAllocator::addBlock):
(JSC::MarkedAllocator::removeBlock):
* heap/MarkedAllocator.h: Added.
(JSC):
(DFG):
(MarkedAllocator):
(JSC::MarkedAllocator::cellSize):
(JSC::MarkedAllocator::heap):
(JSC::MarkedAllocator::setHeap):
(JSC::MarkedAllocator::setCellSize):
(JSC::MarkedAllocator::setMarkedSpace):
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::allocate):
(JSC::MarkedAllocator::reset):
(JSC::MarkedAllocator::zapFreeList):
(JSC::MarkedAllocator::forEachBlock):

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

9 years agoRefactor MarkedBlock::SizeClass into a separate class
mhahnenberg@apple.com [Fri, 3 Feb 2012 19:21:28 +0000 (19:21 +0000)]
Refactor MarkedBlock::SizeClass into a separate class
https://bugs.webkit.org/show_bug.cgi?id=77600

Reviewed by Geoffrey Garen.

We pulled SizeClass out into its own class, named MarkedAllocator, and gave it
the responsibility of allocating objects from the collection of MarkedBlocks
that it manages. Also limited the amount of coupling to internal data fields
from other places, although it's mostly unavoidable in the JIT code.

Eventually MarkedAllocator will implement various policies to do with object
management, e.g. whether or not to run destructors on objects that it manages.
MarkedSpace will manage a collection of MarkedAllocators with varying policies,
as it does now but to a larger extent.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::emitAllocateJSFinalObject):
* heap/Heap.cpp:
(JSC::Heap::collect):
(JSC::Heap::resetAllocators):
* heap/Heap.h:
(JSC::Heap::allocatorForObject):
(Heap):
* heap/MarkedAllocator.cpp: Added.
(JSC):
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::tryAllocate):
(JSC::MarkedAllocator::allocateSlowCase):
(JSC::MarkedAllocator::allocateBlock):
(JSC::MarkedAllocator::addBlock):
(JSC::MarkedAllocator::removeBlock):
* heap/MarkedAllocator.h: Added.
(JSC):
(DFG):
(MarkedAllocator):
(JSC::MarkedAllocator::cellSize):
(JSC::MarkedAllocator::heap):
(JSC::MarkedAllocator::setHeap):
(JSC::MarkedAllocator::setCellSize):
(JSC::MarkedAllocator::setMarkedSpace):
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::allocate):
(JSC::MarkedAllocator::reset):
(JSC::MarkedAllocator::zapFreeList):
(JSC::MarkedAllocator::forEachBlock):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::canonicalizeCellLivenessData):
(JSC::TakeIfUnmarked::operator()):
* heap/MarkedSpace.h:
(MarkedSpace):
(JSC::MarkedSpace::allocatorFor):
(JSC::MarkedSpace::allocate):
(JSC::MarkedSpace::forEachBlock):
(JSC::MarkedSpace::didAddBlock):
(JSC::MarkedSpace::didConsumeFreeList):
* jit/JITInlineMethods.h:
(JSC::JIT::emitAllocateBasicJSObject):

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

9 years agoAdded Radar links
mitz@apple.com [Fri, 3 Feb 2012 18:25:07 +0000 (18:25 +0000)]
Added Radar links

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

9 years agoFloating image leaves hole in previous column when wrapped to next column
mitz@apple.com [Fri, 3 Feb 2012 18:23:11 +0000 (18:23 +0000)]
Floating image leaves hole in previous column when wrapped to next column
https://bugs.webkit.org/show_bug.cgi?id=77694

Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/dynamic/float-moved-downwards-for-pagination-expected.html
       fast/dynamic/float-moved-downwards-for-pagination.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::clearFloats): When determining which lines to dirty,
also check for changes to the top edge of the float, which can happen when
float gets pushed down by a pagination strut.

LayoutTests:

* fast/dynamic/float-moved-downwards-for-pagination-expected.html: Added.
* fast/dynamic/float-moved-downwards-for-pagination.html: Added.

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

9 years agoREGRESSION (r105401-105403): Blue flash on css border transition
alexis.menard@openbossa.org [Fri, 3 Feb 2012 18:21:22 +0000 (18:21 +0000)]
REGRESSION (r105401-105403): Blue flash on css border transition
https://bugs.webkit.org/show_bug.cgi?id=77491

Reviewed by Simon Fraser.

Source/WebCore:

The new blend function added with r105403 takes unsigned as parameters therefore
we have to be careful to not overflow in case the to is less than from (animating
from 400 to 0 for example).

Test: animations/animation-border-overflow.html

* platform/animation/AnimationUtilities.h:
(WebCore::blend):

LayoutTests:

* animations/animation-border-overflow-expected.txt: Added.
* animations/animation-border-overflow.html: Added.

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

9 years ago[Qt][WK2] Incorrect line number dumping
jesus@webkit.org [Fri, 3 Feb 2012 18:02:42 +0000 (18:02 +0000)]
[Qt][WK2] Incorrect line number dumping
https://bugs.webkit.org/show_bug.cgi?id=60074

Reviewed by Csaba Osztrogonác.

Test http/tests/security/contentSecurityPolicy/eval-blocked.html
is now passing, unskipping it.

* platform/qt-wk2/Skipped:

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

9 years ago[Chromium] ImageBufferSkia: remove unnecessary overload of flush in
commit-queue@webkit.org [Fri, 3 Feb 2012 17:38:15 +0000 (17:38 +0000)]
[Chromium] ImageBufferSkia: remove unnecessary overload of flush in
AcceleratedDeviceContext
https://bugs.webkit.org/show_bug.cgi?id=77741

Patch by Justin Novosad <junov@chromium.org> on 2012-02-03
Reviewed by Stephen White.

Removing dead code.

* platform/graphics/skia/ImageBufferSkia.cpp:
(AcceleratedDeviceContext):

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

9 years ago[skia] Fix unit test PlatformContextSkiaTest.trackOpaqueOvalTest
jknotten@chromium.org [Fri, 3 Feb 2012 17:31:20 +0000 (17:31 +0000)]
[skia] Fix unit test PlatformContextSkiaTest.trackOpaqueOvalTest
https://bugs.webkit.org/show_bug.cgi?id=77738

We need to clear the bitmap before the test runs, otherwise the
contents of the bitmap will be uninitialised. This causes an
unpredicatable result as the canvas draw operations blend the
destination bitmap with the source colour.

Similarly, valgrind discovered that
PlatformContextSkiaTest.trackOpaqueTest and
PlatformContextSkiaTest.trackOpaqueLineTest suffers from the same
problem.

Also, re-enable WebFrameTest.FindInPage which was falsely
blamed for making this test fail.

Reviewed by Stephen White.

* tests/PlatformContextSkiaTest.cpp:
(WebCore::TEST):
* tests/WebFrameTest.cpp:
(WebKit::TEST_F):

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

9 years agoSpeculative unreviewed build fix for Qt-Windows
kbalazs@webkit.org [Fri, 3 Feb 2012 17:02:57 +0000 (17:02 +0000)]
Speculative unreviewed build fix for Qt-Windows
after http://trac.webkit.org/changeset/106659.

* platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::platformCreateAccelerated):

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

9 years agoUnreviewed, rolling out r106654.
commit-queue@webkit.org [Fri, 3 Feb 2012 16:56:08 +0000 (16:56 +0000)]
Unreviewed, rolling out r106654.
http://trac.webkit.org/changeset/106654
https://bugs.webkit.org/show_bug.cgi?id=77742

triggers asserts on mac, win, gtk, qt debug bots (Requested by
philn-tp on #webkit).

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

Source/WebCore:

* Modules/intents/IntentRequest.cpp:
(WebCore::IntentRequest::create):
* bindings/generic/ActiveDOMCallback.cpp:
(WebCore::ActiveDOMCallback::ActiveDOMCallback):
* dom/ActiveDOMObject.cpp:
(WebCore::ActiveDOMObject::ActiveDOMObject):
(WebCore::ActiveDOMObject::~ActiveDOMObject):
* dom/ActiveDOMObject.h:
(ActiveDOMObject):
* dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueue::DocumentEventQueue):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::ScriptExecutionContext):
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
(WebCore::ScriptExecutionContext::stopActiveDOMObjects):
* dom/ScriptExecutionContext.h:
(ScriptExecutionContext):
* fileapi/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::create):
* fileapi/FileReader.cpp:
(WebCore):
* fileapi/FileReader.h:
(WebCore::FileReader::create):
* fileapi/FileWriter.cpp:
(WebCore):
* fileapi/FileWriter.h:
(WebCore::FileWriter::create):
* history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame):
* html/HTMLAudioElement.cpp:
(WebCore::HTMLAudioElement::create):
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::create):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::create):
* mediastream/PeerConnection.cpp:
(WebCore::PeerConnection::create):
* notifications/Notification.cpp:
(WebCore::Notification::create):
* notifications/NotificationCenter.cpp:
* notifications/NotificationCenter.h:
(WebCore::NotificationCenter::create):
* page/DOMTimer.cpp:
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
* page/EventSource.cpp:
(WebCore::EventSource::create):
* page/SuspendableTimer.cpp:
(WebCore::SuspendableTimer::SuspendableTimer):
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::create):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::create):
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::create):
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::create):
* websockets/WebSocket.cpp:
* websockets/WebSocket.h:
(WebCore::WebSocket::create):
* workers/SharedWorker.cpp:
(WebCore::SharedWorker::create):
* workers/Worker.cpp:
(WebCore::Worker::create):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::create):

LayoutTests:

* fast/events/resources/suspend-subframe-1.html: Removed.
* fast/events/resources/suspend-subframe-2.html: Removed.
* fast/events/suspend-timers-expected.txt: Removed.
* fast/events/suspend-timers.html: Removed.
* platform/chromium/test_expectations.txt:

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

9 years agoAdd the "V8" prefix to V8 specific IDL attributes
haraken@chromium.org [Fri, 3 Feb 2012 16:53:10 +0000 (16:53 +0000)]
Add the "V8" prefix to V8 specific IDL attributes
https://bugs.webkit.org/show_bug.cgi?id=77713

Reviewed by Adam Barth.

This patch adds the "V8" prefix to a V8 specific IDL attribute:
[EnabledAtRuntime] => [V8EnabledAtRuntime]

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateImplementation):
(GetRuntimeEnableFunctionName):

* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp: Updated the run-bindings-tests results.
(WebCore::ConfigureV8TestObjTemplate):

* Modules/gamepad/NavigatorGamepad.idl:
* dom/Clipboard.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/MouseEvent.idl:
* dom/ShadowRoot.idl:
* html/HTMLInputElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLTrackElement.idl:
* html/TextTrack.idl:
* html/TextTrackCue.idl:
* html/TextTrackCueList.idl:
* html/shadow/HTMLContentElement.idl:
* html/track/TextTrackList.idl:
* html/track/TrackEvent.idl:
* page/DOMWindow.idl:
* page/History.idl:
* page/Navigator.idl:
* storage/DOMWindowSQLDatabase.idl:
* webaudio/DOMWindowWebAudio.idl:
* websockets/DOMWindowWebSocket.idl:
* workers/WorkerContext.idl:
* xml/XMLHttpRequest.idl:

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

9 years agoWeb Inspector: Retained size for classes is too conservative in heap profiler
commit-queue@webkit.org [Fri, 3 Feb 2012 16:50:16 +0000 (16:50 +0000)]
Web Inspector: Retained size for classes is too conservative in heap profiler
https://bugs.webkit.org/show_bug.cgi?id=77726

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-02-03
Reviewed by Yury Semikhatsky.

Makes retained size of all objects of particular class show correct value
in Summary view of heap profiler.

* inspector/front-end/DetailedHeapshotGridNodes.js:
(WebInspector.HeapSnapshotConstructorNode.prototype.get data):
* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshot.prototype._buildAggregates):
(WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):

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

9 years agoWeb Inspector: Introduce "Copy XPath" popup menu item for DOM elements
apavlov@chromium.org [Fri, 3 Feb 2012 16:43:26 +0000 (16:43 +0000)]
Web Inspector: Introduce "Copy XPath" popup menu item for DOM elements
https://bugs.webkit.org/show_bug.cgi?id=77619

Reviewed by Vsevolod Vlasov.

Source/WebCore:

XPath is optimized whenever an element has the "id" attribute.

Test: inspector/elements/node-xpath.xhtml

* English.lproj/localizedStrings.js:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.XPathStep):
(WebInspector.DOMNode.XPathStep.prototype.toString):
(WebInspector.DOMNode.prototype.copyXPath):
(WebInspector.DOMNode.prototype.isXMLNode):
(WebInspector.DOMNode.prototype.xPath):
(WebInspector.DOMNode.prototype._xPathValue):
(WebInspector.DOMNode.prototype._xPathIndex):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):

LayoutTests:

* inspector/elements/node-xpath-expected.txt: Added.
* inspector/elements/node-xpath.xhtml: Added.

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

9 years ago[Chromium] Use the current clip when marking paints as opaque
commit-queue@webkit.org [Fri, 3 Feb 2012 16:28:02 +0000 (16:28 +0000)]
[Chromium] Use the current clip when marking paints as opaque
https://bugs.webkit.org/show_bug.cgi?id=77582

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

Source/WebCore:

New unit test in PlatformContextSkiaTest.cpp

* platform/graphics/skia/OpaqueRegionSkia.cpp:
(WebCore::OpaqueRegionSkia::markRectAsOpaque):
* platform/graphics/skia/PlatformContextSkia.h:
(WebCore::PlatformContextSkia::canvas):

Source/WebKit/chromium:

* tests/PlatformContextSkiaTest.cpp:
(WebCore::TEST):
(WebCore):

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

9 years agoinspector/debugger/pause-in-inline-script.html asserts in chromium debug
yurys@chromium.org [Fri, 3 Feb 2012 16:20:32 +0000 (16:20 +0000)]
inspector/debugger/pause-in-inline-script.html asserts in chromium debug
https://bugs.webkit.org/show_bug.cgi?id=77663

Source/WebCore:

Make ASSERT in MainResourceLoader not fail if debugger hits breakpoint
in the main resource inline script.

Reviewed by Pavel Feldman.

Test: inspector/debugger/pause-in-inline-script.html

* bindings/js/ScriptDebugServer.h:
(WebCore::ScriptDebugServer::isPaused):
(ScriptDebugServer):
* bindings/v8/ScriptDebugServer.h:
(ScriptDebugServer):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::didClearMainFrameWindowObject):
(WebCore):
(WebCore::InspectorDebuggerAgent::isPaused):
* inspector/InspectorDebuggerAgent.h:
(InspectorDebuggerAgent):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
(WebCore):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::isDebuggerPaused):
(WebCore):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::didFinishLoading):

LayoutTests:

Reviewed by Pavel Feldman.

* platform/chromium/test_expectations.txt: assert was fixed, remove
  custom expectation for inspector/debugger/pause-in-inline-script.html

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

9 years agoFix typo
haraken@chromium.org [Fri, 3 Feb 2012 15:07:19 +0000 (15:07 +0000)]
Fix typo
https://bugs.webkit.org/show_bug.cgi?id=77708

Reviewed by Adam Roben.

This patch fixes typos: [ObjCLegacyUnamedParameters] => [ObjCLegacyUnnamedParameters]

No tests. No change in behavior.

* css/CSSMediaRule.idl:
* css/CSSPrimitiveValue.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSStyleSheet.idl:
* dom/CharacterData.idl:
* dom/DOMImplementation.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/Event.idl:
* dom/EventTarget.idl:
* dom/MouseEvent.idl:
* dom/MutationEvent.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/Range.idl:
* dom/UIEvent.idl:
* html/HTMLSelectElement.idl:
* xml/XPathExpression.idl:

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

9 years ago[Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
noam.rosenthal@nokia.com [Fri, 3 Feb 2012 14:59:31 +0000 (14:59 +0000)]
[Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
https://bugs.webkit.org/show_bug.cgi?id=77148

Reviewed by Martin Robinson.

Source/WebCore:

Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
which responds to an "Software" mode of TextureMapper, instead of creating subclasses
of TextureMapper directly. This allows using the software fallback of TextureMapper by any
sort.

To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
as converting data to/from Image references in Qt generates unnecessary deep copies of the
image data.

Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
3D transforms in cross platform code.
After this patch everything renders the same. An additional bug report was created to allow
ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689

Covered extensively by existing tests, no behavioral changes.

* Target.pri:
* platform/graphics/GraphicsContext.cpp:
* platform/graphics/GraphicsContext.h:
(WebCore):
(GraphicsContext):
* platform/graphics/cairo/TextureMapperCairo.cpp:
* platform/graphics/opengl/TextureMapperGL.cpp:
(TextureMapperGLData):
(BitmapTextureGL):
(WebCore::BitmapTextureGL::BitmapTextureGL):
(WebCore::TextureMapperGL::beginPainting):
(WebCore::BitmapTextureGL::reset):
(WebCore):
(WebCore::swizzleBGRAToRGBA):
(WebCore::BitmapTextureGL::updateContents):
(WebCore::BitmapTextureGL::destroy):
(WebCore::TextureMapperGL::bindSurface):
(WebCore::TextureMapper::platformCreateAccelerated):
* platform/graphics/opengl/TextureMapperGL.h:
(TextureMapperGL):
(WebCore::TextureMapperGL::accelerationMode):
(WebCore):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore):
(WebCore::GraphicsContext::get3DTransform):
(WebCore::GraphicsContext::concat3DTransform):
(WebCore::GraphicsContext::set3DTransform):
* platform/graphics/qt/TextureMapperQt.cpp: Removed.
* platform/graphics/qt/TextureMapperQt.h: Removed.
* platform/graphics/texmap/TextureMapper.cpp:
(WebCore):
(BitmapTextureImageBuffer):
(TextureMapperImageBuffer):
* platform/graphics/texmap/TextureMapper.h:
(WebCore::BitmapTexture::BitmapTexture):
(BitmapTexture):
(WebCore::BitmapTexture::bpp):
(WebCore::BitmapTexture::isOpaque):
(WebCore::TextureMapper::setGraphicsContext):
(WebCore::TextureMapper::graphicsContext):
(TextureMapper):
(WebCore::TextureMapper::TextureMapper):
(WebCore::TextureMapper::platformCreateAccelerated):
* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::renderContent):
(WebCore::TextureMapperNode::setContentsTileBackBuffer):
* platform/graphics/texmap/TextureMapperNode.h:
(TextureMapperNode):

Source/WebKit/qt:

Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.

* Api/qwebframe.cpp:
(QWebFramePrivate::renderCompositedLayers):
* WebCoreSupport/PageClientQt.cpp:
(WebCore::PageClientQWidget::setRootGraphicsLayer):
(WebCore::PageClientQGraphicsWidget::setRootGraphicsLayer):

Source/WebKit2:

Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
Remove calls to unused API.

* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
(WebKit::LayerTreeHostProxy::paintToGraphicsContext):
(WebKit::LayerTreeHostProxy::createImage):
(WebKit::LayerTreeHostProxy::ensureRootLayer):

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

9 years ago[Qt] Split QQuickWebViewPrivate in two classes, for desktop and touch behavior.
jocelyn.turcotte@nokia.com [Fri, 3 Feb 2012 14:47:50 +0000 (14:47 +0000)]
[Qt] Split QQuickWebViewPrivate in two classes, for desktop and touch behavior.
https://bugs.webkit.org/show_bug.cgi?id=77632

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Replace the runtime property setting the desktop behavior on each instance
by a static boolean controlling the behavior used by future created WebViews.

* UIProcess/API/qt/qquickwebpage.cpp:
Let only setContentsSize control the size of the drawing area instead of deferring
it until geometryChanged is called.
(QQuickWebPagePrivate::QQuickWebPagePrivate):
* UIProcess/API/qt/qquickwebpage_p.h:
* UIProcess/API/qt/qquickwebpage_p_p.h:
(QQuickWebPagePrivate):
* UIProcess/API/qt/qquickwebview.cpp:
(createPrivateObject):
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::~QQuickWebViewPrivate):
(QQuickWebViewPrivate::initialize):
(QQuickWebViewPrivate::processDidCrash):
(QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate):
(QQuickWebViewLegacyPrivate::initialize):
(QQuickWebViewLegacyPrivate::updateViewportSize):
(QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
(QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
(QQuickWebViewFlickablePrivate::initialize):
(QQuickWebViewFlickablePrivate::loadDidCommit):
(QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout):
(QQuickWebViewFlickablePrivate::didChangeViewportProperties):
(QQuickWebViewFlickablePrivate::updateViewportSize):
(QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
(QQuickWebViewFlickablePrivate::_q_suspend):
(QQuickWebViewFlickablePrivate::_q_resume):
(QQuickWebViewFlickablePrivate::pageDidRequestScroll):
(QQuickWebViewFlickablePrivate::didChangeContentsSize):
(QQuickWebViewFlickablePrivate::computeViewportConstraints):
(QQuickWebViewFlickablePrivate::PostTransitionState::apply):
(QQuickWebViewExperimental::setFlickableViewportEnabled):
The switch is now a static function that has to be called before a WebView
is created. The switch can have it's default defined by the deploying platform.
(QQuickWebViewExperimental::flickableViewportEnabled):
(QQuickWebView::QQuickWebView):
On creation of QQuickWebView, the static boolean is read to know if we want
a QQuickWebViewTouchPrivate or a QQuickWebViewDesktopPrivate.
(QQuickWebView::geometryChanged):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
(QQuickWebViewPrivate::loadDidCommit):
(QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
(QQuickWebViewPrivate::didChangeViewportProperties):
(QQuickWebViewPrivate::viewportInteractionEngine):
(QQuickWebViewPrivate::updateViewportSize):
(QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
(QQuickWebViewPrivate::_q_suspend):
(QQuickWebViewPrivate::_q_resume):
(QQuickWebViewPrivate::pageDidRequestScroll):
(QQuickWebViewPrivate::didChangeContentsSize):
(QQuickWebViewLegacyPrivate):
(QQuickWebViewFlickablePrivate):
(QQuickWebViewFlickablePrivate::viewportInteractionEngine):
(PostTransitionState):
(QQuickWebViewFlickablePrivate::PostTransitionState::PostTransitionState):
* UIProcess/API/qt/qwebviewportinfo.cpp:
(QWebViewportInfo::currentScale):
(QWebViewportInfo::devicePixelRatio):
(QWebViewportInfo::initialScale):
(QWebViewportInfo::minimumScale):
(QWebViewportInfo::maximumScale):
(QWebViewportInfo::isScalable):
(QWebViewportInfo::layoutSize):
* UIProcess/API/qt/tests/publicapi/publicapi.pro:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: Added.
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/DesktopWebView.qml: Removed.
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: Renamed
from Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml.
Moved to DesktopBehavior instead of using a DesktopWebView to workaround the touch event limitation.
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
* UIProcess/API/qt/tests/qmltests/WebView.pro: Copied
from Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro.
* UIProcess/API/qt/tests/qmltests/qmltests.pro:
Split qmltests in two executables, tst_qmltests_DesktopBehavior and tst_qmltests_WebView.
The former runs without setFlickableViewportEnabled and the later does.
* UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
(main):
* UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
* UIProcess/API/qt/tests/tests.pri:
* UIProcess/qt/QtWebPageEventHandler.cpp:
(QtWebPageEventHandler::QtWebPageEventHandler):

Tools:

* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::BrowserWindow):
* MiniBrowser/qt/MiniBrowserApplication.cpp:
(MiniBrowserApplication::sendTouchEvent):
(MiniBrowserApplication::handleUserOptions):
* MiniBrowser/qt/MiniBrowserApplication.h:
(WindowOptions):
(WindowOptions::WindowOptions):
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::PlatformWebView::PlatformWebView):
* WebKitTestRunner/qt/main.cpp:
(main):
* qmake/mkspecs/features/default_post.prf:

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

9 years agoWeb Inspector: console evaluation doesn't work on breakpoint in pages with CSP
yurys@chromium.org [Fri, 3 Feb 2012 14:47:31 +0000 (14:47 +0000)]
Web Inspector: console evaluation doesn't work on breakpoint in pages with CSP
https://bugs.webkit.org/show_bug.cgi?id=77203

Inspector console evaluation now works when debugger is paused in a page with
content-security-policy prohibiting evals.

Reviewed by Pavel Feldman.

Source/WebCore:

Test: inspector/debugger/eval-on-pause-blocked.html

* bindings/js/JSInjectedScriptHostCustom.cpp:
* bindings/js/ScriptState.cpp:
(WebCore::evalEnabled):
(WebCore):
(WebCore::setEvalEnabled):
* bindings/js/ScriptState.h:
(WebCore):
* bindings/v8/ScriptObject.h:
(WebCore::ScriptObject::ScriptObject):
* bindings/v8/ScriptState.cpp:
(WebCore::evalEnabled):
(WebCore):
(WebCore::setEvalEnabled):
* bindings/v8/ScriptState.h:
(WebCore):
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::makeCall):
* inspector/InjectedScriptHost.idl:
* inspector/InjectedScriptSource.js:
(.):

LayoutTests:

* inspector/debugger/eval-on-pause-blocked-expected.txt: Added.
* inspector/debugger/eval-on-pause-blocked.html: Added.

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

9 years ago[Qt] Rename content* to contents* in QQuickWebPage.
jocelyn.turcotte@nokia.com [Fri, 3 Feb 2012 14:44:32 +0000 (14:44 +0000)]
[Qt] Rename content* to contents* in QQuickWebPage.
https://bugs.webkit.org/show_bug.cgi?id=77629

Reviewed by Kenneth Rohde Christiansen.

* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::QQuickWebPagePrivate):
(QQuickWebPagePrivate::paintToCurrentGLContext):
(QQuickWebPage::setContentsSize):
(QQuickWebPage::contentsSize):
(QQuickWebPage::setContentsScale):
(QQuickWebPage::contentsScale):
(QQuickWebPage::transformToItem):
(QQuickWebPagePrivate::updateSize):
* UIProcess/API/qt/qquickwebpage_p.h:
* UIProcess/API/qt/qquickwebpage_p_p.h:
(QQuickWebPagePrivate):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::didChangeContentsSize):
(QQuickWebViewPrivate::updateVisibleContentRectAndScale):
(QQuickWebViewPrivate::PostTransitionState::apply):
* UIProcess/API/qt/qwebviewportinfo.cpp:
(QWebViewportInfo::contentsSize):
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::scrollRequest):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::setItemRectVisible):
(WebKit::QtViewportInteractionEngine::event):
(WebKit::QtViewportInteractionEngine::wheelEvent):
(WebKit::QtViewportInteractionEngine::pagePositionRequest):
(WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
(WebKit::QtViewportInteractionEngine::applyConstraints):
(WebKit::QtViewportInteractionEngine::currentCSSScale):
(WebKit::QtViewportInteractionEngine::pinchGestureStarted):
(WebKit::QtViewportInteractionEngine::scaleContent):

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