[V8] Generalize NodeWrapperMap to be able to handle other sorts of keys
https://bugs.webkit.org/show_bug.cgi?id=100973

Reviewed by Kentaro Hara.

This is the first step towards using intrusive DOM wrapper maps more
widely in WebCore (see
http://lists.webkit.org/pipermail/webkit-dev/2012-November/022686.html
for more context).

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


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline tests listed in Mac TestExpectations as needing new baselines, other than those that
are failing ref tests.

Removed relevant lines from TestExpectations.

Carry along some new image results for the directories which were rebaselined.

Rubber-stamped by Tim Horton

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Try to find ninja if it's not in the path already
https://bugs.webkit.org/show_bug.cgi?id=100988

Reviewed by Ryosuke Niwa.

Similar to the gclient detection logic in update-webkit-chromium

* Scripts/webkitdirs.pm:
(buildChromiumNinja):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133246 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Add a prompt to enable global location services
https://bugs.webkit.org/show_bug.cgi?id=100992

PR 227897

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-11-01
Reviewed by Rob Buis.

Adding a dialog to let the user know location services isn't enabled.
Currently, the browser app does not check whether the global setting for
location service is enabled. This patch adds a dialog to allow the user
to open the settings app and change that setting. This infobar will only
show once per session. If the user fails to turn on location services after
the first prompt, all geolocation requests will automatically fail.

Also, adapting GeolocationClientBlackBerry to the removal of GeoTracker.
The class now talks directly to the geo handler singleton.

* Api/WebPageClient.h:
* WebCoreSupport/GeolocationClientBlackBerry.cpp:
(GeolocationClientBlackBerry::GeolocationClientBlackBerry):
(GeolocationClientBlackBerry::geolocationDestroyed):
(GeolocationClientBlackBerry::startUpdating):
(GeolocationClientBlackBerry::stopUpdating):
(GeolocationClientBlackBerry::requestPermission):
(GeolocationClientBlackBerry::setEnableHighAccuracy):
* WebCoreSupport/GeolocationClientBlackBerry.h:
(WebCore::GeolocationClientBlackBerry::requiresHighAccuracy):
(GeolocationClientBlackBerry):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix assertion failure in RenderGeometryMap::absoluteRect when frame scale != 1.0
https://bugs.webkit.org/show_bug.cgi?id=100912

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-11-01
Reviewed by Simon Fraser.

Frame scale will add transformation to RenderView, so fixed position doesn't
get propagated up to the viewport by RenderGeometryMap. This is handled
correctly in RenderView::mapLocalToContainer, causing the assertion to fail.
This patch corrects RenderGeometryMap::mapToAbsolute to handle the RenderView
transformation case.

A layout test is added to catch this issue. The test will crash debug build
without this patch.

Source/WebCore:

Test: compositing/geometry/fixed-position-composited-page-scale-scroll.html

* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::mapToAbsolute):

LayoutTests:

* compositing/geometry/fixed-position-composited-page-scale-scroll-expected.txt: Added.
* compositing/geometry/fixed-position-composited-page-scale-scroll.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
XSS blocker false positive when page contains <iframe src="">
https://bugs.webkit.org/show_bug.cgi?id=93416

Reviewed by Adam Barth.

Source/WebCore:

Treat src="" and src="about:blank" as safe resources even if they appear
in the query parameters.

Tests: http/tests/security/xssAuditor/iframe-injection-allowed-2.html
       http/tests/security/xssAuditor/iframe-injection-allowed-3.html
       http/tests/security/xssAuditor/iframe-injection-allowed.html

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::isLikelySafeResource):

LayoutTests:

* http/tests/security/xssAuditor/iframe-injection-allowed-2-expected.txt: Added.
* http/tests/security/xssAuditor/iframe-injection-allowed-2.html: Added.
* http/tests/security/xssAuditor/iframe-injection-allowed-3-expected.txt: Added.
* http/tests/security/xssAuditor/iframe-injection-allowed-3.html: Added.
* http/tests/security/xssAuditor/iframe-injection-allowed-expected.txt: Added.
* http/tests/security/xssAuditor/iframe-injection-allowed.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133249 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reformat the annotationStyle initializer to appease update-webkit-localizable-strings.

