[V8] IntrusiveDOMWrapperMap is no longer needed and can be deleted
https://bugs.webkit.org/show_bug.cgi?id=101493

Reviewed by Kentaro Hara.

This patch is another incremental step towards landing the patch in bug
101110. In this patch, we delete IntrusiveDOMWrapperMap, which is no
longer needed.

* WebCore.gypi:
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::DOMDataStore):
(WebCore::DOMDataStore::~DOMDataStore):
(WebCore::DOMDataStore::reportMemoryUsage):
(WebCore::DOMDataStore::weakCallback):
(WebCore):
* bindings/v8/DOMDataStore.h:
(WebCore::DOMDataStore::get):
(WebCore::DOMDataStore::set):
(DOMDataStore):
* bindings/v8/IntrusiveDOMWrapperMap.h: Removed.
* bindings/v8/V8GCController.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133794 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2][AC] API tests crash
https://bugs.webkit.org/show_bug.cgi?id=101480

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-07
Reviewed by Kenneth Rohde Christiansen.

When AC is enabled, 8 API tests are crashing. We need to properly set the evas engine for these tests.

* TestWebKitAPI/efl/PlatformWebView.cpp:
(TestWebKitAPI::initEcoreEvas):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix asm operand type for weakCompareAndSwap on ARM_THUMB2
https://bugs.webkit.org/show_bug.cgi?id=101238

Reviewed by Benjamin Poulain.

'result' was a bool, but the asm was expecting a 32-bit register. A
recent version of Clang warned about this:

  WebKit/Source/WTF/wtf/Atomics.h:163:34: error: the size being stored
  is truncated, use a modifier to specify the size [-Werror,-Wasm-operand-widths]

This patch fixes it by making 'result' an unsigned. It does not change
the functionality in practice ('result' would be in a 32-bit register
anyway), but it makes the code more correct and makes the warning go
away.

Also make 'result' for the X86 version an 'unsigned char' to make it
more clear that it is a byte.

* wtf/Atomics.h:
(WTF::weakCompareAndSwap):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Adding myself to commiters.py.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133797 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Allow client to override setWindowFrame() / getWindowFrame()
https://bugs.webkit.org/show_bug.cgi?id=101496

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-11-07
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Add window_geometry_set() / window_geometry_get() smart functions to
ewk_view allowing the client to provide its own implementation for
those.

This is particularly useful if the application uses elm_win because
the default implementation will not behave correctly in this case.
This is due to the fact that the default implementation interacts
with the Ecore_Evas that contains the view and is not aware of the
parent window widget.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::windowGeometry):
(EwkViewImpl::setWindowGeometry):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::getWindowFrame):
(WebKit::PageUIClientEfl::setWindowFrame):

Tools:

Provide implementation for on_window_geometry_get() / on_window_geometry_set()
smart functions that interact with the elm_win widget.

* MiniBrowser/efl/main.c:
(on_window_geometry_get):
(on_window_geometry_set):
(window_create):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove build-webkit dependency on Java SDK for Apple Mac WebKit.
<http://webkit.org/b/101492>

Patch by Andreas Kling <akling@apple.com> on 2012-11-07
Reviewed by Anders Carlsson.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj: Remove WebJavaPlugIn.h

Source/WebKit/mac:

* Plugins/WebJavaPlugIn.h: Removed.

Tools:

Don't check for a Java SDK before building the Apple Mac port. It's no longer needed for
the build after the Java bridge was removed.

* Scripts/build-webkit:
(cMakeArgsFromFeatures):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Indentation of ArgList.h is wrong
https://bugs.webkit.org/show_bug.cgi?id=101441

Reviewed by Andreas Kling.

Just unindented by 4 spaces.

* runtime/ArgList.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update expectations for svg/text/text-rescale.svg

Unreviewed update of test expectations.

This test needed a rebaseline after r133786.

* platform/chromium-win/svg/text/text-rescale-expected.png:
* platform/efl/svg/text/text-rescale-expected.png: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Remove setUserStyleSheetString/userStyleSheetString
https://bugs.webkit.org/show_bug.cgi?id=101490

Reviewed by Yong Li.

We no longer need this API.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
* Api/WebSettings.cpp:
(WebKit):
* Api/WebSettings.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shaders] Remove the dependency on CustomFilterValidatedProgram from CustomFilterRenderer
https://bugs.webkit.org/show_bug.cgi?id=101071

