WebKit-https.git
7 years agoNeed a method to close all idle localstorage databases immediately.
commit-queue@webkit.org [Sun, 2 Dec 2012 10:31:42 +0000 (10:31 +0000)]
Need a method to close all idle localstorage databases immediately.
https://bugs.webkit.org/show_bug.cgi?id=103469

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2012-12-02
Reviewed by David Kilzer.

Source/WebCore:

Add a new PageGroup method closeIdleLocalStorageDatabases, which walks through
all local storage areas that don't have document referencing to them and closes
their underlying databases.

Test: storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html

* WebCore.exp.in:
* page/PageGroup.cpp:
(WebCore::PageGroup::clearLocalStorageForOrigin):
(WebCore):
(WebCore::PageGroup::closeIdleLocalStorageDatabases): walking through all idle local storages and
    closing their databases.
* page/PageGroup.h:
(PageGroup):
* storage/StorageArea.h:
(WebCore::StorageArea::closeDatabaseIfIdle):
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::closeDatabaseIfIdle): close the database if it is idle.
(WebCore):
* storage/StorageAreaImpl.h:
(StorageAreaImpl):
* storage/StorageNamespace.h:
(StorageNamespace):
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::closeIdleLocalStorageDatabases):
(WebCore):
* storage/StorageNamespaceImpl.h:
(StorageNamespaceImpl):

Source/WebKit/mac:

Add a new method to WebStorageManager that we can call to close all
idle local storage databases.

* Storage/WebStorageManager.mm:
(+[WebStorageManager closeIdleLocalStorageDatabases]):
* Storage/WebStorageManagerPrivate.h:

Tools:

Add an JS method to TestRunner, to enable testing closing idle local storage databases in
DumpRenderTree layout tests.

* DumpRenderTree/TestRunner.cpp:
(closeIdleLocalStorageDatabasesCallback):
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
(TestRunner::closeIdleLocalStorageDatabases):
* DumpRenderTree/efl/TestRunnerEfl.cpp:
(TestRunner::closeIdleLocalStorageDatabases):
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
(TestRunner::closeIdleLocalStorageDatabases):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::closeIdleLocalStorageDatabases):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::closeIdleLocalStorageDatabases):
* DumpRenderTree/wx/TestRunnerWx.cpp:
(TestRunner::closeIdleLocalStorageDatabases):

LayoutTests:

* storage/domstorage/localstorage/close-idle-localstorage-databases-immediately-expected.txt: Added.
* storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html: Added.
* storage/resources/storage-close-idle-localstorage-databases-immediately.html: Added.

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

7 years ago[CoordinatedGraphics] Crash in TextureMapperLayer::setBackingStore()
commit-queue@webkit.org [Sun, 2 Dec 2012 10:29:38 +0000 (10:29 +0000)]
[CoordinatedGraphics] Crash in TextureMapperLayer::setBackingStore()
https://bugs.webkit.org/show_bug.cgi?id=103714

Patch by No'am Rosenthal <noam@webkit.org> on 2012-12-02
Reviewed by Kenneth Rohde Christiansen.

Remove a layer from the m_pendingSyncBackingStores map when it is deleted.

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::deleteLayer):

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

7 years ago[BlackBerry] Adding checks for null when checking cookie status in CookieJarBlackBerry
commit-queue@webkit.org [Sun, 2 Dec 2012 10:27:33 +0000 (10:27 +0000)]
[BlackBerry] Adding checks for null when checking cookie status in CookieJarBlackBerry
https://bugs.webkit.org/show_bug.cgi?id=103748

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

Updating CookieJarBlackBerry::cookieEnabled and have other methods in the class call that
method. Also, adding null checks for document->settings().

No change in behaviour.

* loader/blackberry/CookieJarBlackBerry.cpp:
(WebCore::cookies):
(WebCore::setCookies):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::cookieRequestHeaderFieldValue):

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

7 years ago[EFL][WK2] MiniBrowser should have a legacy mode
commit-queue@webkit.org [Sun, 2 Dec 2012 10:12:47 +0000 (10:12 +0000)]
[EFL][WK2] MiniBrowser should have a legacy mode
https://bugs.webkit.org/show_bug.cgi?id=103679

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

Source/WebKit2:

We need a way to create a web view in legacy mode, while still using the default context.
WKViewCreate creates a legacy view, so change it to create a default context if a context
was not passed.

* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_base_add):

Tools:

Add an option to start MiniBrowser in legacy mode.

* MiniBrowser/efl/main.c:
(window_create):
(elm_main):

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

7 years agoUnreviewed, rolling out r136236.
mkwst@chromium.org [Sun, 2 Dec 2012 09:45:48 +0000 (09:45 +0000)]
Unreviewed, rolling out r136236.
http://trac.webkit.org/changeset/136236
https://bugs.webkit.org/show_bug.cgi?id=103833

[chromium] Flakey crashes in SpeechRecognitionEvent::emma
during GC. (Requested by mkwst on #webkit).

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

Source/WebCore:

* Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::start):
* Modules/speech/SpeechRecognition.h:
(SpeechRecognition):
* Modules/speech/SpeechRecognitionEvent.cpp:
(WebCore::SpeechRecognitionEvent::SpeechRecognitionEvent):
* Modules/speech/SpeechRecognitionEvent.h:
(SpeechRecognitionEventInit):
(SpeechRecognitionEvent):
(WebCore::SpeechRecognitionEvent::resultIndex):
* Modules/speech/SpeechRecognitionEvent.idl:
* Modules/speech/SpeechRecognitionResult.cpp:
(WebCore::emmaQualifiedName):
(WebCore):
(WebCore::SpeechRecognitionResult::emma):
* Modules/speech/SpeechRecognitionResult.h:
(WebCore):
(WebCore::SpeechRecognitionResult::final):
(SpeechRecognitionResult):
* Modules/speech/SpeechRecognitionResult.idl:
* WebCore.gypi:
* bindings/v8/custom/V8SpeechRecognitionResultCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8SpeechRecognitionEventCustom.cpp.
(WebCore):
(WebCore::V8SpeechRecognitionResult::opaqueRootForGC):

Source/WebKit/chromium:

* public/WebSpeechRecognizerClient.h:
* src/SpeechRecognitionClientProxy.cpp:
* src/SpeechRecognitionClientProxy.h:
(SpeechRecognitionClientProxy):

Tools:

* DumpRenderTree/chromium/MockWebSpeechRecognizer.cpp:

LayoutTests:

* fast/speech/scripted/emma-expected.txt:
* fast/speech/scripted/emma.html:
* fast/speech/scripted/speechrecognition-basics-expected.txt:
* fast/speech/scripted/speechrecognition-basics.html:

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

7 years agoCodeBlock should be able to dump bytecode to something other than WTF::dataFile()
fpizlo@apple.com [Sun, 2 Dec 2012 08:00:14 +0000 (08:00 +0000)]
CodeBlock should be able to dump bytecode to something other than WTF::dataFile()
https://bugs.webkit.org/show_bug.cgi?id=103832

Reviewed by Oliver Hunt.

Add a PrintStream& argument to all of the CodeBlock bytecode dumping methods.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecodeCommentAndNewLine):
(JSC::CodeBlock::printUnaryOp):
(JSC::CodeBlock::printBinaryOp):
(JSC::CodeBlock::printConditionalJump):
(JSC::CodeBlock::printGetByIdOp):
(JSC::dumpStructure):
(JSC::dumpChain):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::printPutByIdOp):
(JSC::CodeBlock::printStructure):
(JSC::CodeBlock::printStructures):
(JSC::CodeBlock::dumpBytecode):
* bytecode/CodeBlock.h:
(CodeBlock):
* jit/JITDisassembler.cpp:
(JSC::JITDisassembler::dumpForInstructions):

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

7 years agoPDFPlugin: Support PDF form editing in <iframe>s
timothy_horton@apple.com [Sun, 2 Dec 2012 07:55:26 +0000 (07:55 +0000)]
PDFPlugin: Support PDF form editing in <iframe>s
https://bugs.webkit.org/show_bug.cgi?id=103287
<rdar://problem/10326917>

Reviewed by Dan Bernstein.

PDFPlugin form editing depends on having a Document that has the same
size and position as the plugin; this is true not only in the full-main-frame
case, but also in the <iframe> case. Therefore, we can enable form editing
for <iframe> PDFPlugins.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::supportsForms): Support form editing whenever
our Document's widget is our PluginView (which will only be true in the
full-main-frame or <iframe> case).

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

7 years agoPDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
timothy_horton@apple.com [Sun, 2 Dec 2012 07:51:36 +0000 (07:51 +0000)]
PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
https://bugs.webkit.org/show_bug.cgi?id=103286
<rdar://problem/12752315>

Reviewed by Dan Bernstein.

Detecting whether or not a PDFPlugin is a full-page plugin or not is not
as simple as checking isMainFrame(), because <embed> and <object> will
cause PDFPlugin to live in the main frame, while still not being full-page.
We also have to check that the main frame's document is a PluginDocument,
and whether that PluginDocument's PluginWidget is our PDFPlugin's PluginView.

* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Add isFullFramePlugin.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::isFullFramePlugin): Check whether the main frame is
backed by a PluginDocument, and that that PluginDocument corresponds
to this PDFPlugin.
(WebKit::PDFPlugin::handlesPageScaleFactor): Use isFullFramePlugin.
(WebKit::PDFPlugin::supportsForms): Use isFullFramePlugin.

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

7 years ago[wk2] Use spoolRect instead of snapshots for print preview
timothy_horton@apple.com [Sun, 2 Dec 2012 07:44:46 +0000 (07:44 +0000)]
[wk2] Use spoolRect instead of snapshots for print preview
https://bugs.webkit.org/show_bug.cgi?id=103798
<rdar://problem/12686749>

Reviewed by Sam Weinig.

Revert to using spoolRect instead of snapshotting for printing; this was a bogus
change I made in http://trac.webkit.org/changeset/133935 which was irrelevant to
the core of that change, and incorrectly disregards the Frame parameter passed to
beginPrinting, instead using the WebPage's current Frame.

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

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

7 years ago[XvfbDriver] XvfbDriverTest.test_next_free_display is flaky on builders using XvfbDriver
zandobersek@gmail.com [Sun, 2 Dec 2012 07:06:01 +0000 (07:06 +0000)]
[XvfbDriver] XvfbDriverTest.test_next_free_display is flaky on builders using XvfbDriver
https://bugs.webkit.org/show_bug.cgi?id=103806

Reviewed by Dirk Pranke.

There are occasional mishaps on builders where XvfbDriver doesn't properly
clean up the Xvfb instance it was managing so the related guard lock files
are still existing when the webkitpy unit tests are run. This can cause failures
in XvfbDriverTest.test_next_free_display as the test tries to acquire displays
with a specific number but is unable to due to the stale locks.

The solution to this is to use MockFileLock when inside unit test. This is achievable
by creating a file lock through the SystemHost instance connected to the Port object,
the latter available to the Driver.

* Scripts/webkitpy/common/system/file_lock_mock.py:
(MockFileLock.acquire_lock): Return True to signal lock acquiring succeeded.
(MockFileLock.release_lock): Return True to signal lock releasing succeeded.
* Scripts/webkitpy/layout_tests/port/xvfbdriver.py:
(XvfbDriver._next_free_display): Create the file lock through a mockable way.
* Scripts/webkitpy/layout_tests/port/xvfbdriver_unittest.py:
(XvfbDriverTest.test_next_free_display): Enable back the unit test.

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