Rubber-stamped by Dan Bernstein.

* WebProcess/Plugins/PDF/PDFPlugin.mm:

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

* platform/chromium-win/compositing/geometry/vertical-scroll-composited-expected.png:
* platform/chromium-win/platform/chromium/compositing/huge-layer-rotated-expected.png:
* platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
HTMLMediaPlayer should free m_player when src is set/changed
https://bugs.webkit.org/show_bug.cgi?id=99647

Reviewed by Eric Carlson.

.:

* ManualTests/media-players-are-dropped-on-error.html: Added.
    Various scenarios are tested to make sure players aren't
    leaked in different ways for each of them.

Source/WebCore:

New ManualTest added; manual since leaking media players doesn't have layoutTestController-visible effects.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute): clearMediaPlayer() when src is set/changed
(WebCore::HTMLMediaElement::userCancelledLoad): use new clearMediaPlayer() helper
(WebCore::HTMLMediaElement::clearMediaPlayer): clear m_player and associated timers/flags
(WebCore):
(WebCore::HTMLMediaElement::createMediaPlayer): whitespace-only change
* html/HTMLMediaElement.h: new method: createMediaPlayer().
(HTMLMediaElement):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Simplify the code of returning JSValue in "BlackBerry::WebKit::WebPagePrivate::executeJavaScript"
https://bugs.webkit.org/show_bug.cgi?id=100941

Patch by Peter Wang <peter.wang@torchmobile.com.cn> on 2012-11-01
Reviewed by Yong Li.

Remove the unnecessary steps, just directly deal with returned JSValue.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
(BlackBerry::WebKit::WebPagePrivate::executeJavaScriptInIsolatedWorld):

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

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove GlobalObject constant register that is typically unused
https://bugs.webkit.org/show_bug.cgi?id=101005

Reviewed by Geoffrey Garen.

The GlobalObject constant register is frequently allocated even when it
is not used, it is also getting in the way of some other optimisations.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(CodeBlock):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseResolveOperations):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133255 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r133244.
http://trac.webkit.org/changeset/133244
https://bugs.webkit.org/show_bug.cgi?id=100973

Broke Chromium Mac (clang) builds.

* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::DOMDataStore):
* bindings/v8/IntrusiveDOMWrapperMap.h:
(WebCore::DOMNodeWrapperMap::weakCallback):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133256 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed mathml rebaseline.

* platform/chromium-linux-x86/mathml: Added.
* platform/chromium-linux-x86/mathml/xHeight-expected.png: Added.
* platform/chromium-linux-x86/mathml/xHeight-expected.txt: Added.
* platform/chromium-linux/mathml: Added.
* platform/chromium-linux/mathml/xHeight-expected.png: Added.
* platform/chromium-linux/mathml/xHeight-expected.txt: Added.
* platform/chromium-win-xp/mathml: Added.
* platform/chromium-win-xp/mathml/xHeight-expected.png: Added.
* platform/chromium-win-xp/mathml/xHeight-expected.txt: Added.
* platform/chromium-win/mathml: Added.
* platform/chromium-win/mathml/xHeight-expected.png: Added.
* platform/chromium-win/mathml/xHeight-expected.txt: Added.
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove tests no longer needed after r133229.

* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPerfTestFactory.test_inspector_test):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(test_collect_tests_with_skipped_list):


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

* platform/chromium/TestExpectations:

* platform/chromium-mac-lion/svg/dynamic-updates/SVGUseElement-dom-requiredFeatures-expected.png: Added.
* platform/efl-wk1/svg/dynamic-updates/SVGUseElement-dom-requiredFeatures-expected.png: Renamed from LayoutTests/platform/efl/svg/dynamic-updates/SVGUseElement-dom-requiredFeatures-expected.png.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133261 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix. http://trac.webkit.org/changeset/133252 broke the Windows build.
https://bugs.webkit.org/show_bug.cgi?id=101008

Reviewed by fischman@chromium.org.

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


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133262 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline some MathML results, and mark compositing/iframes/overlapped-nested-iframes.html
as flakey because it is.

