[Chromium] Add supportMultipleWindows setting, needed for Android
https://bugs.webkit.org/show_bug.cgi?id=99716

Reviewed by Adam Barth.

Add supportMultipleWindows settings for reusing the same view when
opening popups. This is required for emulating the behavior of
Android WebView. Adding into WebCore, as other ports might want to
use this setting in the future.

Source/WebCore:

Tests: fast/dom/HTMLAnchorElement/anchor-no-multiple-windows.html
       fast/dom/Window/window-open-no-multiple-windows.html
       fast/forms/post-popup-no-multiple-windows.html

* loader/FrameLoader.cpp:
(WebCore::createWindow):
* page/ContextMenuController.cpp:
(WebCore::openNewWindow):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setSupportsMultipleWindows):
(WebCore):
* page/Settings.h:
(Settings):
(WebCore::Settings::supportsMultipleWindows):

Source/WebKit/chromium:

* public/WebSettings.h:
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::dispatchCreatePage):
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setSupportsMultipleWindows):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):

Tools:

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::overridePreference):
* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::reset):
(WebPreferences::applyTo):
* DumpRenderTree/chromium/WebPreferences.h:
(WebPreferences):

LayoutTests:

* fast/dom/HTMLAnchorElement/anchor-no-multiple-windows-expected.txt: Added.
* fast/dom/HTMLAnchorElement/anchor-no-multiple-windows.html: Added.
* fast/dom/Window/window-open-no-multiple-windows-expected.txt: Added.
* fast/dom/Window/window-open-no-multiple-windows.html: Added.
* fast/forms/post-popup-no-multiple-windows-expected.txt: Added.
* fast/forms/post-popup-no-multiple-windows.html: Added.
* platform/chromium/fast/dom/HTMLAnchorElement/anchor-no-multiple-windows-expected.txt: Added.
* platform/chromium/fast/dom/Window/window-open-no-multiple-windows-expected.txt: Added.
* platform/chromium/fast/forms/post-popup-no-multiple-windows-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132478 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2][EFL] Add ewk_view_pagination_mode_set/get() APIs
https://bugs.webkit.org/show_bug.cgi?id=100213

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-10-25
Reviewed by Gyuyoung Kim.

Add ewk_view_pagination_mode_set/get() APIs for paginated display.

* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_pagination_mode_set):
(ewk_view_pagination_mode_get):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add setMediaTypeOverride to window.internals.settings
https://bugs.webkit.org/show_bug.cgi?id=100249

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-25
Reviewed by Kenneth Rohde Christiansen.

.:

Exported WebCore::Settings::setMediaTypeOverride(WTF::String const&) for GTK port.

* Source/autotools/symbols.filter:

Source/WebCore:

Added setMediaTypeOverride to window.internals.settings.

Test: fast/media/print-restores-previous-mediatype.html

* WebCore.exp.in: Exported WebCore::Settings::setMediaTypeOverride(WTF::String const&) for MAC.
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setMediaTypeOverride):
(WebCore):
* page/Settings.h:
(Settings):
(WebCore::Settings::mediaTypeOverride):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setMediaTypeOverride):
(WebCore):
* testing/InternalSettings.h:
(Backup):
(InternalSettings):
* testing/InternalSettings.idl:

Source/WebKit2:

Exported WebCore::Settings::setMediaTypeOverride(WTF::String const&) for WIN port.

* win/WebKit2.def:

LayoutTests:

Fixed fast/media/print-restores-previous-mediatype.html to use cross-platform
window.internals.settings.setMediaTypeOverride.
Unskipped fast/media/print-restores-previous-mediatype.html for EFL, the test should also work
on other ports but it needs to be checked first.

* fast/media/print-restores-previous-mediatype.html:
* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132480 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: [Overrides] Add latitude and longitude labels for the geolocation fields
https://bugs.webkit.org/show_bug.cgi?id=100375

Reviewed by Yury Semikhatsky.

No new tests, a UI change.

* English.lproj/localizedStrings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132481 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Adjust library name in webkitdirs.pm after r131300.
https://bugs.webkit.org/show_bug.cgi?id=100376

The library was renamed from QtWebKit to QtWebKitWidgets.
run-launcher was still looking for QtWebKit.

Reviewed by Simon Hausmann.

* Scripts/webkitdirs.pm:
(builtDylibPathForName):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2][AC] Regression(132392) infinite loop when displaying certain animations.
https://bugs.webkit.org/show_bug.cgi?id=100288

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

When PageClientImpl::setViewNeedsDisplay is called, start a 0 length timer.
That breaks the synchronous loop we were experiencing when ewk_view_display
was called directly.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::displayTimerFired):
(EwkViewImpl::redrawRegion):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132483 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Not reviewed: chromium test expectations updated.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132484 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Memory leak in _ewk_view_preedit_changed()
https://bugs.webkit.org/show_bug.cgi?id=100380

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-25
Reviewed by Antonio Gomes.

Fix memory leak in _ewk_view_preedit_changed(). The buffer
returned by ecore_imf_context_preedit_string_get() is never
freed.

* UIProcess/API/efl/EwkViewImpl.cpp:
(_ewk_view_preedit_changed):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132485 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Memory instrumentation: add reportMemoryUsage to ImageObserver interface
https://bugs.webkit.org/show_bug.cgi?id=100091