7 years agoUnreviewed, rolling out r136015.
abarth@webkit.org [Sun, 2 Dec 2012 00:31:21 +0000 (00:31 +0000)]
Unreviewed, rolling out r136015.
http://trac.webkit.org/changeset/136015
https://bugs.webkit.org/show_bug.cgi?id=103821

Did not heal performance bot and caused other performance
regressions (Requested by abarth on #webkit).

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

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

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

7 years ago[chromium] Unreviewed gardening. Skipping crashing tests.
mkwst@chromium.org [Sat, 1 Dec 2012 21:33:11 +0000 (21:33 +0000)]
[chromium] Unreviewed gardening. Skipping crashing tests.

The DEPS roll containing r170422 is causing three crashes cross-platform
in the Chromium port. Skipping them here, filed crbug.com/163785 to fix.

* platform/chromium/TestExpectations:
    Marked media/encrypted-media/encrypted-media-events.html,
    media/encrypted-media/encrypted-media-not-loaded.html, and
    media/encrypted-media/encrypted-media-syntax.html as crashing.

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

7 years ago[chromium] Unreviewed gardening. Skipping calendar-picker-datetime-with-step.html.
mkwst@chromium.org [Sat, 1 Dec 2012 20:00:26 +0000 (20:00 +0000)]
[chromium] Unreviewed gardening. Skipping calendar-picker-datetime-with-step.html.

It looks like platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step.html
started failing at midnight PST, December 1st. I don't think it handled
the month change correctly. Filed https://bugs.webkit.org/show_bug.cgi?id=103817
to cover the fix.

* platform/chromium/TestExpectations:

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

7 years agoDRT - crashed in WebCore::SearchFieldCancelButtonElement::defaultEventHandler
commit-queue@webkit.org [Sat, 1 Dec 2012 12:39:25 +0000 (12:39 +0000)]
DRT - crashed in WebCore::SearchFieldCancelButtonElement::defaultEventHandler
https://bugs.webkit.org/show_bug.cgi?id=103592

Patch by Xiaobo Wang <xiaobo.wang@torchmobile.com.cn> on 2012-12-01
Reviewed by Kent Tamura.

The crash happened when the search field cancel button handles mouseout
event after the search input was detached. When it happens the input
element returned from shadowHost() is null, need to check the pointer
before dereferencing.
InputFieldSpeechButton and SearchFieldResultsButtonElement have the
similar issue.

No new tests. The patch fixes the following test on BlackBerry platform.
Test: fast/forms/search-delete-while-cancel-button-clicked.html

* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents):
(WebCore::InputFieldSpeechButtonElement::setRecognitionResult):

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

7 years ago[GTK] A11y tests in WK2 report badly-formatted AX roles
zandobersek@gmail.com [Sat, 1 Dec 2012 11:09:27 +0000 (11:09 +0000)]
[GTK] A11y tests in WK2 report badly-formatted AX roles
https://bugs.webkit.org/show_bug.cgi?id=102947

Reviewed by Xan Lopez.

As in DRT, convert the ATK accessibility roles to corresponding AXRoles.
These are expected in both tests and their baselines.

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::roleToString):
(WTR):
(WTR::AccessibilityUIElement::role):

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

7 years ago[gtk] Unreviewed gardening. Skipping CSP 1.1 tests.
mkwst@chromium.org [Sat, 1 Dec 2012 08:33:59 +0000 (08:33 +0000)]
[gtk] Unreviewed gardening. Skipping CSP 1.1 tests.

The CSP 1.1 tests are failing under GTK after r136305 made the CSP_NEXT
flag runtime enabled. Will fix in webkit.org/b/103810, skipping for now.

* platform/gtk/TestExpectations:
    Skipping CSP 1.1 tests.

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

7 years agoShorten a file name as the test renamed in r136122 is still hosing Chromium Win perf...
rniwa@webkit.org [Sat, 1 Dec 2012 07:09:46 +0000 (07:09 +0000)]
Shorten a file name as the test renamed in r136122 is still hosing Chromium Win perf. bot.

* http/tests/inspector/network/resources/script-as-text-with-a-very-very-very-very-very-very-very-very-very-very-very-very-very-very-long-url.php: Renamed.
* http/tests/inspector/network/resources/script-as-text-with-a-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-long-url.php: Removed.
* http/tests/inspector/network/script-as-text-loading-long-url.html:

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

7 years agoCSP 1.1: Make the CSP_NEXT flag runtime enabled.
mkwst@chromium.org [Sat, 1 Dec 2012 06:53:25 +0000 (06:53 +0000)]
CSP 1.1: Make the CSP_NEXT flag runtime enabled.
https://bugs.webkit.org/show_bug.cgi?id=103652

Reviewed by Adam Barth.

Source/WebCore:

Content Security Policy 1.1 continues to live behind the CSP_NEXT flag,
this patch adds another layer on top of that in order to enable runtime
decisions about whether it should be active.

* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* bindings/generic/RuntimeEnabledFeatures.h:
(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::experimentalContentSecurityPolicyFeaturesEnabled):
(WebCore::RuntimeEnabledFeatures::setExperimentalContentSecurityPolicyFeaturesEnabled):
    Adds methods in order to correctly handle enabling and disabling
    CSP 1.1 features.
* dom/Document.idl:
    Gate the 'document.securityPolicy' object on the runtime flag.
* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::addDirective):
    Check that experimental features are runtime enabled before
    processing 1.1 directives.
(WebCore::ContentSecurityPolicy::experimentalFeaturesEnabled):
(WebCore):
* page/ContentSecurityPolicy.h:
    Adds a new method which checks against the runtime flag to determine
    whether CSP 1.1 features are enabled.

Source/WebKit/chromium:

The CSP_NEXT flag continues to be enabled on the Chromium port, but this
patch now locks the features away behind the securityPolicy runtime
flag.

* public/WebRuntimeFeatures.h:
(WebRuntimeFeatures):
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableExperimentalContentSecurityPolicyFeatures):
(WebKit):
(WebKit::WebRuntimeFeatures::isExperimentalContentSecurityPolicyFeaturesEnabled):
    Adds the feature to WebRuntimeFeatures so it can be toggled from
    inside Chromium.

Tools:

Ensures that the new SecurityPolicy runtime flag is enabled for Chromium's tests.

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):

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

7 years ago[EFL][WK1] Gardening test cases which are not crashed after r135662
ryuan.choi@samsung.com [Sat, 1 Dec 2012 06:18:59 +0000 (06:18 +0000)]
[EFL][WK1] Gardening test cases which are not crashed after r135662
https://bugs.webkit.org/show_bug.cgi?id=103803

Unreviewed, EFL gardening.

Patch by Sujin Park <sujjin.park@gmail.com> on 2012-11-30

* platform/efl-wk1/TestExpectations:

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

7 years agoAvoid calling into NSUserDefaults every time we start a scroll
simon.fraser@apple.com [Sat, 1 Dec 2012 06:12:31 +0000 (06:12 +0000)]
Avoid calling into NSUserDefaults every time we start a scroll
https://bugs.webkit.org/show_bug.cgi?id=103804

Reviewed by Dan Bernstein.

Cache the NSScrollAnimationEnabled preference to avoid
hitting NSUserDefaults every time we start scrolling.

* platform/mac/ScrollAnimatorMac.mm:
(WebCore::scrollAnimationEnabledForSystem):

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

7 years agoAlways listen for the DidFirstLayout layout milestone
andersca@apple.com [Sat, 1 Dec 2012 02:24:18 +0000 (02:24 +0000)]
Always listen for the DidFirstLayout layout milestone
https://bugs.webkit.org/show_bug.cgi?id=103795
<rdar://problem/12790268>

Reviewed by Dan Bernstein.

The DidFirstLayout layout milestone is used to determine when to unfreeze the layer tree, so we always want to listen for it.

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

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

7 years agoUnreviewed. Removed temporary debugging change from DRT (r136300).
roger_fong@apple.com [Sat, 1 Dec 2012 01:40:35 +0000 (01:40 +0000)]
Unreviewed. Removed temporary debugging change from DRT (r136300).

* DumpRenderTree/win/DumpRenderTree.cpp:
(dump):

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

7 years agoUnreviewed. Temporary change to DRT for debugging purposes.
roger_fong@apple.com [Sat, 1 Dec 2012 01:23:11 +0000 (01:23 +0000)]
Unreviewed. Temporary change to DRT for debugging purposes.

* DumpRenderTree/win/DumpRenderTree.cpp:
(dump):

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

7 years ago[Qt] Unreviewed speculative Mac build fix after r136232
pierre.rossi@gmail.com [Sat, 1 Dec 2012 01:19:09 +0000 (01:19 +0000)]
[Qt] Unreviewed speculative Mac build fix after r136232

Source/JavaScriptCore:

Update the include path so that LLIntAssembly.h is picked up.
The bot didn't break until later when a clean build was triggered.

* JavaScriptCore.pri:

Source/WebKit2:

cleanup an oversight from r136235

* PluginProcess.pro: s/webkit/webkitwidgets/

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=103790
bdakin@apple.com [Sat, 1 Dec 2012 00:53:01 +0000 (00:53 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=103790
The LayerPool m_pruneTimer should have a longer delay

Reviewed by Simon Fraser.

A 1 second delay is more appropriate here.
* platform/graphics/ca/mac/LayerPool.mm:
(WebCore::LayerPool::schedulePrune):

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

7 years agoOptimise more cases of op_typeof
oliver@apple.com [Sat, 1 Dec 2012 00:50:39 +0000 (00:50 +0000)]
Optimise more cases of op_typeof
https://bugs.webkit.org/show_bug.cgi?id=103783

Reviewed by Mark Hahnenberg.

Increase our coverage of typeof based typechecks by
making sure that the codegenerators always uses
consistent operand ordering when feeding typeof operations
into equality operations.

* bytecompiler/NodesCodegen.cpp:
(JSC::BinaryOpNode::emitBytecode):
(JSC::EqualNode::emitBytecode):
(JSC::StrictEqualNode::emitBytecode):

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

7 years agoUnreviewed Windows build fix.
jer.noble@apple.com [Sat, 1 Dec 2012 00:43:08 +0000 (00:43 +0000)]
Unreviewed Windows build fix.

Add a default: entry to an case statement to fix a build error when compiled in VS2005.

* html/MediaController.cpp:
(MediaController::playbackState):

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

7 years agoAdd support for the 'unpause()' method on MediaController.
jer.noble@apple.com [Sat, 1 Dec 2012 00:13:34 +0000 (00:13 +0000)]
Add support for the 'unpause()' method on MediaController.
https://bugs.webkit.org/show_bug.cgi?id=103751

Reviewed by Eric Carlson.

Source/WebCore:

The MediaController spec has been updated to add an unpause() method
which is functionally identical to the old play() method, and changes
the semantics of play() to call play() on the underlying slaved media
elements. The spec also added a playbackState() method, returning a
string representing the last calculated playback state.

Test: media/media-controller-unpause.html

* html/MediaController.cpp:
(MediaController::unpause): Renamed from play().
(MediaController::play): Added. Same as unpause(), but also call
    play() on slaved media elements.
(playbackStateWaiting): Static string accessor.
(playbackStatePlaying): Ditto.
(playbackStateEnded): Ditto.
(MediaController::playbackState): Added. Returns string value of
    m_playbackState.
* html/MediaController.h:
* html/MediaController.idl:

LayoutTests:

Add new test for unpause() and playbackState() methods.

* media/media-controller-unpause.html:
* media/media-controller-unpause-expected.txt:
* media/media-controller-playback.html:
* media/media-controller-playback-expected.txt:

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

7 years ago[CSS Grid Layout] Align the grid track code with the specification's production rules
jchaffraix@webkit.org [Fri, 30 Nov 2012 23:59:55 +0000 (23:59 +0000)]
[CSS Grid Layout] Align the grid track code with the specification's production rules
https://bugs.webkit.org/show_bug.cgi?id=103703

Reviewed by Alexis Menard.

In order to support more of the syntax and make the code more readable, this change
splits following the grammar's production rules (see
http://dev.w3.org/csswg/css3-grid-layout/#grid-definition-columns-and-grid-definit).

Refactoring covered by existing tests.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForGridTrackMinMax):
(WebCore::valueForGridTrackGroup):
(WebCore::valueForGridTrackList):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTrackGroup):
(WebCore::CSSParser::parseGridTrackMinMax):
* css/CSSParser.h:
* css/StyleResolver.cpp:
(WebCore::createGridTrackMinMax):
(WebCore::createGridTrackGroup):
(WebCore::createGridTrackList):
Mechanical split of the parsing, resolving and computed style code into
<track-list>, <track-group>, <track-minmax> and <track-breadth> parts.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridBreadth):
Changed this function to just parse a single value (without any extra logic).

