Eliminate use of deleteAllValues in ProxyInstance
https://bugs.webkit.org/show_bug.cgi?id=122499

Reviewed by Anders Carlsson.

* Plugins/Hosted/ProxyInstance.h: Use unique_ptr for map values in m_fields and m_methods.

* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::~ProxyInstance): Removed calls to deleteAllValues.
(WebKit::ProxyInstance::methodNamed): Use make_unique and get to deal with map entries
that are unique_ptr. Also fixed a bug where this would do an expensive no-op if the map
already had an entry with a null in it. We would call the plug-in, but eventually
isNewEntry would be false so we would return null.
(WebKit::ProxyInstance::fieldNamed): Use make_unique and get to deal with map entries
that are unique_ptr.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Re-enable MathML for release builds
https://bugs.webkit.org/show_bug.cgi?id=122361

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-10-08
Reviewed by Darin Adler.

* Source/autotools/SetupWebKitFeatures.m4: Enable MathML for release builds.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r157090.
http://trac.webkit.org/changeset/157090
https://bugs.webkit.org/show_bug.cgi?id=122504

Caused crashes in many plug-in tests (Requested by ap on
#webkit).

* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::registerNPObject):
(WebKit::NPRemoteObjectMap::pluginDestroyed):
* Shared/Plugins/NPRemoteObjectMap.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GStreamer] enable v4l2 plugin
https://bugs.webkit.org/show_bug.cgi?id=122503

Reviewed by Martin Robinson.

* gtk/jhbuild.modules: Enable the plugin, it now builds fine since
we updated our GStreamer version to 1.0.8.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] Add checks for proper build and test environment
https://bugs.webkit.org/show_bug.cgi?id=122466

Reviewed by Darin Adler.

This patch makes two changes:
1. Update webkitdirs.pm to check for some common misconfigurations and provide helpful warnings or
   error messages so that people know what to fix to get things working.
2. Modify the win.py port to handle the 32-bit and 64-bit test environments, as well as making sure
   the various environment settings are properly configured for our test environment.

* Scripts/webkitdirs.pm:
(checkInstalledTools): Add checks for some common Cygwin configuration problems that have
caused problems in the past.
(setupAppleWinEnv):
* Scripts/webkitpy/port/win.py:
(WinPort):
(WinPort.read_registry_string): Parameterize for run architecture and registry root.
(WinPort.write_registry_value): Parameterize registry writing by data type (string versus
DWORD, etc.)
(WinPort.write_registry_string): Revise to call new generic registry write function.
(WinPort.setup_crash_log_saving): Revise for new API
(WinPort.restore_crash_log_saving): Ditto
(WinPort.prevent_error_dialogs): Add new methods to prevent Windows dialogs that block our test
servers from running.
(WinPort.allow_error_dialogs): Ditto.
(WinPort.setup_test_run): Call new API to turn off user input dialogs on program failure.
(WinPort.clean_up_test_run): Call new API to reactivatea user input dialogs after test run finished.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Composited layer that painted into composited ancestor is not repainted after moving
https://bugs.webkit.org/show_bug.cgi?id=114655

Patch by Hurnjoo Lee <hurnjoo.lee@samsung.com> on 2013-10-08
Reviewed by Simon Fraser.

Source/WebCore:

Test: compositing/repaint/absolute-painted-into-composited-ancestor.html

Composited layers are currently skipping repainting after layout,
if the repaint status is not NeedsFullRepaint. However, in case layers
were painted into composited ancestor, they need to repaint.

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

LayoutTests:

Add a text repaint test to check the repainting of composited layer
that painted into composited ancestor.

* compositing/repaint/absolute-painted-into-composited-ancestor-expected.txt: Added.
* compositing/repaint/absolute-painted-into-composited-ancestor.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebNetscapePluginView should no longer use deleteAllValues
https://bugs.webkit.org/show_bug.cgi?id=122495

Reviewed by Anders Carlsson.

* Plugins/WebNetscapePluginView.h: Use unique_ptr for both the pointer to
the timers hash table, and for the values in the hash table.

* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView stopTimers]): Rewrote loop so it works with unique_ptr.
(-[WebNetscapePluginView startTimers]): Ditto.
(-[WebNetscapePluginView fini]): Removed unneeded code to delete timers.
(-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]): Make
the timers hash table with make-unique. Fixed the loop that chooses the timer
ID so it won't ever try to use a deleted value, although that never happens
in practice. Use HashMap::add instead of using both contains and set.
Rearranged code so we don't need to make a raw pointer for the timer.
(-[WebNetscapePluginView unscheduleTimer:]): Use remove instead of take/delete,
since remove takes care of the deletion automatically since we are using the
unique_ptr class.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get EFL and GTK compiling with media stream enabled
https://bugs.webkit.org/show_bug.cgi?id=122505

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-10-08
Reviewed by Philippe Normand.

After r157068

No new tests needed.

* GNUmakefile.list.am:
* UseJSC.cmake:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Flaky Test: media/video-layer-crash.html
https://bugs.webkit.org/show_bug.cgi?id=114744

* platform/mac/TestExpectations: Marking as such.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157111 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build correction.

* Scripts/webkitpy/port/win.py:
(WinPort.write_registry_value): Use string representation of error message to avoid
format conversion problem.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157112 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r157080.
http://trac.webkit.org/changeset/157080