Reviewed by Dean Jackson.

I've removed the need to get a CustomFilterValidatedProgram from FilterEffectRenderer. It was only
used to delay the compilation of the shader until it was really needed. Instead, the FilterEffectRenderer
will directly get the compiled shader in the constructor. The callers that still want to avoid
compiling the shader until it is really needed can use the setCompiledProgram to inject the shader
at a later time, before painting.

No new tests, the change is covered by the css3/filters/custom/ tests.

* platform/graphics/filters/CustomFilterConstants.h:
* platform/graphics/filters/CustomFilterProgramInfo.h:
* platform/graphics/filters/CustomFilterRenderer.cpp:
(WebCore::CustomFilterRenderer::create):
(WebCore::CustomFilterRenderer::CustomFilterRenderer):
(WebCore::CustomFilterRenderer::premultipliedAlpha):
(WebCore::CustomFilterRenderer::setCompiledProgram):
(WebCore):
(WebCore::CustomFilterRenderer::prepareForDrawing):
(WebCore::CustomFilterRenderer::bindProgramAndBuffers):
* platform/graphics/filters/CustomFilterRenderer.h:
(WebCore):
(CustomFilterRenderer):
(WebCore::CustomFilterRenderer::compiledProgram):
* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::FECustomFilter):
(WebCore::FECustomFilter::prepareForDrawing):
* platform/graphics/filters/FECustomFilter.h:
(FECustomFilter):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
garden-o-matic should handle concurrent requests
https://bugs.webkit.org/show_bug.cgi?id=101407

Reviewed by Ojan Vafai.

Garden-o-Matic is implemented on top of the BaseHttpServer
python library, which implements a single-threaded (one request at
a time) server. This means that we can only rebaseline one test at
a time, and when using a local results file, even fetching the results
for diffs is single-threaded.

Mixing in the ThreadingMixin enables concurrent requests (subject
to the global python interpreter lock). Given that we're doing all
of the work in webkit-patch subprocesses, I think this is safe.

Of course, it may not be safe to do some of the subprocesses in
parallel (e.g., rollout), but I think as long as we don't issue
commands that touch overlapping sets of files things should be fine.
The file locking over modifying testexpectations should keep that
from being corrupted.

* Scripts/webkitpy/tool/servers/gardeningserver.py:
(GardeningHTTPServer):
(GardeningHTTPRequestHandler):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] DOMWrapperMap doesn't need to use virtual functions
https://bugs.webkit.org/show_bug.cgi?id=101494

Reviewed by Kentaro Hara.

DOMWrapperMap has only one subclass. There's no reason to use virtual functions.

* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::DOMDataStore):
* bindings/v8/DOMWrapperMap.h:
(WebCore::DOMWrapperMap::DOMWrapperMap):
(WebCore::DOMWrapperMap::get):
(WebCore::DOMWrapperMap::set):
(WebCore::DOMWrapperMap::clear):
(WebCore::DOMWrapperMap::reportMemoryUsage):
(WebCore::DOMWrapperMap::remove):
(WebCore::DOMWrapperMap::defaultWeakCallback):
* bindings/v8/V8NPObject.cpp:
(WebCore::staticNPObjectMap):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Style fix following r133262.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::clearMediaPlayer):
* html/HTMLMediaElement.h:
(HTMLMediaElement):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=101303
Fixed position elements that are out of view still end up forcing 
non-threaded scrolling
-and corresponding-
<rdar://problem/12642222>

Reviewed by Simon Fraser.

Source/WebCore: 

Re-name hasNonLayerFixedObjects() to 
hasVisibleSlowRepaintFixedObjects() and make it virtual. 
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::hasVisibleSlowRepaintFixedObjects):
(WebCore::ScrollingCoordinator::mainThreadScrollingReasons):
* page/scrolling/ScrollingCoordinator.h:
(ScrollingCoordinator):

Override hasVisibleSlowRepaintFixedObjects() to always return false. 
We don't want to bother with the extra computation in the 
ScrollingCoordinator implementation, though other ports might still 
want it.
* page/scrolling/mac/ScrollingCoordinatorMac.h:
(WebCore::ScrollingCoordinatorMac::hasVisibleSlowRepaintFixedObjects):
(ScrollingCoordinatorMac):

Make this function const so that we can call it from 
requiresCompositingForPosition().
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::calculateCompositedBounds):