* css/StyleResolver.cpp:
(WebCore::createGridTrackBreadth):
Changed this function to take a Length as it is used to parse a <track-breadth>.
The goal is for it to be the low-level function createGridTrackMinmax will call on
each function parameter.

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

7 years agoFix potential crash when canceling animations on renderers with no node
simon.fraser@apple.com [Fri, 30 Nov 2012 23:56:14 +0000 (23:56 +0000)]
Fix potential crash when canceling animations on renderers with no node
https://bugs.webkit.org/show_bug.cgi?id=103784

Reviewed by Dan Bernstein.

We could crash when tearing down RenderScrollbars because we hit
AnimationController::cancelAnimations() for a renderer with no node.
The assertion already check for a null node, but the line after
does not, so fix that.

I tried to make a test with animations/transitions on a custom scrollbar, but was not able
to get it to crash.

* page/animation/AnimationController.cpp:
(WebCore::AnimationController::cancelAnimations):

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

7 years agoSource/WebKit/win: [Windows, WinCairo] Generate library export definition file.
bfulgham@webkit.org [Fri, 30 Nov 2012 23:36:49 +0000 (23:36 +0000)]
Source/WebKit/win: [Windows, WinCairo] Generate library export definition file.
https://bugs.webkit.org/show_bug.cgi?id=103687

Reviewed by Tim Horton.

Update project solutions to use the new generated *.def files.

* WebKit.vcproj/WebKit.sln: Update for new project and file
locations.

Source/WebKit2: [Windows, WinCairo] Generate library export symbol file.
https://bugs.webkit.org/show_bug.cgi?id=103687

Reviewed by Tim Horton.

Generate the export definition file based on the compile options
and port settings. Get rid of the old hand-written file, and use
a revised master input file that allows using conditional
settings to generate the output, much like the Mac and other
ports do.

* win/WebKit2.def: Removed.
* win/WebKit2.def.in: Added.
* win/WebKit2Apple.vsprops:
* win/WebKit2CFLite.def: Removed.
* win/WebKit2CFLite.vsprops:
* win/WebKit2Common.vsprops:
* win/WebKit2ExportGenerator.vcproj: Added.
* win/WebKit2ExportGeneratorCommon.vsprops: Added.
* win/WebKit2ExportGeneratorDebug.vsprops: Added.
* win/WebKit2ExportGeneratorDebugAll.vsprops: Added.
* win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added.
* win/WebKit2ExportGeneratorPostBuild.cmd: Added.
* win/WebKit2ExportGeneratorPreBuild.cmd: Added.
* win/WebKit2ExportGeneratorProduction.vsprops: Added.
* win/WebKit2ExportGeneratorRelease.vsprops: Added.
* win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added.

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

7 years agoPluginDocument fires didFinishDocumentLoadForFrame upon receiving initial bytes inste...
timothy_horton@apple.com [Fri, 30 Nov 2012 23:30:33 +0000 (23:30 +0000)]
PluginDocument fires didFinishDocumentLoadForFrame upon receiving initial bytes instead of when load completes
https://bugs.webkit.org/show_bug.cgi?id=103702
<rdar://problem/12762534>

Reviewed by Alexey Proskuryakov.

Remove the call to finish() from PluginDocumentParser::appendBytes().

This was introduced in http://trac.webkit.org/changeset/14838, when finish() wouldn't get
called for PluginDocuments any other way. In the time since, DocumentWriter::end() was made
to call finish() anyway, at the correct time (the call from appendBytes makes a PluginDocument
appear to be finished loading after the first bytes are received).

No new tests, because there doesn't seem to be any state in a PluginDocument that can be accessed
from JavaScript to determine whether or not it has finished loading.

* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::appendBytes):

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

7 years agoRenderBlock minor clean-up: replace raw pointers with OwnPtrs.
loislo@chromium.org [Fri, 30 Nov 2012 23:21:59 +0000 (23:21 +0000)]
RenderBlock minor clean-up: replace raw pointers with OwnPtrs.
https://bugs.webkit.org/show_bug.cgi?id=103690

Reviewed by Eric Seidel.

raw pointers were replaced with OwnPtrs.
Probably we also gain a small performance improvements because
I replaced get && remove pair with take.

* rendering/RenderBlock.cpp:
(WebCore):
(WebCore::removeBlockFromDescendantAndContainerMaps):
(WebCore::RenderBlock::~RenderBlock):
(WebCore::RenderBlock::addOverflowFromFloats):
(WebCore::RenderBlock::addContinuationWithOutline):
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::RenderBlock::insertIntoTrackedRendererMaps):
(WebCore::RenderBlock::removeFromTrackedRendererMaps):
(WebCore::RenderBlock::setDesiredColumnCountAndWidth):
* rendering/RenderBlock.h:
(WebCore):

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

7 years agoUnreviewed, webkit gardening, fix webkit lint.
zmo@google.com [Fri, 30 Nov 2012 23:21:48 +0000 (23:21 +0000)]
Unreviewed, webkit gardening, fix webkit lint.

* platform/chromium/TestExpectations:

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

7 years agoUse the correct path to a test in TestExpectations.
simon.fraser@apple.com [Fri, 30 Nov 2012 23:12:13 +0000 (23:12 +0000)]
Use the correct path to a test in TestExpectations.

* platform/chromium/TestExpectations:

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

7 years agoWebGL: Add a class to abstract the status of the Image in texImage2D() and texSubImag...
commit-queue@webkit.org [Fri, 30 Nov 2012 23:04:01 +0000 (23:04 +0000)]
WebGL: Add a class to abstract the status of the Image in texImage2D() and texSubImage2D()
https://bugs.webkit.org/show_bug.cgi?id=103606

Patch by Jun Jiang <jun.a.jiang@intel.com> on 2012-11-30
Reviewed by Kenneth Russell.

In texImage2D() and texSubImage2D() for WebGL, the status of the Image is extracted and kept in the function GraphicsContext3D::getImageData() but provides no interface or guaranteed way to use the status of the Image outside GraphicsContext3D::getImageData() safely. For example, you can not get the address of the raw Image data and operate it outside the scope of the GraphicsContext3D::getImageData() and there is at least one memory copy existed from the Image to the intermediate vector.
       This patch refactors the code by adding a ImageExtractor class to abstract and keep the status of the Image. The lifetime and validity of Image status are determined by the lifetime of the object instead of the scope of getImageData(). It provides flexibility on future optimizations.

No new tests. It is a code refactoring patch.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::texImage2DImpl):
(WebCore::WebGLRenderingContext::texSubImage2DImpl):
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::packImageData):
* platform/graphics/GraphicsContext3D.h:
(WebCore):
(GraphicsContext3D):
(ImageExtractor):
(WebCore::GraphicsContext3D::ImageExtractor::extractSucceeded):
(WebCore::GraphicsContext3D::ImageExtractor::imagePixelData):
(WebCore::GraphicsContext3D::ImageExtractor::imageWidth):
(WebCore::GraphicsContext3D::ImageExtractor::imageHeight):
(WebCore::GraphicsContext3D::ImageExtractor::imageSourceFormat):
(WebCore::GraphicsContext3D::ImageExtractor::imageAlphaOp):
(WebCore::GraphicsContext3D::ImageExtractor::imageSourceUnpackAlignment):
* platform/graphics/NativeImagePtr.h:
* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):
* platform/graphics/clutter/GraphicsContext3DClutter.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):
* platform/graphics/skia/GraphicsContext3DSkia.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

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

7 years agoMake RenderLayer::updateLayerPosition() private
simon.fraser@apple.com [Fri, 30 Nov 2012 23:00:41 +0000 (23:00 +0000)]
Make RenderLayer::updateLayerPosition() private
https://bugs.webkit.org/show_bug.cgi?id=102624

Reviewed by Ryosuke Niwa.

Source/WebCore:

Made updateLayerPosition() private. The only external caller was
MouseRelatedEvent::computeRelativePosition(), which has no business updating
layer positions. In fact it had positively dangerous behavior; doing just
a style update without layout, and then calling absoluteToLocal() and walking
layers. Fixed by having it call updateLayoutIgnorePendingStylesheets().

This revealed a bug where event.offsetX/offsetY could be wrong in some cases.
fast/events/stopPropagation-submit.html does a simulated click (which has
client coordinates at 0,0), so the image submit coordinates were incorrectly
0,0. Now that we do layout before computing them, they are correctly reported
as being relative to the element.

* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::computeRelativePosition):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositionsAfterScroll):
* rendering/RenderLayer.h:
(RenderLayer):

LayoutTests:

New results with correctly computed event offsets.

* fast/events/stopPropagation-submit-expected.txt:

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

7 years agoLate-loading stylesheets can cause composited layers to be blank
simon.fraser@apple.com [Fri, 30 Nov 2012 22:30:59 +0000 (22:30 +0000)]
Late-loading stylesheets can cause composited layers to be blank
https://bugs.webkit.org/show_bug.cgi?id=103773

Reviewed by Tim Horton.

Early painting can be short-circuited in RenderBlock::paintContents() if we know a stylesheet
is pending, which is done to avoid a flash of unstyled content (FOUC). When the stylesheet
finally loaded, Document::styleResolverChanged() would try to repaint everything by calling
repaint() on the RenderView(). In a composited world, however, this repaint() doesn't repaint
composited layers.

This was particularly prevalent on this specific URL because it failed to load
a CSS file from typekit.com, so Document::styleResolverChanged()
just did the repaint and returned (rather than doing a recalc style as would
happen for correctly loaded stylesheets).

Fix by making a way to repaint all compositing layers, and calling it
from Document::styleResolverChanged().

No tests because this is timing-dependant.

* dom/Document.cpp:
(WebCore::Document::styleResolverChanged): Call repaintViewAndCompositedLayers().
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintContents): Fix the comment.
* rendering/RenderLayerCompositor.cpp: Convert repaintCompositedLayersAbsoluteRect()
and associated recursiveRepaintLayerRect() to allow the rect to be null, which indicates
that we should just repaint the entire layer, and improve their names.
(WebCore::RenderLayerCompositor::repaintCompositedLayers):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):
* rendering/RenderLayerCompositor.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): repaintCompositedLayersAbsoluteRect()
was renamed to repaintCompositedLayers().
(WebCore::RenderView::repaintViewAndCompositedLayers):
* rendering/RenderView.h:
(RenderView): repaintViewRectangle() and repaintRectangleInViewAndCompositedLayers() should not
be virtual. Add repaintViewAndCompositedLayers().

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