* platform/mac/TestExpectations:
* platform/mac/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/mathml/presentation/row-alignment-expected.png:
* platform/mac/mathml/presentation/row-alignment-expected.txt:
* platform/mac/mathml/presentation/subsup-expected.png:
* platform/mac/mathml/presentation/subsup-expected.txt:
* platform/mac/mathml/presentation/tables-expected.png:
* platform/mac/mathml/presentation/tables-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133263 268f45cc-cd09-0410-ab3c-d52691b4dbfc
New image results for compositing tests. Cross-platform image results seem
impossible to maintain, so these are all Mac-specific.

* platform/mac/compositing/animation/busy-indicator-expected.png:
* platform/mac/compositing/animation/state-at-end-event-transform-layer-expected.png:
* platform/mac/compositing/color-matching/image-color-matching-expected.png:
* platform/mac/compositing/color-matching/pdf-image-match-expected.png:
* platform/mac/compositing/compositing-visible-descendant-expected.png:
* platform/mac/compositing/direct-image-compositing-expected.png:
* platform/mac/compositing/flat-with-transformed-child-expected.png:
* platform/mac/compositing/framesets/composited-frame-alignment-expected.png:
* platform/mac/compositing/generated-content-expected.png:
* platform/mac/compositing/geometry/abs-position-inside-opacity-expected.png:
* platform/mac/compositing/geometry/clipping-foreground-expected.png:
* platform/mac/compositing/geometry/composited-html-size-expected.png:
* platform/mac/compositing/geometry/fixed-in-composited-expected.png:
* platform/mac/compositing/geometry/fixed-position-composited-page-scale-down-expected.png:
* platform/mac/compositing/geometry/fixed-position-composited-page-scale-expected.png:
* platform/mac/compositing/geometry/fixed-position-expected.png:
* platform/mac/compositing/geometry/fixed-position-iframe-composited-page-scale-down-expected.png:
* platform/mac/compositing/geometry/fixed-position-iframe-composited-page-scale-expected.png:
* platform/mac/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png:
* platform/mac/compositing/geometry/fixed-position-transform-composited-page-scale-expected.png:
* platform/mac/compositing/geometry/foreground-layer-expected.png:
* platform/mac/compositing/geometry/horizontal-scroll-composited-expected.png:
* platform/mac/compositing/geometry/layer-due-to-layer-children-deep-expected.png:
* platform/mac/compositing/geometry/layer-due-to-layer-children-expected.png:
* platform/mac/compositing/geometry/limit-layer-bounds-overflow-repaint-expected.png:
* platform/mac/compositing/geometry/outline-change-expected.png:
* platform/mac/compositing/geometry/partial-layout-update-expected.png:
* platform/mac/compositing/geometry/repaint-foreground-layer-expected.png:
* platform/mac/compositing/geometry/root-layer-update-expected.png:
* platform/mac/compositing/geometry/tall-page-composited-expected.png:
* platform/mac/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.png:
* platform/mac/compositing/geometry/vertical-scroll-composited-expected.png:
* platform/mac/compositing/geometry/video-fixed-scrolling-expected.png:
* platform/mac/compositing/geometry/video-opacity-overlay-expected.png:
* platform/mac/compositing/iframes/composited-iframe-alignment-expected.png:
* platform/mac/compositing/iframes/iframe-copy-on-scroll-expected.png:
* platform/mac/compositing/iframes/iframe-in-composited-layer-expected.png:
* platform/mac/compositing/images/content-image-change-expected.png:
* platform/mac/compositing/images/direct-image-background-color-expected.png:
* platform/mac/compositing/layer-creation/fixed-position-scroll-expected.png:
* platform/mac/compositing/layer-creation/spanOverlapsCanvas-expected.png:
* platform/mac/compositing/layers-inside-overflow-scroll-expected.png:
* platform/mac/compositing/masks/direct-image-mask-expected.png:
* platform/mac/compositing/masks/masked-ancestor-expected.png:
* platform/mac/compositing/masks/multiple-masks-expected.png:
* platform/mac/compositing/masks/simple-composited-mask-expected.png:
* platform/mac/compositing/overflow/ancestor-overflow-expected.png:
* platform/mac/compositing/overflow/fixed-position-ancestor-clip-expected.png:
* platform/mac/compositing/overflow/overflow-compositing-descendant-expected.png:
* platform/mac/compositing/overflow/overflow-positioning-expected.png:
* platform/mac/compositing/overflow/overflow-scaled-descendant-overlapping-expected.png:
* platform/mac/compositing/overflow/overflow-scroll-expected.png:
* platform/mac/compositing/overflow/parent-overflow-expected.png:
* platform/mac/compositing/overflow/scroll-ancestor-update-expected.png:
* platform/mac/compositing/overflow/scrollbar-painting-expected.png:
* platform/mac/compositing/overflow/theme-affects-visual-overflow-expected.png:
* platform/mac/compositing/plugins/composited-plugin-expected.png:
* platform/mac/compositing/reflections/animation-inside-reflection-expected.png:
* platform/mac/compositing/reflections/compositing-change-inside-reflection-expected.png:
* platform/mac/compositing/reflections/deeply-nested-reflections-expected.png:
* platform/mac/compositing/reflections/load-video-in-reflection-expected.png:
* platform/mac/compositing/reflections/masked-reflection-on-composited-expected.png:
* platform/mac/compositing/reflections/nested-reflection-anchor-point-expected.png:
* platform/mac/compositing/reflections/nested-reflection-animated-expected.png:
* platform/mac/compositing/reflections/nested-reflection-expected.png:
* platform/mac/compositing/reflections/nested-reflection-mask-change-expected.png:
* platform/mac/compositing/reflections/nested-reflection-on-overflow-expected.png:
* platform/mac/compositing/reflections/nested-reflection-opacity-expected.png:
* platform/mac/compositing/reflections/nested-reflection-size-change-expected.png:
* platform/mac/compositing/reflections/nested-reflection-transformed-expected.png:
* platform/mac/compositing/reflections/nested-reflection-transformed2-expected.png:
* platform/mac/compositing/reflections/nested-reflection-transition-expected.png:
* platform/mac/compositing/reflections/reflection-in-composited-expected.png:
* platform/mac/compositing/reflections/reflection-on-composited-expected.png:
* platform/mac/compositing/reflections/reflection-opacity-expected.png:
* platform/mac/compositing/reflections/reflection-ordering-expected.png:
* platform/mac/compositing/reflections/reflection-positioning-expected.png:
* platform/mac/compositing/reflections/reflection-positioning2-expected.png:
* platform/mac/compositing/reflections/simple-composited-reflections-expected.png:
* platform/mac/compositing/reflections/transform-inside-reflection-expected.png:
* platform/mac/compositing/repaint/become-overlay-composited-layer-expected.png:
* platform/mac/compositing/repaint/composited-document-element-expected.png:
* platform/mac/compositing/repaint/content-into-overflow-expected.png:
* platform/mac/compositing/repaint/layer-repaint-expected.png:
* platform/mac/compositing/repaint/layer-repaint-rects-expected.png:
* platform/mac/compositing/repaint/opacity-between-absolute-expected.png:
* platform/mac/compositing/repaint/opacity-between-absolute2-expected.png:
* platform/mac/compositing/repaint/overflow-into-content-expected.png:
* platform/mac/compositing/repaint/same-size-invalidation-expected.png:
* platform/mac/compositing/scaling/tiled-layer-recursion-expected.png:
* platform/mac/compositing/self-painting-layers-expected.png:
* platform/mac/compositing/shadows/shadow-drawing-expected.png:
* platform/mac/compositing/sibling-positioning-expected.png:
* platform/mac/compositing/text-on-large-layer-expected.png:
* platform/mac/compositing/transitions/scale-transition-no-start-expected.png:
* platform/mac/compositing/transitions/singular-scale-transition-expected.png:
* platform/mac/compositing/webgl/webgl-background-color-expected.png:
* platform/mac/compositing/webgl/webgl-no-alpha-expected.png:
* platform/mac/compositing/webgl/webgl-reflection-expected.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
A llint workaround for a toolchain issue.
https://bugs.webkit.org/show_bug.cgi?id=101012.

Reviewed by Michael Saboff.

* llint/LowLevelInterpreter.asm:
  - use a local label to workaround the toolchain issue with undeclared
    global labels.



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