Actually be thorough here and check if the fixed object has any 
descendants that are visible in the view. If it does, then we do 
want to composite the fixed object.
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
* rendering/RenderLayerCompositor.h:

LayoutTests: 

New tests for an invisible fixed object that has visible children.
* compositing/absolute-inside-out-of-view-fixed-expected.txt: Added.
* compositing/absolute-inside-out-of-view-fixed.html: Added.
* platform/mac/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt: Added.
* platform/mac/tiled-drawing/fixed/absolute-inside-out-of-view-fixed.html: Added.

Updated results because these tests can now scroll on the scrolling 
thread, yay!
* platform/mac/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt:
* platform/mac/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133807 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Update BB10 form theme.
https://bugs.webkit.org/show_bug.cgi?id=100760

Patch by Tiancheng Jiang <tijiang@rim.com> on 2012-11-07
Reviewed by Rob Buis.

RIM PR 236997
Internally Reviewed by Jakob Petsovits.

Set font family to fix DRT test fast/forms/input-type-text-min-width.html

* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore::RenderThemeBlackBerry::defaultGUIFont):
(WebCore):
(WebCore::RenderThemeBlackBerry::systemFont):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133809 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] IntrusiveDOMWrapperMap should be usable for more than just Nodes
https://bugs.webkit.org/show_bug.cgi?id=101110

Reviewed by Kentaro Hara.

This patch generalizes our support for storing wrappers in DOM objects
to be usable for more than just nodes. After this patch, any object
with a ScriptWrappable base class will have its wrapper stored inline
in the object in the main world.

* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::weakCallback):
* bindings/v8/DOMDataStore.h:
(WebCore::DOMDataStore::get):
(WebCore::DOMDataStore::set):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, update chromium-mac-mountainlion baselines for css2.1/2011/0323

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133811 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WeakBlocks should be HeapBlocks
https://bugs.webkit.org/show_bug.cgi?id=101411

Reviewed by Oliver Hunt.

Currently WeakBlocks use fastMalloc memory. They are very similar to the other HeapBlocks, however,
so we should change them to being allocated with the BlockAllocator.

* heap/BlockAllocator.cpp:
(JSC::BlockAllocator::BlockAllocator):
* heap/BlockAllocator.h: Added a new RegionSet for WeakBlocks.
(JSC):
(BlockAllocator):
(JSC::WeakBlock):
* heap/Heap.h: Friended WeakSet to allow access to the BlockAllocator.
(Heap):
* heap/WeakBlock.cpp:
(JSC::WeakBlock::create): Refactored to use HeapBlocks rather than fastMalloc.
(JSC::WeakBlock::WeakBlock):
* heap/WeakBlock.h: Changed the WeakBlock size to 4 KB so that it divides evenly into the Region size.
(JSC):
(WeakBlock):
* heap/WeakSet.cpp:
(JSC::WeakSet::~WeakSet):
(JSC::WeakSet::addAllocator):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clean up confused use of Document::renderer and renderView
https://bugs.webkit.org/show_bug.cgi?id=101484

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-07
Reviewed by Ojan Vafai.

Document::renderer and Document::renderView are the same thing, but it seems
people don't always realize it and check if document()->renderer() is a RenderView.

This patch cleans up usage of document()->renderer() and document()->renderView() and
simplifies the code that was written without realizing they were the same thing.

No new tests, this is just a refactor.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::visiblePositionForPoint): Lots of simplification.
* dom/Element.cpp:
(WebCore::Element::screenRect):
(WebCore::Element::unregisterNamedFlowContentNode): Remove unneeded conditional.
* editing/FrameSelection.cpp: Remove verbose casts.
(WebCore::clearRenderViewSelection):
(WebCore::FrameSelection::recomputeCaretRect):
(WebCore::CaretBase::invalidateCaretRect):
(WebCore::FrameSelection::focusedOrActiveStateChanged):
* page/Frame.cpp:
(WebCore::Frame::contentRenderer): Vastly simplified.
* page/PrintContext.cpp: Remove verbose casts.
(WebCore::PrintContext::computePageRects):
(WebCore::PrintContext::computePageRectsWithPageSizeInternal):
* page/wince/FrameWinCE.cpp:
(WebCore::computePageRectsForFrame): Remove unreachable code.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::maximalOutlineSize): Remove verbose cast.

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