7 years agoRationalize and clean up DFG handling of scoped accesses
fpizlo@apple.com [Fri, 30 Nov 2012 21:56:24 +0000 (21:56 +0000)]
Rationalize and clean up DFG handling of scoped accesses
https://bugs.webkit.org/show_bug.cgi?id=103715

Reviewed by Oliver Hunt.

Previously, we had a GetScope node that specified the depth to which you wanted
to travel to get a JSScope, and the backend implementation of the node would
perform all of the necessary footwork, including potentially skipping the top
scope if necessary, and doing however many loads were needed. But there were
strange things. First, if you had accesses at different scope depths, then the
loads to get to the common depth could not be CSE'd - CSE would match only
GetScope's that had identical depth. Second, GetScope would be emitted even if
we already had the scope, for example in put_to_base. And finally, even though
the ResolveOperations could tell us whether or not we had to skip the top scope,
the backend would recompute this information itself, often pessimistically.

This eliminates GetScope and replaces it with the following:

GetMyScope: just get the JSScope from the call frame header. This will forever
mean getting the JSScope associated with the machine call frame; it will not
mean getting the scope of an inlined function. Or at least that's the intent.

SkipTopScope: check if there is an activation, and if so, skip a scope. This
takes a scope as a child and returns a scope.

SkipScope: skip one scope level.

The bytecode parser now emits the right combination of the above, and
potentially emits multiple SkipScope's, based on the ResolveOperations.

This change also includes some fixups to debug logging. We now always print
the ExecutableBase* in addition to the CodeBlock* in the CodeBlock's dump,
and we are now more verbose when dumping CodeOrigins and InlineCallFrames.

This is performance-neutral. It's just meant to be a clean-up.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpAssumingJITType):
* bytecode/CodeOrigin.cpp:
(JSC::CodeOrigin::inlineStack):
(JSC::CodeOrigin::dump):
(JSC):
(JSC::InlineCallFrame::dump):
* bytecode/CodeOrigin.h:
(CodeOrigin):
(InlineCallFrame):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::getScope):
(DFG):
(JSC::DFG::ByteCodeParser::parseResolveOperations):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::scopedVarLoadElimination):
(JSC::DFG::CSEPhase::scopedVarStoreElimination):
(JSC::DFG::CSEPhase::getMyScopeLoadElimination):
(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGDisassembler.cpp:
(JSC::DFG::Disassembler::dump):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::dumpBlockHeader):
* dfg/DFGNode.h:
(Node):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JITDisassembler.cpp:
(JSC::JITDisassembler::dump):

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

7 years agoUnreviewed, rolling out r136142.
commit-queue@webkit.org [Fri, 30 Nov 2012 21:54:51 +0000 (21:54 +0000)]
Unreviewed, rolling out r136142.
http://trac.webkit.org/changeset/136142
https://bugs.webkit.org/show_bug.cgi?id=103768

break a bunch of interactive_ui_tests in chromium win
(Requested by zhenyao_home on #webkit).

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

Source/WebCore:

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layout):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
(StyleRareInheritedData):

LayoutTests:

* fast/ruby/position-after.html: Removed.
* platform/mac/fast/ruby/position-after-expected.png: Removed.
* platform/mac/fast/ruby/position-after-expected.txt: Removed.

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

7 years agoIndexedDB: Replace use of ScriptExecutionContext::Task (Part 1)
jsbell@chromium.org [Fri, 30 Nov 2012 21:48:27 +0000 (21:48 +0000)]
IndexedDB: Replace use of ScriptExecutionContext::Task (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=101483

Reviewed by Tony Chang.

The IDB back end (which runs on a single thread) makes use of ScriptExecutionContext's
Task and facilities for cross-task posting with callbacks, and requires decorating various
IDB classes with "ThreadSafe" when they are not. Move towards encapsulating the tasks
in "Operation" classes which are IDB-operation specific.

Part 1 (this patch) retains the use of ScriptExecutionContext::Task but wraps the creation
and the callback function in an Operation class which will be fleshed out in later patches.
As an aside, a little bit of RefPtr churn is eliminated, and IDB_TRACE sprinkled in.

No new tests - just a refactor.

* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(IDBCursorBackendImpl::CursorIterationOperation):
(WebCore::IDBCursorBackendImpl::CursorIterationOperation::create):
(WebCore):
(IDBCursorBackendImpl::CursorAdvanceOperation):
(WebCore::IDBCursorBackendImpl::CursorAdvanceOperation::create):
(IDBCursorBackendImpl::CursorPrefetchIterationOperation):
(WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::create):
(WebCore::IDBCursorBackendImpl::continueFunction):
(WebCore::IDBCursorBackendImpl::advance):
(WebCore::IDBCursorBackendImpl::CursorAdvanceOperation::perform):
(WebCore::IDBCursorBackendImpl::CursorIterationOperation::perform):
(WebCore::IDBCursorBackendImpl::prefetchContinue):
(WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):
* Modules/indexeddb/IDBCursorBackendImpl.h:
(IDBCursorBackendImpl):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(IDBDatabaseBackendImpl::CreateObjectStoreOperation):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreOperation::create):
(WebCore):
(IDBDatabaseBackendImpl::DeleteObjectStoreOperation):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::create):
(IDBDatabaseBackendImpl::VersionChangeOperation):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::create):
(IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation::create):
(IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation::create):
(IDBDatabaseBackendImpl::VersionChangeAbortOperation):
(WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::create):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation::perform):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation::perform):
(WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBIndexBackendImpl.cpp:
(IDBIndexBackendImpl::OpenIndexCursorOperation):
(WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::create):
(WebCore):
(IDBIndexBackendImpl::IndexCountOperation):
(WebCore::IDBIndexBackendImpl::IndexCountOperation::create):
(IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation):
(WebCore::IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation::create):
(IDBIndexBackendImpl::IndexValueRetrievalOperation):
(WebCore::IDBIndexBackendImpl::IndexValueRetrievalOperation::create):
(WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::perform):
(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::IDBIndexBackendImpl::openKeyCursor):
(WebCore::IDBIndexBackendImpl::IndexCountOperation::perform):
(WebCore::IDBIndexBackendImpl::count):
(WebCore::IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation::perform):
(WebCore::IDBIndexBackendImpl::IndexValueRetrievalOperation::perform):
(WebCore::IDBIndexBackendImpl::get):
(WebCore::IDBIndexBackendImpl::getKey):
* Modules/indexeddb/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::metadata):
(IDBIndexBackendImpl):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation::create):
(WebCore):
(IDBObjectStoreBackendImpl::ObjectStoreStorageOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreClearOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreClearOperation::create):
(IDBObjectStoreBackendImpl::CreateIndexOperation):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexOperation::create):
(IDBObjectStoreBackendImpl::DeleteIndexOperation):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexOperation::create):
(IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation):
(WebCore::IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreCountOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreCountOperation::create):
(IDBObjectStoreBackendImpl::CreateIndexAbortOperation):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexAbortOperation::create):
(IDBObjectStoreBackendImpl::DeleteIndexAbortOperation):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexAbortOperation::create):
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::clear):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreClearOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::deleteIndex):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::count):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreCountOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexAbortOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexAbortOperation::perform):
* Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(IDBObjectStoreBackendImpl):

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

7 years ago[Chromium] Suppress the new separable mask blurs in skia until the tests can be rebas...
senorblanco@chromium.org [Fri, 30 Nov 2012 21:31:32 +0000 (21:31 +0000)]
[Chromium] Suppress the new separable mask blurs in skia until the tests can be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=103766

Unreviewed.

* skia_webkit.gyp:

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

7 years agoUnreviewed. Rolled DEPS.
senorblanco@chromium.org [Fri, 30 Nov 2012 21:25:53 +0000 (21:25 +0000)]
Unreviewed.  Rolled DEPS.

* DEPS:

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

7 years ago(Simple)PDFPlugin: Support conversion of PostScript documents
timothy_horton@apple.com [Fri, 30 Nov 2012 21:24:56 +0000 (21:24 +0000)]
(Simple)PDFPlugin: Support conversion of PostScript documents
https://bugs.webkit.org/show_bug.cgi?id=103289
<rdar://problem/10235708>

Reviewed by Dan Bernstein.

SimplePDFPlugin (and PDFPlugin) should support converting PostScript files
to PDF before handing them off to their respective backends.

As PDFPlugin inherits from SimplePDFPlugin, it gets the new functionality automatically.

* WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add convertPostScriptDataIfNeeded(), and m_isPostScript.
* WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
(WebKit::SimplePDFPlugin::pluginInfo): SimplePDFPlugin should claim to support PDF and PostScript.
(WebKit::convertPostScriptDataSourceToPDF): PS->PDF conversion code, copied from PDFViewController (which I intend to remove).
(WebKit::SimplePDFPlugin::convertPostScriptDataIfNeeded): Check if the loaded data represents a PS file; if so, convert it.
(WebKit::SimplePDFPlugin::streamDidReceiveResponse): Check if the loaded data is of MIME type application/postscript, and store that in m_isPostScript.
(WebKit::SimplePDFPlugin::streamDidFinishLoading): Call convertPostScriptDataIfNeeded when we finish loading.
(WebKit::SimplePDFPlugin::manualStreamDidReceiveResponse): Ditto from streamDidReceiveResponse.
(WebKit::SimplePDFPlugin::manualStreamDidFinishLoading): Ditto from streamDidFinishLoading.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin): Use (Simple)PDFPlugin for PostScript files too.

* English.lproj/Localizable.strings:
* WebCore.exp.in:
* platform/LocalizedStrings.cpp:
(WebCore::postScriptDocumentTypeDescription):
* platform/LocalizedStrings.h:
Add and export postScriptDocumentTypeDescription, for PostScript files.

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

7 years ago[Chromium] Animation updates fail when using a canvas as a CSS backround-image style...
junov@google.com [Fri, 30 Nov 2012 21:11:31 +0000 (21:11 +0000)]
[Chromium] Animation updates fail when using a canvas as a CSS backround-image style with -webkit-canvas
https://bugs.webkit.org/show_bug.cgi?id=103643

Reviewed by Stephen White.

.:

New test to verify that elements using a canvas as a style image
source are redrawn when the canvas is animated.  Added as a manual test
because the bug was not reproducible in DumpRenderTree.

* ManualTests/animated-canvas-as-background.html: Added.

Source/WebCore:

CanvasRenderingContext2D::didDraw was not propagating the change
notification to observers in the accelerated compositing case.
Problem fixed by adding observer notifications.

New manual test: animated-canvas-as-background.html

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::didDraw):
The observer notification was factored out into a separate method
so that it can be invoked directly for accelerated compositing.
(WebCore):
(WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):
* html/HTMLCanvasElement.h:
(HTMLCanvasElement):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::didDraw):
Added observer notification call to trigger repainting of elements that
use this canvas for their style.

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

7 years agoAdd direct string->function code cache
oliver@apple.com [Fri, 30 Nov 2012 21:09:21 +0000 (21:09 +0000)]
Add direct string->function code cache
https://bugs.webkit.org/show_bug.cgi?id=103764

Reviewed by Michael Saboff.

A fairly logically simple patch.  We now track the start of the
unique portion of a functions body, and use that as our key for
unlinked function code.  This allows us to cache identical code
in different contexts, leading to a small but consistent improvement
on the benchmarks we track.

* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedFunctionExecutable::functionStartOffset):
(UnlinkedFunctionExecutable):
* parser/ASTBuilder.h:
(ASTBuilder):
(JSC::ASTBuilder::setFunctionStart):
* parser/Nodes.cpp:
* parser/Nodes.h:
(JSC::FunctionBodyNode::setFunctionStart):
(JSC::FunctionBodyNode::functionStart):
(FunctionBodyNode):
* parser/Parser.cpp:
(JSC::::parseFunctionInfo):
* parser/Parser.h:
(JSC::Parser::findCachedFunctionInfo):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::setFunctionStart):
* runtime/CodeCache.cpp:
(JSC::CodeCache::generateFunctionCodeBlock):
(JSC::CodeCache::getFunctionCodeBlock):
(JSC::CodeCache::usedFunctionCode):
* runtime/CodeCache.h:

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

7 years agoPDFPlugin: "Show Definition" context menu item should be implemented
timothy_horton@apple.com [Fri, 30 Nov 2012 20:49:09 +0000 (20:49 +0000)]
PDFPlugin: "Show Definition" context menu item should be implemented
https://bugs.webkit.org/show_bug.cgi?id=103389
<rdar://problem/12710751>

Reviewed by Dan Bernstein.

Call existing dictionary popup code when the context menu "Show Definition" item is selected.

* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Add showDefinitionForAttributedString and convertFromPDFViewToRootView.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate showDefinitionForAttributedString:atPoint:]): Forward this call to PDFPlugin.
(WebKit::PDFPlugin::showDefinitionForAttributedString): Create a DictionaryPopupInfo with the necessary information.
Ask WebPageProxy to show the dictionary popup.
(WebKit::PDFPlugin::convertFromPDFViewToRootView): Convert a point from PDFLayerController space to the root view space.

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

7 years ago[BlackBerry] Set the minimal DOM timer interval to 4 milliseconds
yoli@rim.com [Fri, 30 Nov 2012 20:39:08 +0000 (20:39 +0000)]
[BlackBerry] Set the minimal DOM timer interval to 4 milliseconds
https://bugs.webkit.org/show_bug.cgi?id=103534

Patch by Cosmin Truta (ctruta@rim.com)

Reviewed by Yong Li.

We align this behavior with other platforms.

* Api/BlackBerryGlobal.cpp:
(BlackBerry::WebKit::globalInitialize):

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

7 years ago[Chromium] Rebaselining tests affected by recent Skia changes
schenney@chromium.org [Fri, 30 Nov 2012 20:20:29 +0000 (20:20 +0000)]
[Chromium] Rebaselining tests affected by recent Skia changes

Unreviewed test expectations updates.

Due to the Win7 builders being so far behind, some Win7 expectations may be wrong.
Also fixes https://bugs.webkit.org/show_bug.cgi?id=103722

* platform/chromium-linux-x86/svg/transforms: Added.
* platform/chromium-linux-x86/svg/transforms/text-with-mask-with-svg-transform-expected.png: Added.
* platform/chromium-linux/fast/canvas/canvas-incremental-repaint-expected.png:
* platform/chromium-linux/fast/text/line-initial-and-final-swashes-expected.png: Removed.
* platform/chromium-linux/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
* platform/chromium-mac-lion/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac-lion/fast/box-shadow/basic-shadows-expected.png:
* platform/chromium-mac-lion/fast/box-shadow/box-shadow-transformed-expected.png:
* platform/chromium-mac-lion/fast/box-shadow/inset-expected.png:
* platform/chromium-mac-lion/fast/canvas/canvas-incremental-repaint-expected.png:
* platform/chromium-mac-lion/fast/repaint/shadow-multiple-horizontal-expected.png:
* platform/chromium-mac-lion/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
* platform/chromium-mac-lion/fast/repaint/shadow-multiple-strict-vertical-expected.png:
* platform/chromium-mac-lion/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/chromium-mac-lion/fast/transforms/shadows-expected.png:
* platform/chromium-mac-lion/fast/transforms/transformed-focused-text-input-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/color/color-suggestion-picker-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac-lion/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png:
* platform/chromium-mac-lion/svg/W3C-SVG-1.1/animate-elem-82-t-expected.png:
* platform/chromium-mac-lion/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png:
* platform/chromium-mac-lion/svg/css/group-with-shadow-expected.png:
* platform/chromium-mac-lion/svg/custom/linking-a-03-b-transform-expected.png:
* platform/chromium-mac-lion/svg/custom/linking-a-03-b-viewBox-transform-expected.png:
* platform/chromium-mac-lion/svg/custom/pattern-rotate-expected.png:
* platform/chromium-mac-lion/svg/custom/stroke-width-large-expected.png:
* platform/chromium-mac-lion/svg/custom/use-transform-expected.png:
* platform/chromium-mac-lion/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
* platform/chromium-mac-snowleopard/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac-snowleopard/fast/box-shadow/basic-shadows-expected.png:
* platform/chromium-mac-snowleopard/fast/box-shadow/box-shadow-transformed-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-horizontal-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-strict-vertical-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-vertical-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/transforms/transformed-focused-text-input-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/color/color-suggestion-picker-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png:
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/animate-elem-82-t-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/pattern-rotate-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/stroke-width-large-expected.png:
* platform/chromium-mac/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac/fast/box-shadow/basic-shadows-expected.png:
* platform/chromium-mac/fast/box-shadow/box-shadow-clipped-slices-expected.png:
* platform/chromium-mac/fast/box-shadow/box-shadow-radius-expected.png:
* platform/chromium-mac/fast/box-shadow/box-shadow-transformed-expected.png:
* platform/chromium-mac/fast/box-shadow/inset-box-shadow-radius-expected.png:
* platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png:
* platform/chromium-mac/fast/box-shadow/inset-expected.png:
* platform/chromium-mac/fast/box-shadow/scaled-box-shadow-expected.png:
* platform/chromium-mac/fast/box-shadow/single-pixel-shadow-expected.png:
* platform/chromium-mac/fast/canvas/canvas-incremental-repaint-expected.png:
* platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png:
* platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
* platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:
* platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/chromium-mac/fast/repaint/transform-replaced-shadows-expected.png:
* platform/chromium-mac/fast/transforms/shadows-expected.png:
* platform/chromium-mac/fast/transforms/transformed-focused-text-input-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/color/color-suggestion-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png:
* platform/chromium-mac/svg/W3C-SVG-1.1/animate-elem-82-t-expected.png:
* platform/chromium-mac/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png:
* platform/chromium-mac/svg/css/group-with-shadow-expected.png:
* platform/chromium-mac/svg/custom/linking-a-03-b-transform-expected.png:
* platform/chromium-mac/svg/custom/linking-a-03-b-viewBox-transform-expected.png:
* platform/chromium-mac/svg/custom/pattern-rotate-expected.png:
* platform/chromium-mac/svg/custom/stroke-width-large-expected.png:
* platform/chromium-mac/svg/custom/use-transform-expected.png:
* platform/chromium-mac/svg/filters/shadow-on-rect-with-filter-expected.png:
* platform/chromium-mac/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
* platform/chromium-win-xp/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-win-xp/fast/repaint/shadow-multiple-horizontal-expected.png: Removed.
* platform/chromium-win-xp/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Removed.
* platform/chromium-win-xp/fast/repaint/shadow-multiple-strict-vertical-expected.png: Removed.
* platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-win-xp/platform/chromium/fast/forms/color: Removed.
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
* platform/chromium-win-xp/svg/css/group-with-shadow-expected.png:
* platform/chromium-win/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-win/fast/box-shadow/basic-shadows-expected.png:
* platform/chromium-win/fast/box-shadow/box-shadow-clipped-slices-expected.png:
* platform/chromium-win/fast/box-shadow/box-shadow-transformed-expected.png:
* platform/chromium-win/fast/box-shadow/inset-box-shadows-expected.png:
* platform/chromium-win/fast/box-shadow/inset-expected.png:
* platform/chromium-win/fast/canvas/canvas-incremental-repaint-expected.png:
* platform/chromium-win/fast/repaint/shadow-multiple-horizontal-expected.png:
* platform/chromium-win/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
* platform/chromium-win/fast/repaint/shadow-multiple-strict-vertical-expected.png:
* platform/chromium-win/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/chromium-win/fast/text/line-initial-and-final-swashes-expected.png: Copied from LayoutTests/platform/chromium-linux/fast/text/line-initial-and-final-swashes-expected.png.
* platform/chromium-win/fast/transforms/shadows-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/color/color-suggestion-picker-appearance-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png:
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png: Added.
* platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-82-t-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png:
* platform/chromium-win/svg/css/group-with-shadow-expected.png:
* platform/chromium-win/svg/custom/linking-a-03-b-transform-expected.png:
* platform/chromium-win/svg/custom/linking-a-03-b-viewBox-transform-expected.png:
* platform/chromium-win/svg/custom/pattern-rotate-expected.png:
* platform/chromium-win/svg/custom/stroke-width-large-expected.png:
* platform/chromium-win/svg/custom/use-transform-expected.png:
* platform/chromium-win/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
* platform/chromium/TestExpectations:

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

7 years agoReport CSS as initiator instead of elements, except body
simonjam@chromium.org [Fri, 30 Nov 2012 19:19:46 +0000 (19:19 +0000)]
Report CSS as initiator instead of elements, except body
https://bugs.webkit.org/show_bug.cgi?id=103546

Reviewed by Tony Gentilcore.

Source/WebCore:

The Resource Timing spec says the initiator should be "css" when the the load comes from a
url() rule in a stylesheet. Separately, WebKit reports <body background> as a CSS load, we
need to override that to match the spec.

Tests: http/tests/w3c/webperf/submission/resource-timing

* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::cachedImage):
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::cachedImage): By default, the initiator is "css".
* css/CSSImageValue.h:
(CSSImageValue):
(WebCore::CSSImageValue::setInitiator): Allow users to manually override it (see body).
* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingImage):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::collectStyleForPresentationAttribute): Record "body" as the initiator.

LayoutTests:

* platform/chromium/fast/loader/resource-request-callbacks-expected.txt: Rebaseline to match new behavior.

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

7 years agoRemember the CachedResourceRequest for preloads
simonjam@chromium.org [Fri, 30 Nov 2012 19:17:45 +0000 (19:17 +0000)]
Remember the CachedResourceRequest for preloads
https://bugs.webkit.org/show_bug.cgi?id=102995

Reviewed by Tony Gentilcore.

Without this, the initiator is lost.

Tests: http/tests/w3c/webperf/submission/resource-timing

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::preload):
(WebCore::CachedResourceLoader::checkForPendingPreloads):
(WebCore::CachedResourceLoader::requestPreload):
(WebCore::CachedResourceLoader::isPreloaded):
* loader/cache/CachedResourceLoader.h:
(CachedResourceLoader):
(PendingPreload):

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

7 years ago[CSS Shaders] Clamp input colors before blending
michelangelo@webkit.org [Fri, 30 Nov 2012 18:47:23 +0000 (18:47 +0000)]
[CSS Shaders] Clamp input colors before blending
https://bugs.webkit.org/show_bug.cgi?id=98962

Reviewed by Dean Jackson.

Source/WebCore:

The result of css_ColorMatrix multiplication is now clamped in [0.0, 1.0]
before the blending step.

Relevant spec section is:
http://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#shader-processing-model

Tests: css3/filters/custom/custom-filter-color-clamping-negative.html
       css3/filters/custom/custom-filter-color-clamping.html