Reviewed by Pavel Feldman.

Added reportMemoryUsage method to ImageObserver to make sure it is reported as
appropriate descendant(with pointer adjusted due to offsets added by inheritance)
rather than as a standalone memory block.

* platform/graphics/ImageObserver.h:
(ImageObserver):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening, skip tests because TestRunner::overridePreference()
does not support the 'WebKitSupportsMultipleWindows' preference on Qt WK1.

* platform/qt-5.0-wk1/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Can't easily position the cursor on an empty line in a textarea with touch if touch adjustment is enabled
https://bugs.webkit.org/show_bug.cgi?id=97576

Patch by Kevin Ellis <kevers@chromium.org> on 2012-10-25
Reviewed by Antonio Gomes.

Source/WebCore:

Consolidate touch adjustment candidates that are
editable.  Adjustment becomes coarse being based
on the bounds of the outermost editable element.
This fix allows tap positioning of the text caret
on a blank line immediately above or below another
element.

Test: touchadjustment/editable-content.html

* page/TouchAdjustment.cpp:
(WebCore::TouchAdjustment::compileSubtargetList):
(WebCore::TouchAdjustment::hybridDistanceFunction):

LayoutTests:

Add test to verify that touch adjustment is coarse for
editable content, being based on the bounds of the
editable content and not its children.

* touchadjustment/editable-content-expected.txt: Added.
* touchadjustment/editable-content.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] External FileSystem should use the root path returned by requestFileSystem
https://bugs.webkit.org/show_bug.cgi?id=100372

Reviewed by Kentaro Hara.

External FileSystem should use the root path returned by
requestFileSystem as other type is doing. Current implementation
completely ignore the returned path.

New tests are to be added in chromium (as the type is only available in chromeos and chrome extensions)

* Modules/filesystem/chromium/DOMFileSystemChromium.cpp:
(WebCore::DOMFileSystemBase::createFileSystemURL):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132489 268f45cc-cd09-0410-ab3c-d52691b4dbfc
'resolution' MQ: Printing should use use high resolution images when available
https://bugs.webkit.org/show_bug.cgi?id=100382

Reviewed by Antti Koivisto.

Special case print to not use the dpi of the screen, but one of 300.

Updated the resolution media query test to cover this.

Source/WebCore:

* css/MediaQueryEvaluator.cpp:
(WebCore::resolutionMediaFeatureEval): Update compared decimal points
to three, due to 300 / 96 being equal to 3.125.

LayoutTests:

* fast/media/mq-resolution-expected.txt:
* fast/media/mq-resolution.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        REGRESSION (r131686): Crashes in NSToolTipManager
        https://bugs.webkit.org/show_bug.cgi?id=99792

        Now that NSToolTip related parts of this change have been rolled out, roll out
        the initial crash fix, too. We have no direct evidence that it's to blame, but it
        doesn't serve any specific purpose any more.

        * UIProcess/API/mac/WKView.mm: (-[WKView viewDidMoveToWindow]):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132491 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update the C++ llint to work with the latest op_resolve... changes.
https://bugs.webkit.org/show_bug.cgi?id=100345.

Reviewed by Oliver Hunt.

* llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
- emit opcode name as label when not using COMPUTED_GOTOs. The new op_resolve
  opcodes have jumps to these labels.
- declare all opcode labels as UNUSED_LABEL()s to keep the compiler happy
  for opcodes that are not referenced by anyone.
* offlineasm/asm.rb:
- strip llint_ prefix from opcode names used as labels.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Init timeout flag in ResourceErrorCF
https://bugs.webkit.org/show_bug.cgi?id=100349

Reviewed by Alexey Proskuryakov.

Initialize the timeout property to true if the network error was a timeout error.
This is a speculative fix for the XHR timeout test cases failing on Apple Win -
I can't verify this on a local machine.

No new tests, covered by
LayoutTests/http/tests/xmlhttprequest/timeout/*

* platform/network/cf/ResourceErrorCF.cpp:
(WebCore::ResourceError::ResourceError): Init m_timeout from error code.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: inspector tests failing after r132454
https://bugs.webkit.org/show_bug.cgi?id=100381

Reviewed by Pavel Feldman.

Source/WebCore:

Added implementation for DOMNodeWrapperMap::reportMemoryUsage method,
otherwise no actual pointer is reported which breaks instrumentation.

* bindings/v8/IntrusiveDOMWrapperMap.h:

LayoutTests:

Enable memory instrumentation tests now that the problem is fixed.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Assertion failure trying to dispatch notification messages
https://bugs.webkit.org/show_bug.cgi?id=100387
<rdar://problem/12573195>

Reviewed by Jessie Berlin.

Pass a zero destination ID when sending WebNotificationManagerProxy messages; they are not
used by the UI process and since the WebNotificationManagerProxy message receiver is global
passing a non-zero destination ID would cause the aforementioned assertion failure.

* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::cancel):
(WebKit::WebNotificationManager::clearNotifications):
(WebKit::WebNotificationManager::didDestroyNotification):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Adding myself as a committer.

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening, skip failing tests to speedup testing.

* platform/qt/TestExpectations:

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