Not a proper baseline

* platform/gtk/fast/regions/selection/selecting-text-ignoring-region-horiz-bt-expected.png: Removed.
* platform/gtk/fast/regions/selection/selecting-text-ignoring-region-vert-lr-expected.png: Removed.
* platform/gtk/fast/regions/selection/selecting-text-in-2-regions-horiz-bt-expected.png: Removed.
* platform/gtk/fast/regions/selection/selecting-text-in-2-regions-vert-lr-expected.png: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test media/track/track-cue-rendering.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=122507

* platform/mac/TestExpectations: Marking as such.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test compositing/video/video-reflection.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=122508

* platform/mac/TestExpectations: Marking as such.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157115 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test inspector/debugger/debugger-activation-crash2.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=122509

* platform/mac/TestExpectations: Marking as such.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test inspector/styles/add-new-rule-with-style-after-body.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=122510

* platform/mac/TestExpectations: Marking as such.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening. Adding ImageOnlyFailure expectations to:

    - fast/regions/selection/selecting-text-ignoring-region-horiz-bt.html
    - fast/regions/selection/selecting-text-ignoring-region-vert-lr.html
    - fast/regions/selection/selecting-text-in-2-regions-horiz-bt.html
    - fast/regions/selection/selecting-text-in-2-regions-vert-lr.html

* platform/gtk/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSManagedValue should be able to store non-object JSValues
https://bugs.webkit.org/show_bug.cgi?id=122351

Reviewed by Oliver Hunt.

We decided not to support this because we thought it didn't make sense to have a 
"weak" JSValue that wasn't an object.

Our general thought process was if you have a JSObject-ObjC object pair (i.e. an 
Obj-C object that you exported to JavaScript-land), it makes more sense to store 
a non-object JSValue on the JavaScript-land version of the object rather than as 
an ivar in the Objective-C object.

In retrospect, this may not have been a good decision at least w.r.t. consistency 
in client code. If you're storing a bag of JSValues off an Obj-C object, you'd 
like to store all of them either in ObjC-land or JavaScript-land, but doing some 
in one and some in the other doesn't sound too good. Also, what if the object you 
want to hang these values off of doesn't have a corresponding object in JavaScript-
land in which to store them?

The solution is to fix JSManagedValue to be able to reference non-object JSValues. 
Right now, all JSManagedValues contain a Weak<JSObject>. We'll change this so that
they can contain either a non-cell JSValue or a JSObject*, along with a weak 
reference to the JSGlobalObject for reconstructing a JSValue later on.

* API/JSManagedValue.mm:
(PrimitiveOrObject::PrimitiveOrObject):
(PrimitiveOrObject::~PrimitiveOrObject):
(PrimitiveOrObject::clear):
(PrimitiveOrObject::isClear):
(PrimitiveOrObject::isSet):
(PrimitiveOrObject::isPrimitive):
(PrimitiveOrObject::isObject):
(PrimitiveOrObject::setPrimitive):
(PrimitiveOrObject::setObject):
(PrimitiveOrObject::object):
(PrimitiveOrObject::primitive):
(-[JSManagedValue initWithValue:]):
(-[JSManagedValue value]):
(-[JSManagedValue disconnectValue]):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] Widows don't work if the first line in a region is aligned with the top of the region
https://bugs.webkit.org/show_bug.cgi?id=122450

Reviewed by David Hyatt.

Source/WebCore:

The patch adds a new function updateRegionForLine that updates the containing region for a line and the
flag used to determine if it's the first line in that region. This is necessary because the code in
adjustLinePositionForPagination is not sufficient to determine when an unforced break occurs and the line
being positioned is the first one in the fragmentation container or not.

Test: fast/regions/regions-widows-float-top-aligned.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::adjustLinePositionForPagination): Added FIXME comment.
* rendering/RenderBlockFlow.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::linkToEndLineIfNeeded):
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlockFlow::updateRegionForLine): New function used to update the containing region and
the first line flag.

LayoutTests:

Simple test veryfing that widows are correctly computed when there is a float affecting the lines
and when they are vertically aligned with the regions height.

* fast/regions/regions-widows-float-top-aligned-expected.html: Added.
* fast/regions/regions-widows-float-top-aligned.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSSRegions] Computed z-Index should return 0 instead of auto for a region
https://bugs.webkit.org/show_bug.cgi?id=122405

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/regions/layers/region-zIndex-computedStyle.html

Adjust the z-index value for a region. Also, since a box with a z-Index
that is non-auto receives a layer, i removed the requiresLayer override
in RenderRegion and RenderMultiColumnSet.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* rendering/RenderMultiColumnSet.cpp:
* rendering/RenderMultiColumnSet.h:
* rendering/RenderRegion.cpp:
* rendering/RenderRegion.h:
* rendering/style/RenderStyle.h:

LayoutTests:

* fast/regions/layers/region-zIndex-computedStyle-expected.txt: Added.
* fast/regions/layers/region-zIndex-computedStyle.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, add my new email to contributors.json.

Patch by Christophe Dumez <ch.dumez@sisa.samsung.com> on 2013-10-08

* Scripts/webkitpy/common/config/contributors.json:

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