* platform/graphics/filters/CustomFilterValidatedProgram.cpp:
(WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader): Added clamping
code.

LayoutTests:

Test to check the correct clamping of color values.

* css3/filters/custom/custom-filter-color-clamping-expected.html: Added.
* css3/filters/custom/custom-filter-color-clamping-negative-expected.html: Added.
* css3/filters/custom/custom-filter-color-clamping-negative.html: Added.
* css3/filters/custom/custom-filter-color-clamping.html: Added.
* css3/filters/resources/custom-filter-color-clamping-negative.fs: Added.
* css3/filters/resources/custom-filter-color-clamping.fs: Added.

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

7 years agoCrash due to intruding float not removed after writing mode changed.
inferno@chromium.org [Fri, 30 Nov 2012 18:14:48 +0000 (18:14 +0000)]
Crash due to intruding float not removed after writing mode changed.
https://bugs.webkit.org/show_bug.cgi?id=100149

Reviewed by Levi Weintraub.

Source/WebCore:

When RenderView writing mode changes, make sure to mark all descendants
with floats for layout.

Test: fast/block/float/intruding-float-not-removed-writing-mode.xhtml

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):

LayoutTests:

* fast/block/float/intruding-float-not-removed-writing-mode-expected.txt: Added.
* fast/block/float/intruding-float-not-removed-writing-mode.xhtml: Added.

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

7 years ago[Qt] Introduce setTextSizeMultiplier in the page adapter as well.
pierre.rossi@gmail.com [Fri, 30 Nov 2012 17:57:39 +0000 (17:57 +0000)]
[Qt] Introduce setTextSizeMultiplier in the page adapter as well.

Rubber-stamped by Simon Hausmann.

As it turns out it the bots didn't like the previous attempt.

* WebCoreSupport/QWebFrameAdapter.cpp:
(QWebFrameAdapter::setTextSizeMultiplier):
* WebCoreSupport/QWebFrameAdapter.h:
* WidgetApi/qwebframe.cpp:
(QWebFrame::setTextSizeMultiplier):

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

7 years ago[Qt] Unreviewed build fix.
pierre.rossi@gmail.com [Fri, 30 Nov 2012 17:57:18 +0000 (17:57 +0000)]
[Qt] Unreviewed build fix.

In the same vein as r136245. Include PlatformExportMacros proper.

* WebCoreSupport/QtPrintContext.h:

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

7 years agoSVG pattern data deleted while in use
fmalita@chromium.org [Fri, 30 Nov 2012 17:49:11 +0000 (17:49 +0000)]
SVG pattern data deleted while in use
https://bugs.webkit.org/show_bug.cgi?id=103415

Reviewed by Dirk Schulze.

Source/WebCore:

Various calls in RenderSVGResourcePattern::applyResource() can trigger invalidations,
which may end up deleting our current pattern data (via removeAllClientsFromCache).
To avoid this, we should add the pattern data to the cache only after it is fully built.
For clarity, the patch also refactors the pattern setup code into a separate method.

Test: svg/custom/large-image-pattern-crash.html

* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::applyResource):
* rendering/svg/RenderSVGResourcePattern.h:
(RenderSVGResourcePattern):

LayoutTests:

* svg/custom/large-image-pattern-crash-expected.txt: Added.
* svg/custom/large-image-pattern-crash.html: Added.

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

7 years agoWeb Inspector: It's Sass, not SASS
apavlov@chromium.org [Fri, 30 Nov 2012 17:20:42 +0000 (17:20 +0000)]
Web Inspector: It's Sass, not SASS
https://bugs.webkit.org/show_bug.cgi?id=103626

Reviewed by Yury Semikhatsky.

Change "SASS" to "Sass" in UI strings.

* English.lproj/localizedStrings.js:
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/SettingsScreen.js:

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

7 years ago[Chromium] Fixing TestExpectations
schenney@chromium.org [Fri, 30 Nov 2012 17:17:52 +0000 (17:17 +0000)]
[Chromium] Fixing TestExpectations

Unreviewed fix to pass lint

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed trivial Qt build fix:
hausmann@webkit.org [Fri, 30 Nov 2012 17:06:40 +0000 (17:06 +0000)]
Unreviewed trivial Qt build fix:

Always link against WebProcess against QT += webkit and use webkitwidgets only if available.

* WebProcess.pro:

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

7 years agoCrash in conversion of empty OpaqueJSString to Identifier
allan.jensen@digia.com [Fri, 30 Nov 2012 16:59:03 +0000 (16:59 +0000)]
Crash in conversion of empty OpaqueJSString to Identifier
https://bugs.webkit.org/show_bug.cgi?id=101867

Reviewed by Michael Saboff.

The constructor call used for both null and empty OpaqueJSStrings results
in an assertion voilation and crash. This patch instead uses the Identifier
constructors which are specifically for null and empty Identifier.

* API/OpaqueJSString.cpp:
(OpaqueJSString::identifier):

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

7 years agoUnreviewed prospective MIPS build fix:
hausmann@webkit.org [Fri, 30 Nov 2012 16:24:27 +0000 (16:24 +0000)]
Unreviewed prospective MIPS build fix:

Explicitly include PlatformExportMacros for the correct export macro to be find.
Not really MIPS specific but rather to a minimal build configuration with less implicit
includes.

* WebCoreSupport/UndoStepQt.h:

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

7 years ago[Qt] Unreviewed build un-break
pierre.rossi@gmail.com [Fri, 30 Nov 2012 16:20:35 +0000 (16:20 +0000)]
[Qt] Unreviewed build un-break

Revert r136243 and hope it served its purpose.

* WidgetApi/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):

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

7 years ago[Qt] Unreviewed build break
pierre.rossi@gmail.com [Fri, 30 Nov 2012 16:10:16 +0000 (16:10 +0000)]
[Qt] Unreviewed build break

Rubber-stamped by Simon Hausmann.

Poor man's way to trigger a clean build on a bot.

.:

* WebKit.pro:

Source/WebKit/qt:

* WidgetApi/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):

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

7 years ago[Qt] Fix QML import installation with newer Qt
hausmann@webkit.org [Fri, 30 Nov 2012 15:48:35 +0000 (15:48 +0000)]
[Qt] Fix QML import installation with newer Qt

Reviewed by Tor Arne Vestbø.

The import path has been separated between QML1 and QML2. Use
QT_INSTALL_QML if it's available.

* declarative/experimental/experimental.pri:
* declarative/public.pri:

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

7 years agoProspective build fix for --minimal build.
hausmann@webkit.org [Fri, 30 Nov 2012 15:25:27 +0000 (15:25 +0000)]
Prospective build fix for --minimal build.

* WebCoreSupport/QWebPageAdapter.cpp:
(QWebPageAdapter::triggerAction):
(QWebPageAdapter::contextMenuItemTagForAction):

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

7 years ago[EFL] Skip failing test editing/selection/caret-alignment-for-vertical-text.html
commit-queue@webkit.org [Fri, 30 Nov 2012 15:22:45 +0000 (15:22 +0000)]
[EFL] Skip failing test editing/selection/caret-alignment-for-vertical-text.html
https://bugs.webkit.org/show_bug.cgi?id=103741

Unreviewed, EFL gardening.

Skip failing test editing/selection/caret-alignment-for-vertical-text.html
until bug 103740 is fixed.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-30

* platform/efl/TestExpectations:

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

7 years ago[Qt] Unreviewed doc fix
hausmann@webkit.org [Fri, 30 Nov 2012 15:22:37 +0000 (15:22 +0000)]
[Qt] Unreviewed doc fix

Add additional search paths for API folders.

* Source/qtwebkit.qdocconf:

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

7 years ago[Qt] Fix zoomIn/zoomOut related regression.
pierre.rossi@gmail.com [Fri, 30 Nov 2012 15:17:17 +0000 (15:17 +0000)]
[Qt] Fix zoomIn/zoomOut related regression.

Reviewed by Simon Hausmann.

Following r136235, fix a case of refactoring gone wrong.
Implementing setTextSizeMultiplier in terms of
setZoomFactor, and not the other way around.

* WebCoreSupport/QWebFrameAdapter.cpp:
(QWebFrameAdapter::setZoomFactor):
* WidgetApi/qwebframe.cpp:
(QWebFrame::setTextSizeMultiplier):

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

7 years agoSource/WebCore: Speech Recognition API: Update SpeechRecognitionEvent/Result to match...
tommyw@google.com [Fri, 30 Nov 2012 15:09:38 +0000 (15:09 +0000)]
Source/WebCore: Speech Recognition API: Update SpeechRecognitionEvent/Result to match the specification
https://bugs.webkit.org/show_bug.cgi?id=103407

Reviewed by Adam Barth.

This patch does the following:
o Adds results, and removing result on SpeechRecognitionEvent
o Renaming SpeechRecognitionResult::final to isFinal
o Moving emma to SpeechRecognitionEvent from SpeechRecognitionResult

Existing tests updated to test the new API.

* Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::start):
(WebCore::SpeechRecognition::didReceiveResults):
(WebCore):
* Modules/speech/SpeechRecognition.h:
(SpeechRecognition):
* Modules/speech/SpeechRecognitionEvent.cpp:
(WebCore::SpeechRecognitionEvent::createResult):
(WebCore):
(WebCore::SpeechRecognitionEvent::SpeechRecognitionEvent):
(WebCore::SpeechRecognitionEvent::~SpeechRecognitionEvent):
(WebCore::emmaQualifiedName):
(WebCore::SpeechRecognitionEvent::emma):
* Modules/speech/SpeechRecognitionEvent.h:
(WebCore):
(SpeechRecognitionEventInit):
(SpeechRecognitionEvent):
(WebCore::SpeechRecognitionEvent::resultIndex):
(WebCore::SpeechRecognitionEvent::results):
* Modules/speech/SpeechRecognitionEvent.idl:
* Modules/speech/SpeechRecognitionResult.cpp:
* Modules/speech/SpeechRecognitionResult.h:
(WebCore::SpeechRecognitionResult::isFinal):
(SpeechRecognitionResult):
* Modules/speech/SpeechRecognitionResult.idl:
* WebCore.gypi:
* bindings/v8/custom/V8SpeechRecognitionEventCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8SpeechRecognitionResultCustom.cpp.
(WebCore):
(WebCore::V8SpeechRecognitionEvent::opaqueRootForGC):

Source/WebKit/chromium: Speech Recognition API: Update SpeechRecognitionEvent to match the specification
https://bugs.webkit.org/show_bug.cgi?id=103407

Reviewed by Adam Barth.

Adding the new didReceiveResults method.

* public/WebSpeechRecognizerClient.h:
* src/SpeechRecognitionClientProxy.cpp:
(WebKit::SpeechRecognitionClientProxy::didReceiveResults):
(WebKit):
* src/SpeechRecognitionClientProxy.h:
(SpeechRecognitionClientProxy):

Tools: Speech Recognition API: Update SpeechRecognitionEvent to match the specification
https://bugs.webkit.org/show_bug.cgi?id=103407

Reviewed by Adam Barth.

Changing the mock to use the new results delivery API.

* DumpRenderTree/chromium/MockWebSpeechRecognizer.cpp:

LayoutTests: Speech Recognition API: Update SpeechRecognitionEvent to match the specification
https://bugs.webkit.org/show_bug.cgi?id=103407

Reviewed by Adam Barth.

Updating tests.

* fast/speech/scripted/emma-expected.txt:
* fast/speech/scripted/emma.html:
* fast/speech/scripted/speechrecognition-basics-expected.txt:
* fast/speech/scripted/speechrecognition-basics.html:

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

7 years ago2012-11-30 Simon Hausmann <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi...
hausmann@webkit.org [Fri, 30 Nov 2012 15:00:33 +0000 (15:00 +0000)]
2012-11-30  Simon Hausmann  <simon.hausmann@digia.com>, Pierre Rossi  <pierre.rossi@digia.com>

[Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets
https://bugs.webkit.org/show_bug.cgi?id=99314

Reviewed by Tor Arne Vestbø.

This big change separates QtWebKit into QtWebKit and QtWebKitWidgets as
shared libraries.

It's a big refactoring that mostly involves moving WebCore dependent
code into QtWebKit and accessing it through exported QWebFrameAdapter
and QWebPageAdapter classes.

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

7 years ago[EFL]Drawing artifacts while resizing the view
joone.hur@intel.com [Fri, 30 Nov 2012 14:20:37 +0000 (14:20 +0000)]
[EFL]Drawing artifacts while resizing the view
https://bugs.webkit.org/show_bug.cgi?id=101288

Reviewed by Kenneth Rohde Christiansen.

An Evas GL surface is recreated when the window is resized, but the update of the surface is
asynchronously done, which gives Evas a chance of painting the empty surface on the screen.
As a result, the flickering problem happens while resizing the view.
So this patch allows to create an Evas GL surface synchronously with the update of the surface.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl): Set m_pendingSurfaceResize to false.
(EwkViewImpl::displayTimerFired): Create an Evas GL surface.
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::setNeedsSurfaceResize): Added.
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate): Set m_pendingSurfaceResize to true.

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

7 years ago[Qt] Build as a regular Qt module when production_build is enabled
vestbo@webkit.org [Fri, 30 Nov 2012 14:16:44 +0000 (14:16 +0000)]
[Qt] Build as a regular Qt module when production_build is enabled

Instead of always setting CONFIG+=force_independent. This means the
libs, headers, and documentation will end up in qtbase for developer
builds of Qt, instead of always in the QtWebKit build directory.

Reviewed by Simon Hausmann.

* Source/api.pri:

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

7 years ago[Qt] Place the LLIntOffsetsExtractor binaries in debug/release subdirs on Mac
vestbo@webkit.org [Fri, 30 Nov 2012 14:16:26 +0000 (14:16 +0000)]
[Qt] Place the LLIntOffsetsExtractor binaries in debug/release subdirs on Mac

Otherwise we'll end up using the same LLIntAssembly.h for both build
configs of JavaScriptCore -- one of them which will be for the wrong
config.

Reviewed by Simon Hausmann.

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

7 years ago[WK2] TiledBackingStore: Frame view re-layouts with wrong Fixed Visible Content Rect.
commit-queue@webkit.org [Fri, 30 Nov 2012 13:56:54 +0000 (13:56 +0000)]
[WK2] TiledBackingStore: Frame view re-layouts with wrong Fixed Visible Content Rect.
https://bugs.webkit.org/show_bug.cgi?id=103428

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

Source/WebKit2:

Set now appropriate fixed visible content rect before layout when viewport
attributes change.

* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::didChangeViewportAttributes):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):

LayoutTests:

Unskipped corresponding test cases for EFL WK2.

* platform/efl-wk2/TestExpectations:

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

7 years ago[EFL] Gardening after r136031 and r136142
commit-queue@webkit.org [Fri, 30 Nov 2012 13:44:58 +0000 (13:44 +0000)]
[EFL] Gardening after r136031 and r136142
https://bugs.webkit.org/show_bug.cgi?id=103734

Source/WebKit2:

Unreviewed, API test EWK2UnitTestBase.ewk_view_setting_encoding_custom
is asserting after r136031. So, disabling the test until bug 103732 is
fixed.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-30

* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

LayoutTests:

Unreviewed, EFL gardening.

Add baselines for new test fast/ruby/position-after.html. Also
unskip passing tests.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-30

* platform/efl/TestExpectations:
* platform/efl/fast/ruby/position-after-expected.png: Added.
* platform/efl/fast/ruby/position-after-expected.txt: Added.

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

7 years ago[Qt] Enable WebGL by default.
zeno.albisser@digia.com [Fri, 30 Nov 2012 13:03:30 +0000 (13:03 +0000)]
[Qt] Enable WebGL by default.
https://bugs.webkit.org/show_bug.cgi?id=103731

Reviewed by Simon Hausmann.

Source/WebKit/qt:

* Api/qwebsettings.cpp:
(QWebSettings::QWebSettings):

Source/WebKit2:

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):

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

7 years agoUnreviewed, rolling out r136227.
hausmann@webkit.org [Fri, 30 Nov 2012 12:59:33 +0000 (12:59 +0000)]
Unreviewed, rolling out r136227.
http://trac.webkit.org/changeset/136227

Broke the Qt bots due to version mismatch

* platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
(FullScreenVideoWindow::FullScreenVideoWindow):
(PlatformVideoWindow::PlatformVideoWindow):

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

7 years ago[Qt] Fixed use of to-be-removed compatibility functions in QWindow.
hausmann@webkit.org [Fri, 30 Nov 2012 12:50:38 +0000 (12:50 +0000)]
[Qt] Fixed use of to-be-removed compatibility functions in QWindow.

Patch by Samuel Rødal <samuel.rodal@digia.com> on 2012-11-30
Reviewed by Simon Hausmann.

* platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
(FullScreenVideoWindow::FullScreenVideoWindow):
(PlatformVideoWindow::PlatformVideoWindow):

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

7 years ago[Qt] Unreviewed trivial fix.
ossy@webkit.org [Fri, 30 Nov 2012 12:47:25 +0000 (12:47 +0000)]
[Qt] Unreviewed trivial fix.

Add empty.cpp back, it was removed accidentally by r129092.

* qmake/config.tests/gccdepends/empty.cpp: Added.

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

7 years agoCaret is painted horizontally in vertical writing mode when there are no visible...
commit-queue@webkit.org [Fri, 30 Nov 2012 12:32:15 +0000 (12:32 +0000)]
Caret is painted horizontally in vertical writing mode when there are no visible text
https://bugs.webkit.org/show_bug.cgi?id=102359

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-11-30
Reviewed by Ryosuke Niwa.

Source/WebCore:

In the vertical writing mode the caret rect on an empty editable box or
an empty line is rendered as per the horizontal writing mode.

This changes though when any text is added; the caret is then displayed
in accordance with the vertical writing mode.

Test: editing/selection/caret-alignment-for-vertical-text.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::localCaretRect):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
The caret rect should be transposed for the vertical writing mode. Its
width and height values need to be interchanged for it to be oriented
as per the vertical text.

LayoutTests:

* editing/selection/caret-alignment-for-vertical-text-expected.txt: Added.
* editing/selection/caret-alignment-for-vertical-text.html: Added.
Test to verify that the orientation of the caret on an empty vertical text
line or container is same as that for a non-empty container.

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

7 years ago[Qt] Add support for prepare_docs and generate_docs
vestbo@webkit.org [Fri, 30 Nov 2012 12:01:39 +0000 (12:01 +0000)]
[Qt] Add support for prepare_docs and generate_docs

Follow-up to changes in Qt in how documentation is built.

Reviewed by Simon Hausmann.

* qmake/mkspecs/features/default_post.prf:

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

7 years ago[Qt] Unreviewed gardening.
kkristof@inf.u-szeged.hu [Fri, 30 Nov 2012 11:26:55 +0000 (11:26 +0000)]
[Qt] Unreviewed gardening.

Add expected results for a new test.

Patch by Nandor Huszka <hnandor@inf.u-szeged.hu> on 2012-11-30

* platform/qt/fast/ruby/position-after-expected.png: Added.
* platform/qt/fast/ruby/position-after-expected.txt: Added.

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

7 years ago[Chromium] Page popup doesn't change mouse cursor
keishi@webkit.org [Fri, 30 Nov 2012 11:21:25 +0000 (11:21 +0000)]
[Chromium] Page popup doesn't change mouse cursor
https://bugs.webkit.org/show_bug.cgi?id=97454

Reviewed by Kent Tamura.

The mouse cursor should change based on the page popup content and not the main window content.
On Mac the mousemove event propagates to both the page popup and main window causing the cursor to flicker.
The change to ChromeClientImpl stops that.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::setCursor): On Mac, don't update the mouse cursor if a popup is open.
* src/WebPagePopupImpl.cpp: Implement setCursor so the mouse cursor gets set based on the page popup content.

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

7 years agoFinally remove webkitpy.common.system.deprecated_logging
zandobersek@gmail.com [Fri, 30 Nov 2012 10:56:16 +0000 (10:56 +0000)]
Finally remove webkitpy.common.system.deprecated_logging
https://bugs.webkit.org/show_bug.cgi?id=103624

Reviewed by Adam Barth.

Remove the deprecated logging module and its unit tests now that such logging is not
used anymore in webkitpy.

The tee and OutputTee classes are moved into a new module, webkitpy.common.system.outputtee.
The tee class is renamed to Tee to conform with the usual guidelines.

Only unit test for the Tee class is currently provided as the OutputTee is not currently
using the webkitpy Filesystem abstraction that would make its functionality testable.

* Scripts/webkitpy/common/system/executive.py: tee (now Tee) is now in a new module.
(Executive.run_and_throw_if_fail):
* Scripts/webkitpy/common/system/outputtee.py: Renamed from Tools/Scripts/webkitpy/common/system/deprecated_logging.py.
(Tee):
(Tee.__init__):
(Tee.write):
(OutputTee):
(OutputTee.__init__):
(OutputTee.add_log):
(OutputTee.remove_log):
(OutputTee._open_log_file):
(OutputTee._tee_outputs_to_files):
* Scripts/webkitpy/common/system/outputtee_unittest.py: Renamed from Tools/Scripts/webkitpy/common/system/deprecated_logging_unittest.py.
(SimpleTeeTest):
(SimpleTeeTest.test_simple_tee):
* Scripts/webkitpy/tool/bot/queueengine.py: OutputTee is now in a new module.
* Scripts/webkitpy/webkitpy.pyproj: Remove the deprecated_logging module and related unit test file.

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

7 years agoWeb Inspector: [Timeline] JS error when clicking in Memory Statistics view
commit-queue@webkit.org [Fri, 30 Nov 2012 10:52:25 +0000 (10:52 +0000)]
Web Inspector: [Timeline] JS error when clicking in Memory Statistics view
https://bugs.webkit.org/show_bug.cgi?id=103486

Patch by Sankeerth V S <sankeerth.vs@samsung.com> on 2012-11-30
Reviewed by Alexander Pavlov.

The counter value can be null/undefined. Hence a check is needed
before we access the "time" property on this counter object.

No new tests required as UI related change.

* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype._onClick):

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

7 years ago[Chromium] Layout Test fast/forms/*-multiple-fields/*-multiple-fields-preserve-value...
tkent@chromium.org [Fri, 30 Nov 2012 10:32:32 +0000 (10:32 +0000)]
[Chromium] Layout Test fast/forms/*-multiple-fields/*-multiple-fields-preserve-value-after-history-back.html is failing
https://bugs.webkit.org/show_bug.cgi?id=96720

Reviewed by Kentaro Hara.

We should start tests after js-test-post.js loading to avoid missing
testRunner.waitUntilDone calls.

* fast/forms/date-multiple-fields/date-multiple-fields-preserve-value-after-history-back.html:
Make the outer switch a function to be called window.onload, and stop to
remove the iframe because the script in the iframe calls notifyDone.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back.html:
Ditto.
* fast/forms/time-multiple-fields/time-multiple-fields-preserve-value-after-history-back.html:
Ditto.
* fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back.html:
Ditto.
* platform/chromium/TestExpectations:
Move the line for
week-multiple-fields-preserve-value-after-history-back.html near to
others. We don't remove these expectations yet just in case.

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

7 years ago[sh4] Fix compilation warnings in JavaScriptCore JIT for sh4 arch
commit-queue@webkit.org [Fri, 30 Nov 2012 10:19:32 +0000 (10:19 +0000)]
[sh4] Fix compilation warnings in JavaScriptCore JIT for sh4 arch
https://bugs.webkit.org/show_bug.cgi?id=103378

Patch by Julien BRIANCEAU <jbrianceau@nds.com> on 2012-11-30
Reviewed by Filip Pizlo.

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::branchTest32):
(JSC::MacroAssemblerSH4::branchAdd32):
(JSC::MacroAssemblerSH4::branchMul32):
(JSC::MacroAssemblerSH4::branchSub32):
(JSC::MacroAssemblerSH4::branchOr32):

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

7 years ago[EFL][WK2] Add support for PlatformWebView::simulateRightClick() in TestWebKitAPI
commit-queue@webkit.org [Fri, 30 Nov 2012 09:45:52 +0000 (09:45 +0000)]
[EFL][WK2] Add support for PlatformWebView::simulateRightClick() in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=103634

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-30
Reviewed by Gyuyoung Kim.

Add support for PlatformWebView::simulateRightClick() and enable
WebKit2 API test HitTestResultNodeHandle.

* TestWebKitAPI/PlatformEfl.cmake:
* TestWebKitAPI/efl/PlatformWebView.cpp:
(TestWebKitAPI::PlatformWebView::simulateRightClick):
(TestWebKitAPI):

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

7 years ago[Chromium] Unreviewed, fast/text/line-initial-and-final-swashes.html missing expectat...
apavlov@chromium.org [Fri, 30 Nov 2012 09:13:00 +0000 (09:13 +0000)]
[Chromium] Unreviewed, fast/text/line-initial-and-final-swashes.html missing expectations on XP after r136153.

* platform/chromium/TestExpectations:

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

7 years agoFix typos in DateTimeNumericFieldElement.cpp and DateTimeSymbolicFieldElement.cpp
tkent@chromium.org [Fri, 30 Nov 2012 09:02:17 +0000 (09:02 +0000)]
Fix typos in DateTimeNumericFieldElement.cpp and DateTimeSymbolicFieldElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=103717

Reviewed by Hajime Morita.

* html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::customStyleForRenderer):
maximum, not maxium.
* html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::customStyleForRenderer): Ditto.

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

7 years agoUnreviewed, WebKit gardening.
tasak@google.com [Fri, 30 Nov 2012 09:01:26 +0000 (09:01 +0000)]
Unreviewed, WebKit gardening.

* platform/chromium/TestExpectations:

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

7 years agoVersioning.
lforschler@apple.com [Fri, 30 Nov 2012 08:58:47 +0000 (08:58 +0000)]
Versioning.

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

7 years ago[EFL] libwebcore_efl.a fail to link when enable webgl
commit-queue@webkit.org [Fri, 30 Nov 2012 08:54:40 +0000 (08:54 +0000)]
[EFL] libwebcore_efl.a fail to link when enable webgl
https://bugs.webkit.org/show_bug.cgi?id=103610

Patch by Halton Huo <halton.huo@intel.com> on 2012-11-30
Reviewed by Gyuyoung Kim.

libwebcore_efl.a should link to X11, Xcomposite and Xrender libraries when ENABLE_WEBGL is ON

No new tests, no behavior change for layout tests.

* PlatformEfl.cmake: Append ${X11_X11_LIB}, ${X11_Xcomposite_LIB} and ${X11_Xrender_LIB} to WebCore_LIBRARIES

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

7 years agoUnreviewed, fix the PDFPlugin build after http://trac.webkit.org/changeset/136205.
timothy_horton@apple.com [Fri, 30 Nov 2012 08:52:05 +0000 (08:52 +0000)]
Unreviewed, fix the PDFPlugin build after trac.webkit.org/changeset/136205.

* WebCore.xcodeproj/project.pbxproj:

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

7 years ago[CSSRegions] when WebKit uses V8, there should be a single variable to store if the...
commit-queue@webkit.org [Fri, 30 Nov 2012 08:48:28 +0000 (08:48 +0000)]
[CSSRegions] when WebKit uses V8, there should be a single variable to store if the CSS Regions feature is enabled
https://bugs.webkit.org/show_bug.cgi?id=101192

Patch by Mihai Maerean <mmaerean@adobe.com> on 2012-11-30
Reviewed by Hajime Morita.

Removed the CSS Regions flag in Settings and switched to using the new flag I have added in RuntimeEnabledFeatures.

Tests: No new tests because there is no functional change.

Source/WebCore:

* WebCore.exp.in:
* WebCore.vcproj/copyForwardingHeaders.cmd:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* bindings/generic/RuntimeEnabledFeatures.h:
(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::setCSSRegionsEnabled):
(WebCore::RuntimeEnabledFeatures::cssRegionsEnabled):
* dom/Document.cpp:
(WebCore::Document::cssRegionsEnabled):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(Settings):

Source/WebKit/chromium:

* public/WebRuntimeFeatures.h:
(WebRuntimeFeatures):
* public/WebSettings.h: moved setExperimentalCSSRegionsEnabled to the bottom of the interface and made it a
no-op.  After this patch lands and Chromium's webkit_rev is increased, we'll remove any callers in Chromium. Once
the Chromium callers are gone and WebKit's chromium_rev is increased, we'll remove the deprecated API.
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableCSSRegions):
(WebKit):
(WebKit::WebRuntimeFeatures::isCSSRegionsEnabled):
* src/WebSettingsImpl.cpp:
* src/WebSettingsImpl.h:
(WebSettingsImpl):

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::setCSSRegionsEnabled):
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::setCSSRegionsEnabled):

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit/qt:

* Api/qwebsettings.cpp:
(QWebSettingsPrivate::apply):

Source/WebKit/win:

* WebView.cpp:
(WebView::notifyPreferencesChanged):

Source/WebKit2:

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
(WebKit::InjectedBundle::setCSSRegionsEnabled):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::applyTo):

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

7 years agoLayout Test fast/forms/month-multiple-fields/month-multiple-fields-preserve-value...
keishi@webkit.org [Fri, 30 Nov 2012 08:08:59 +0000 (08:08 +0000)]
Layout Test fast/forms/month-multiple-fields/month-multiple-fields-preserve-value-after-history-back.html is failing
https://bugs.webkit.org/show_bug.cgi?id=103713

Unreviewed.

Rebaselining month-multiple-fields-preserve-value-after-history-back.html for Windows.

* platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-preserve-value-after-history-back-expected.txt: Added.
* platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-preserve-value-after-history-back-expected.txt: Added.

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

7 years agoPDFPlugin: Only plain text can be copied out of PDFs
timothy_horton@apple.com [Fri, 30 Nov 2012 07:58:33 +0000 (07:58 +0000)]
PDFPlugin: Only plain text can be copied out of PDFs
https://bugs.webkit.org/show_bug.cgi?id=103591
<rdar://problem/12555161>

Reviewed by Alexey Proskuryakov.

Don't write zero-length data to the pasteboard, just skip the item.

As mentioned in the comment, we don't expect this to come up, and would like to know if it does,
so we assert that it doesn't happen in debug builds.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::writeItemsToPasteboard):

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

7 years ago[GTK] [WebKit2] WebKitWebViewBase creates a GL context for the redirected XComposite...
mrobinson@webkit.org [Fri, 30 Nov 2012 06:41:40 +0000 (06:41 +0000)]
[GTK] [WebKit2] WebKitWebViewBase creates a GL context for the redirected XComposite window crashing WebKit in Xvfb
https://bugs.webkit.org/show_bug.cgi?id=103476

Reviewed by Alejandro G. Castro.

Source/WebCore:

Allow creation of RedirectedXCompositeWindow in a mode which does not have a backing
GLContext. For WebKit2 the GLContext is always in the WebProcess. Creating the GLContext
in both processes can cause crashes when library is run in Xvfb.

No new tests. This fixes a crash running tests on some systems.

* platform/gtk/RedirectedXCompositeWindow.cpp:
(WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
(WebCore::RedirectedXCompositeWindow::resize): Do not create the GLContext when
in the new no-GLContext mode.
(WebCore::RedirectedXCompositeWindow::context): ASSERT that we are not in
no-GLContext mode.

Source/WebKit2:

Create the RedirectedXCompositeWindow with an argument specifying that it
should never have a GLContext backing it.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):

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

7 years agoBetter type ahead for DateTimeSymbolicFieldElement
keishi@webkit.org [Fri, 30 Nov 2012 05:46:10 +0000 (05:46 +0000)]
Better type ahead for DateTimeSymbolicFieldElement
https://bugs.webkit.org/show_bug.cgi?id=103031

Reviewed by Kent Tamura.

Source/WebCore:

This cuts out the type ahead code that will be used by HTMLSelectElement
and DateTimeSymbolicFieldElement into a TypeAhead class. This will
improve DateTimeSymbolicFieldElement type ahead which was first
character match only, by adding cycling, prefix match and index number
match.

Added tests to month-multiple-fields-keyboard-events.html.

* GNUmakefile.list.am: Added TypeAhead.{h,cpp}
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* CMakeLists.txt: Ditto.
* html/HTMLSelectElement.cpp:
(WebCore):
(WebCore::HTMLSelectElement::HTMLSelectElement):
(WebCore::HTMLSelectElement::indexOfSelectedOption): Returns index of current selection.
(WebCore::HTMLSelectElement::optionCount): Returns total number of options.
(WebCore::HTMLSelectElement::optionAtIndex): Returns option at index.
(WebCore::HTMLSelectElement::typeAheadFind): Use TypeAhead.
* html/HTMLSelectElement.h:
(HTMLSelectElement):
* html/TypeAhead.cpp: Added.
(WebCore):
(WebCore::TypeAhead::TypeAhead):
(WebCore::stripLeadingWhiteSpace): Moved from HTMLSelectElement.cpp.
(WebCore::TypeAhead::handleEvent): Returns index for match.
* html/TypeAhead.h: Added.
(WebCore):
(TypeAheadDataSource): Provide the data about the options that TypeAhead should match against.
(TypeAhead):
* html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
(WebCore::DateTimeSymbolicFieldElement::handleKeyboardEvent):
(WebCore::DateTimeSymbolicFieldElement::indexOfSelectedOption):
(WebCore):
(WebCore::DateTimeSymbolicFieldElement::optionCount):
(WebCore::DateTimeSymbolicFieldElement::optionAtIndex):
* html/shadow/DateTimeSymbolicFieldElement.h:
(DateTimeSymbolicFieldElement):

LayoutTests:

* fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events-expected.txt:
* fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html: Added tests for typeahead.

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

7 years ago[HTMLTemplateElement] Add feature flag
rafaelw@chromium.org [Fri, 30 Nov 2012 05:40:27 +0000 (05:40 +0000)]
[HTMLTemplateElement] Add feature flag
https://bugs.webkit.org/show_bug.cgi?id=103694

Reviewed by Adam Barth.

This flag will guard the implementation of the HTMLTemplateElement.
http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html

.:

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.features.am:

Source/WebKit/chromium:

* features.gypi:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* Scripts/webkitperl/FeatureList.pm:

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