WebKit-https.git
7 years agoUnreviewed, rolling out r109837.
commit-queue@webkit.org [Tue, 6 Mar 2012 10:03:03 +0000 (10:03 +0000)]
Unreviewed, rolling out r109837.
http://trac.webkit.org/changeset/109837
https://bugs.webkit.org/show_bug.cgi?id=80399

breaks Mac Productions builds, too late to try and fix it
tonight (Requested by eseidel on #webkit).

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

Source/JavaScriptCore:

* API/tests/JSNode.c:
* API/tests/JSNodeList.c:
* Configurations/Base.xcconfig:
* JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/MacroAssemblerCodeRef.h:
* bytecompiler/BytecodeGenerator.h:
* dfg/DFGOperations.cpp:
* heap/GCAssertions.h:
* heap/HandleHeap.h:
* heap/HandleStack.h:
* heap/MarkedSpace.h:
* heap/PassWeak.h:
* heap/Strong.h:
* heap/Weak.h:
* jit/HostCallReturnValue.cpp:
* jit/JIT.cpp:
* jit/JITStubs.cpp:
* jit/ThunkGenerators.cpp:
* parser/Lexer.cpp:
* runtime/Completion.cpp:
* runtime/Executable.cpp:
* runtime/Identifier.h:
* runtime/InitializeThreading.cpp:
* runtime/JSDateMath.cpp:
* runtime/JSGlobalObjectFunctions.cpp:
* runtime/JSStringBuilder.h:
* runtime/JSVariableObject.h:
* runtime/NumberPrototype.cpp:
* runtime/WriteBarrier.h:
* tools/CodeProfile.cpp:
* tools/TieredMMapArray.h:
* yarr/YarrJIT.cpp:

Tools:

* Scripts/build-webkit:

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

7 years ago[Qt] Use correct define names for HAVE(FOO) style optional dependencies
vestbo@webkit.org [Tue, 6 Mar 2012 10:00:25 +0000 (10:00 +0000)]
[Qt] Use correct define names for HAVE(FOO) style optional dependencies

Reviewed by Simon Hausmann.

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

7 years agoUnreviewed, gardening.
haraken@chromium.org [Tue, 6 Mar 2012 09:49:22 +0000 (09:49 +0000)]
Unreviewed, gardening.

* platform/chromium/test_expectations.txt:

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

7 years agoAttempt to fix the Qt minimal build.
abarth@webkit.org [Tue, 6 Mar 2012 09:44:29 +0000 (09:44 +0000)]
Attempt to fix the Qt minimal build.

* Target.pri:

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

7 years ago:scope should behave as :root outside scoped style sheet
rolandsteiner@chromium.org [Tue, 6 Mar 2012 09:43:27 +0000 (09:43 +0000)]
:scope should behave as :root outside scoped style sheet
https://bugs.webkit.org/show_bug.cgi?id=80389

Source/WebCore:

Fall through to :root implementation if no scope is used.

Reviewed by Antti Koivisto.

Test: fast/css/style-scoped/scope-pseudo.html

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOneSelector):

LayoutTests:

Update test with :scope in global style sheet

Reviewed by Antti Koivisto.

* fast/css/style-scoped/scope-pseudo-expected.txt:
* fast/css/style-scoped/scope-pseudo.html:

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

7 years ago[Qt][ARM] Speculative buildfix after r109834.
ossy@webkit.org [Tue, 6 Mar 2012 09:36:30 +0000 (09:36 +0000)]
[Qt][ARM] Speculative buildfix after r109834.

Patch by Zoltan Herczeg <zherczeg@webkit.org> on 2012-03-06
Reviewed by Csaba Osztrogonác.

* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::and32):
(MacroAssemblerARM):

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

7 years agoWeb Inspector: [Regression] Message bubbles are not removed from scripts panel source...
vsevik@chromium.org [Tue, 6 Mar 2012 09:32:53 +0000 (09:32 +0000)]
Web Inspector: [Regression] Message bubbles are not removed from scripts panel source frames after console was cleared.
https://bugs.webkit.org/show_bug.cgi?id=80275

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._consoleMessagesCleared):
* inspector/front-end/utilities.js:

LayoutTests:

* inspector/debugger/source-frame-expected.txt:
* inspector/debugger/source-frame.html:

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

7 years ago[GTK] Fix several documentation issues in WebKit2 GTK+ API
carlosgc@webkit.org [Tue, 6 Mar 2012 09:29:20 +0000 (09:29 +0000)]
[GTK] Fix several documentation issues in WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=80281

Reviewed by Martin Robinson.

* UIProcess/API/gtk/WebKitFindController.cpp:
* UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
(webkit_navigation_policy_decision_class_init):
* UIProcess/API/gtk/WebKitPrintOperation.cpp:
* UIProcess/API/gtk/WebKitWebView.h:

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

7 years ago[GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
carlosgc@webkit.org [Tue, 6 Mar 2012 09:26:13 +0000 (09:26 +0000)]
[GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=80271

Reviewed by Martin Robinson.

Add a new signal WebKitWebView::script-dialog that passes a
WebKitScriptDialog boxed type that can be used to build the dialog
and set the responses. It simplifies the API and makes it bindings
friendly.

* GNUmakefile.am:
* UIProcess/API/gtk/WebKitScriptDialog.cpp: Added.
(webkitScriptDialogCopy): Copy method for boxed type.
(webkitScriptDialogFree): Free method for boxed type.
(webkit_script_dialog_get_dialog_type): Return the type of dialog:
alert, confirm or prompt.
(webkit_script_dialog_get_message): Return the message of the dialog.
(webkit_script_dialog_confirm_set_confirmed): Set whether user
confirmed the dialog, for confirm dialogs.
(webkit_script_dialog_prompt_get_default_text): Get the default
text of prompt dialogs.
(webkit_script_dialog_prompt_set_text): Set the text entered by
the user, for prompt dialogs.
* UIProcess/API/gtk/WebKitScriptDialog.h: Added.
* UIProcess/API/gtk/WebKitScriptDialogPrivate.h: Added.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewScriptDialog): Default implementation of
WebKitWebView::script-dialog signal.
(webkit_web_view_class_init): Add WebKitWebView::script-dialog and
remove alert, confirm and propmpt.
(webkitWebViewRunJavaScriptAlert): Create a WebKitScriptDialog and
emit WebKitWebView::script-dialog signal.
(webkitWebViewRunJavaScriptConfirm): Ditto.
(webkitWebViewRunJavaScriptPrompt): Ditto.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
symbols.
* UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_script_dialog_get_type().
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewJavaScriptDialogs): Update javascript dialog test to
use the new API.
* UIProcess/API/gtk/webkit2marshal.list:
* UIProcess/API/gtk/webkit2.h:

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

7 years agoUnreviewed, gardening.
haraken@chromium.org [Tue, 6 Mar 2012 09:26:10 +0000 (09:26 +0000)]
Unreviewed, gardening.

* platform/chromium-mac-snowleopard/fast/repaint/transform-rotate-and-remove-expected.png: Added.
* platform/chromium-win/fast/repaint/transform-rotate-and-remove-expected.png: Renamed from LayoutTests/platform/chromium-linux/fast/repaint/transform-rotate-and-remove-expected.png.
* platform/chromium/fast/repaint/transform-rotate-and-remove-expected.txt: Renamed from LayoutTests/platform/chromium-linux/fast/repaint/transform-rotate-and-remove-expected.txt.

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

7 years ago[Qt] Create EWS to build WebKit2
kkristof@inf.u-szeged.hu [Tue, 6 Mar 2012 09:23:10 +0000 (09:23 +0000)]
[Qt] Create EWS to build WebKit2
https://bugs.webkit.org/show_bug.cgi?id=80277

Reviewed by Csaba Osztrogonác.

* QueueStatusServer/model/queues.py:
(Queue):
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(QtWK2EWS):
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(EarlyWarningSytemTest.test_builder_ewses):

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

7 years agoMove SQLDatabase code into Modules/webdatabase
abarth@webkit.org [Tue, 6 Mar 2012 09:22:28 +0000 (09:22 +0000)]
Move SQLDatabase code into Modules/webdatabase
https://bugs.webkit.org/show_bug.cgi?id=80393

Reviewed by Kentaro Hara.

There are still a couple (minor) SQLDatabase references from WebCore
proper, but we've gotten this code to the point where it makes sense to
move it into the Modules directory.  (This patch just moves code---no
behavior change.)

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Modules/webdatabase: Added.
* Modules/webdatabase/AbstractDatabase.cpp: Copied from Source/WebCore/storage/AbstractDatabase.cpp.
* Modules/webdatabase/AbstractDatabase.h: Copied from Source/WebCore/storage/AbstractDatabase.h.
* Modules/webdatabase/ChangeVersionWrapper.cpp: Copied from Source/WebCore/storage/ChangeVersionWrapper.cpp.
* Modules/webdatabase/ChangeVersionWrapper.h: Copied from Source/WebCore/storage/ChangeVersionWrapper.h.
* Modules/webdatabase/DOMWindowSQLDatabase.cpp: Copied from Source/WebCore/storage/DOMWindowSQLDatabase.cpp.
* Modules/webdatabase/DOMWindowSQLDatabase.h: Copied from Source/WebCore/storage/DOMWindowSQLDatabase.h.
* Modules/webdatabase/DOMWindowSQLDatabase.idl: Copied from Source/WebCore/storage/DOMWindowSQLDatabase.idl.
* Modules/webdatabase/Database.cpp: Copied from Source/WebCore/storage/Database.cpp.
* Modules/webdatabase/Database.h: Copied from Source/WebCore/storage/Database.h.
* Modules/webdatabase/Database.idl: Copied from Source/WebCore/storage/Database.idl.
* Modules/webdatabase/DatabaseAuthorizer.cpp: Copied from Source/WebCore/storage/DatabaseAuthorizer.cpp.
* Modules/webdatabase/DatabaseAuthorizer.h: Copied from Source/WebCore/storage/DatabaseAuthorizer.h.
* Modules/webdatabase/DatabaseCallback.h: Copied from Source/WebCore/storage/DatabaseCallback.h.
* Modules/webdatabase/DatabaseCallback.idl: Copied from Source/WebCore/storage/DatabaseCallback.idl.
* Modules/webdatabase/DatabaseContext.cpp: Copied from Source/WebCore/storage/DatabaseContext.cpp.
* Modules/webdatabase/DatabaseContext.h: Copied from Source/WebCore/storage/DatabaseContext.h.
* Modules/webdatabase/DatabaseDetails.h: Copied from Source/WebCore/storage/DatabaseDetails.h.
* Modules/webdatabase/DatabaseSync.cpp: Copied from Source/WebCore/storage/DatabaseSync.cpp.
* Modules/webdatabase/DatabaseSync.h: Copied from Source/WebCore/storage/DatabaseSync.h.
* Modules/webdatabase/DatabaseSync.idl: Copied from Source/WebCore/storage/DatabaseSync.idl.
* Modules/webdatabase/DatabaseTask.cpp: Copied from Source/WebCore/storage/DatabaseTask.cpp.
* Modules/webdatabase/DatabaseTask.h: Copied from Source/WebCore/storage/DatabaseTask.h.
* Modules/webdatabase/DatabaseThread.cpp: Copied from Source/WebCore/storage/DatabaseThread.cpp.
* Modules/webdatabase/DatabaseThread.h: Copied from Source/WebCore/storage/DatabaseThread.h.
* Modules/webdatabase/DatabaseTracker.cpp: Copied from Source/WebCore/storage/DatabaseTracker.cpp.
* Modules/webdatabase/DatabaseTracker.h: Copied from Source/WebCore/storage/DatabaseTracker.h.
* Modules/webdatabase/DatabaseTrackerClient.h: Copied from Source/WebCore/storage/DatabaseTrackerClient.h.
* Modules/webdatabase/OriginQuotaManager.cpp: Copied from Source/WebCore/storage/OriginQuotaManager.cpp.
* Modules/webdatabase/OriginQuotaManager.h: Copied from Source/WebCore/storage/OriginQuotaManager.h.
* Modules/webdatabase/OriginUsageRecord.cpp: Copied from Source/WebCore/storage/OriginUsageRecord.cpp.
* Modules/webdatabase/OriginUsageRecord.h: Copied from Source/WebCore/storage/OriginUsageRecord.h.
* Modules/webdatabase/SQLCallbackWrapper.h: Copied from Source/WebCore/storage/SQLCallbackWrapper.h.
* Modules/webdatabase/SQLError.h: Copied from Source/WebCore/storage/SQLError.h.
* Modules/webdatabase/SQLError.idl: Copied from Source/WebCore/storage/SQLError.idl.
* Modules/webdatabase/SQLException.cpp: Copied from Source/WebCore/storage/SQLException.cpp.
* Modules/webdatabase/SQLException.h: Copied from Source/WebCore/storage/SQLException.h.
* Modules/webdatabase/SQLException.idl: Copied from Source/WebCore/storage/SQLException.idl.
* Modules/webdatabase/SQLResultSet.cpp: Copied from Source/WebCore/storage/SQLResultSet.cpp.
* Modules/webdatabase/SQLResultSet.h: Copied from Source/WebCore/storage/SQLResultSet.h.
* Modules/webdatabase/SQLResultSet.idl: Copied from Source/WebCore/storage/SQLResultSet.idl.
* Modules/webdatabase/SQLResultSetRowList.cpp: Copied from Source/WebCore/storage/SQLResultSetRowList.cpp.
* Modules/webdatabase/SQLResultSetRowList.h: Copied from Source/WebCore/storage/SQLResultSetRowList.h.
* Modules/webdatabase/SQLResultSetRowList.idl: Copied from Source/WebCore/storage/SQLResultSetRowList.idl.
* Modules/webdatabase/SQLStatement.cpp: Copied from Source/WebCore/storage/SQLStatement.cpp.
* Modules/webdatabase/SQLStatement.h: Copied from Source/WebCore/storage/SQLStatement.h.
* Modules/webdatabase/SQLStatementCallback.h: Copied from Source/WebCore/storage/SQLStatementCallback.h.
* Modules/webdatabase/SQLStatementCallback.idl: Copied from Source/WebCore/storage/SQLStatementCallback.idl.
* Modules/webdatabase/SQLStatementErrorCallback.h: Copied from Source/WebCore/storage/SQLStatementErrorCallback.h.
* Modules/webdatabase/SQLStatementErrorCallback.idl: Copied from Source/WebCore/storage/SQLStatementErrorCallback.idl.
* Modules/webdatabase/SQLStatementSync.cpp: Copied from Source/WebCore/storage/SQLStatementSync.cpp.
* Modules/webdatabase/SQLStatementSync.h: Copied from Source/WebCore/storage/SQLStatementSync.h.
* Modules/webdatabase/SQLTransaction.cpp: Copied from Source/WebCore/storage/SQLTransaction.cpp.
* Modules/webdatabase/SQLTransaction.h: Copied from Source/WebCore/storage/SQLTransaction.h.
* Modules/webdatabase/SQLTransaction.idl: Copied from Source/WebCore/storage/SQLTransaction.idl.
* Modules/webdatabase/SQLTransactionCallback.h: Copied from Source/WebCore/storage/SQLTransactionCallback.h.
* Modules/webdatabase/SQLTransactionCallback.idl: Copied from Source/WebCore/storage/SQLTransactionCallback.idl.
* Modules/webdatabase/SQLTransactionClient.cpp: Copied from Source/WebCore/storage/SQLTransactionClient.cpp.
* Modules/webdatabase/SQLTransactionClient.h: Copied from Source/WebCore/storage/SQLTransactionClient.h.
* Modules/webdatabase/SQLTransactionCoordinator.cpp: Copied from Source/WebCore/storage/SQLTransactionCoordinator.cpp.
* Modules/webdatabase/SQLTransactionCoordinator.h: Copied from Source/WebCore/storage/SQLTransactionCoordinator.h.
* Modules/webdatabase/SQLTransactionErrorCallback.h: Copied from Source/WebCore/storage/SQLTransactionErrorCallback.h.
* Modules/webdatabase/SQLTransactionErrorCallback.idl: Copied from Source/WebCore/storage/SQLTransactionErrorCallback.idl.
* Modules/webdatabase/SQLTransactionSync.cpp: Copied from Source/WebCore/storage/SQLTransactionSync.cpp.
* Modules/webdatabase/SQLTransactionSync.h: Copied from Source/WebCore/storage/SQLTransactionSync.h.
* Modules/webdatabase/SQLTransactionSync.idl: Copied from Source/WebCore/storage/SQLTransactionSync.idl.
* Modules/webdatabase/SQLTransactionSyncCallback.h: Copied from Source/WebCore/storage/SQLTransactionSyncCallback.h.
* Modules/webdatabase/SQLTransactionSyncCallback.idl: Copied from Source/WebCore/storage/SQLTransactionSyncCallback.idl.
* Modules/webdatabase/WorkerContextSQLDatabase.cpp: Copied from Source/WebCore/storage/WorkerContextSQLDatabase.cpp.
* Modules/webdatabase/WorkerContextSQLDatabase.h: Copied from Source/WebCore/storage/WorkerContextSQLDatabase.h.
* Modules/webdatabase/WorkerContextSQLDatabase.idl: Copied from Source/WebCore/storage/WorkerContextSQLDatabase.idl.
* Modules/webdatabase/chromium: Added.
* Modules/webdatabase/chromium/DatabaseObserver.h: Copied from Source/WebCore/storage/chromium/DatabaseObserver.h.
* Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: Copied from Source/WebCore/storage/chromium/DatabaseTrackerChromium.cpp.
* Modules/webdatabase/chromium/QuotaTracker.cpp: Copied from Source/WebCore/storage/chromium/QuotaTracker.cpp.
* Modules/webdatabase/chromium/QuotaTracker.h: Copied from Source/WebCore/storage/chromium/QuotaTracker.h.
* Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp: Copied from Source/WebCore/storage/chromium/SQLTransactionClientChromium.cpp.
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.vcproj/copyForwardingHeaders.cmd:
* WebCore.xcodeproj/project.pbxproj:
* storage/AbstractDatabase.cpp: Removed.
* storage/AbstractDatabase.h: Removed.
* storage/ChangeVersionWrapper.cpp: Removed.
* storage/ChangeVersionWrapper.h: Removed.
* storage/DOMWindowSQLDatabase.cpp: Removed.
* storage/DOMWindowSQLDatabase.h: Removed.
* storage/DOMWindowSQLDatabase.idl: Removed.
* storage/Database.cpp: Removed.
* storage/Database.h: Removed.
* storage/Database.idl: Removed.
* storage/DatabaseAuthorizer.cpp: Removed.
* storage/DatabaseAuthorizer.h: Removed.
* storage/DatabaseCallback.h: Removed.
* storage/DatabaseCallback.idl: Removed.
* storage/DatabaseContext.cpp: Removed.
* storage/DatabaseContext.h: Removed.
* storage/DatabaseDetails.h: Removed.
* storage/DatabaseSync.cpp: Removed.
* storage/DatabaseSync.h: Removed.
* storage/DatabaseSync.idl: Removed.
* storage/DatabaseTask.cpp: Removed.
* storage/DatabaseTask.h: Removed.
* storage/DatabaseThread.cpp: Removed.
* storage/DatabaseThread.h: Removed.
* storage/DatabaseTracker.cpp: Removed.
* storage/DatabaseTracker.h: Removed.
* storage/DatabaseTrackerClient.h: Removed.
* storage/OriginQuotaManager.cpp: Removed.
* storage/OriginQuotaManager.h: Removed.
* storage/OriginUsageRecord.cpp: Removed.
* storage/OriginUsageRecord.h: Removed.
* storage/SQLCallbackWrapper.h: Removed.
* storage/SQLError.h: Removed.
* storage/SQLError.idl: Removed.
* storage/SQLException.cpp: Removed.
* storage/SQLException.h: Removed.
* storage/SQLException.idl: Removed.
* storage/SQLResultSet.cpp: Removed.
* storage/SQLResultSet.h: Removed.
* storage/SQLResultSet.idl: Removed.
* storage/SQLResultSetRowList.cpp: Removed.
* storage/SQLResultSetRowList.h: Removed.
* storage/SQLResultSetRowList.idl: Removed.
* storage/SQLStatement.cpp: Removed.
* storage/SQLStatement.h: Removed.
* storage/SQLStatementCallback.h: Removed.
* storage/SQLStatementCallback.idl: Removed.
* storage/SQLStatementErrorCallback.h: Removed.
* storage/SQLStatementErrorCallback.idl: Removed.
* storage/SQLStatementSync.cpp: Removed.
* storage/SQLStatementSync.h: Removed.
* storage/SQLTransaction.cpp: Removed.
* storage/SQLTransaction.h: Removed.
* storage/SQLTransaction.idl: Removed.
* storage/SQLTransactionCallback.h: Removed.
* storage/SQLTransactionCallback.idl: Removed.
* storage/SQLTransactionClient.cpp: Removed.
* storage/SQLTransactionClient.h: Removed.
* storage/SQLTransactionCoordinator.cpp: Removed.
* storage/SQLTransactionCoordinator.h: Removed.
* storage/SQLTransactionErrorCallback.h: Removed.
* storage/SQLTransactionErrorCallback.idl: Removed.
* storage/SQLTransactionSync.cpp: Removed.
* storage/SQLTransactionSync.h: Removed.
* storage/SQLTransactionSync.idl: Removed.
* storage/SQLTransactionSyncCallback.h: Removed.
* storage/SQLTransactionSyncCallback.idl: Removed.
* storage/WorkerContextSQLDatabase.cpp: Removed.
* storage/WorkerContextSQLDatabase.h: Removed.
* storage/WorkerContextSQLDatabase.idl: Removed.
* storage/chromium/DatabaseObserver.h: Removed.
* storage/chromium/DatabaseTrackerChromium.cpp: Removed.
* storage/chromium/QuotaTracker.cpp: Removed.
* storage/chromium/QuotaTracker.h: Removed.
* storage/chromium/SQLTransactionClientChromium.cpp: Removed.

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

7 years agoDo not reformat strings in <input type=number> on platforms using LocalizedNumberICU.
tkent@chromium.org [Tue, 6 Mar 2012 09:12:44 +0000 (09:12 +0000)]
Do not reformat strings in <input type=number> on platforms using LocalizedNumberICU.
https://bugs.webkit.org/show_bug.cgi?id=78326

Reviewed by Hajime Morita.

Source/WebCore:

We had bugs such as stripping leading zeros, dropping lower digits
of large numbers because we parse a user-input string to a double
value, and generate a string from the double value.

In order to avoid such reformatting, we converts number strings by
replacing standard digits to corresponding localized digits.

* WebCore.gypi: Added LocalizedNumberICU.h
* platform/text/LocalizedNumberICU.cpp:
(WebCore::ICULocale::ICULocale): Added.
(WebCore::ICULocale::create): A testing factory function.
(WebCore::ICULocale::createForCurrentLocale): A practical factory function.
(WebCore::ICULocale::setDecimalSymbol): Initialize a symbol table.
(WebCore::ICULocale::initializeDecimalFormat): Initialize ICU DecimalFormat.
(WebCore::ICULocale::convertToLocalizedNumber):
 Replace characters to corresponding localized characters.
(WebCore::matches): A helper function for convertFromLocalizedNumber.
(WebCore::endsWith): ditto.
(WebCore::ICULocale::determineStartPosition): ditto.
(WebCore::ICULocale::matchedDecimalSymbolIndex): ditto.
(WebCore::ICULocale::convertFromLocalizedNumber):
 Replace characters to corresponding standard characters.
(WebCore::currentLocale): Added.
(WebCore::convertToLocalizedNumber): Uses ICULocale::convertToLocalizedNumber.
(WebCore::convertFromLocalizedNumber): Uses ICULocale::convertFromLocalizedNumber.
* platform/text/LocalizedNumberICU.h: Added.
(ICULocale): Added. This is exposed to WebKit/chromium/tests/LocalizedNumberICUTest.cpp.

Source/WebKit/chromium:

Add a test for WebCore/platform/text/LocalizedNumberICU.

* WebKit.gypi: Added LocalizedNumberICUTest.cpp
* tests/LocalizedNumberICUTest.cpp: Added.

LayoutTests:

* platform/chromium/test_expectations.txt:
Need to do rebaseline for
fast/speech/input-appearance-numberandspeech.html because the
number rounding issue is fixed.

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

7 years agoAttempt to fix the GTK minimal build
abarth@webkit.org [Tue, 6 Mar 2012 09:07:47 +0000 (09:07 +0000)]
Attempt to fix the GTK minimal build
https://bugs.webkit.org/show_bug.cgi?id=80390

Reviewed by Csaba Osztrogonác.

Add some missing ifdefs.

* Modules/geolocation/NavigatorGeolocation.cpp:
* Modules/geolocation/NavigatorGeolocation.h:

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

7 years agoCSS3 calc: rewrite margin test to use getComputedStyle
mikelawther@chromium.org [Tue, 6 Mar 2012 09:06:35 +0000 (09:06 +0000)]
CSS3 calc: rewrite margin test to use getComputedStyle
https://bugs.webkit.org/show_bug.cgi?id=80379

Note that parts of this test still fail, due to yet-to-be-landed CSS3 calc()
functionality (see http://wkb.ug/16662)

Reviewed by Kent Tamura.

* css3/calc/margin-expected.txt:
* css3/calc/margin.html:

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

7 years agoREGRESSION (r109461): broke fast/js/function-dot-arguments-and-caller.html on GTK
philn@webkit.org [Tue, 6 Mar 2012 08:48:20 +0000 (08:48 +0000)]
REGRESSION (r109461): broke fast/js/function-dot-arguments-and-caller.html on GTK
https://bugs.webkit.org/show_bug.cgi?id=80117

Unreviewed, unskip the fixed test.

* platform/gtk/Skipped:

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

7 years agoWeb Inspector: stop using RawSourceCode in BreakpointManager.
podivilov@chromium.org [Tue, 6 Mar 2012 08:10:28 +0000 (08:10 +0000)]
Web Inspector: stop using RawSourceCode in BreakpointManager.
https://bugs.webkit.org/show_bug.cgi?id=80286

Reviewed by Vsevolod Vlasov.

Source/WebCore:

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
(WebInspector.BreakpointManager.prototype.setBreakpoint):
(WebInspector.BreakpointManager.prototype._materializeBreakpoint):
(WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel):
* inspector/front-end/ScriptMapping.js: Added.
(WebInspector.ScriptMapping):
(WebInspector.ScriptMapping.prototype.rawLocationToUILocation):
(WebInspector.ScriptMapping.prototype.uiLocationToRawLocation):
(WebInspector.ScriptMapping.prototype.createLiveLocation):
(WebInspector.ScriptMapping.prototype.uiSourceCodeList):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:

LayoutTests:

* inspector/debugger/breakpoint-manager.html:

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

7 years agoUnreviewed windows build fix pt 2.
barraclough@apple.com [Tue, 6 Mar 2012 08:04:31 +0000 (08:04 +0000)]
Unreviewed windows build fix pt 2.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

7 years agoWebAudio JSC-related fixes
philn@webkit.org [Tue, 6 Mar 2012 07:59:24 +0000 (07:59 +0000)]
WebAudio JSC-related fixes
https://bugs.webkit.org/show_bug.cgi?id=80299

Reviewed by Adam Barth.

* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContextConstructor::constructJSAudioContext):
Wrap the audio context in a DOM wrapper.
* webaudio/AudioContext.idl: No need to protect EventTarget by V8
guards, I think.
* webaudio/JavaScriptAudioNode.idl: Ditto.

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

7 years agoUnreviewed windows build fix pt 1.
barraclough@apple.com [Tue, 6 Mar 2012 07:40:46 +0000 (07:40 +0000)]
Unreviewed windows build fix pt 1.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

7 years ago[Qt] Unreviewed gardening. Skip new crashing tests,
ossy@webkit.org [Tue, 6 Mar 2012 07:35:51 +0000 (07:35 +0000)]
[Qt] Unreviewed gardening. Skip new crashing tests,
because crashes aren't bugs but features. :)

* platform/qt-5.0-wk2/Skipped:

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

7 years agoElement not fully repainted after application and removal of transform
commit-queue@webkit.org [Tue, 6 Mar 2012 07:31:45 +0000 (07:31 +0000)]
Element not fully repainted after application and removal of transform
https://bugs.webkit.org/show_bug.cgi?id=61338

Source/WebCore:

Patch by Kishore Bolisetty <kbolisetty@innominds.com> on 2012-03-05
Reviewed by Simon Fraser.
RenderLayer is created and removed when a transform is applied and removed to element.
To render the element properly after removal of transform on it, preferred widths and dimensions of
the element and its containing block needs to be recalculated.

Test: fast/repaint/transform-rotate-and-remove.html

* rendering/RenderBoxModelObject.cpp:
(WebCore):
(WebCore::RenderBoxModelObject::styleWillChange):
(WebCore::RenderBoxModelObject::styleDidChange):
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):

LayoutTests:

Patch by Kishore Bolisetty <kbolisetty@innominds.com> on 2012-03-05
Reviewed by Simon Fraser.
Test to remove the transform property of an element upon onload event.

* fast/repaint/transform-rotate-and-remove.html: Added.
* platform/chromium-linux/fast/repaint/transform-rotate-and-remove-expected.png: Added.
* platform/chromium-linux/fast/repaint/transform-rotate-and-remove-expected.txt: Added.

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

7 years agoputByIndex should throw in strict mode
barraclough@apple.com [Tue, 6 Mar 2012 07:23:21 +0000 (07:23 +0000)]
putByIndex should throw in strict mode
https://bugs.webkit.org/show_bug.cgi?id=80335

Reviewed by Filip Pizlo.

Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.

Source/JavaScriptCore:

This is a largely mechanical change, simply adding an extra parameter to a number
of functions. Some call sites need perform additional exception checks, and
operationPutByValBeyondArrayBounds needs to know whether it is strict or not.

This patch doesn't fix a missing throw from some cases of shift/unshift (this is
an existing bug), I'll follow up with a third patch to handle that.

* API/JSObjectRef.cpp:
(JSObjectSetPropertyAtIndex):
* JSCTypedArrayStubs.h:
(JSC):
* dfg/DFGOperations.cpp:
(JSC::DFG::putByVal):
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* jsc.cpp:
(GlobalObject::finishCreation):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* runtime/Arguments.cpp:
(JSC::Arguments::putByIndex):
* runtime/Arguments.h:
(Arguments):
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSort):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
* runtime/ClassInfo.h:
(MethodTable):
* runtime/JSArray.cpp:
(JSC::SparseArrayValueMap::put):
(JSC::JSArray::put):
(JSC::JSArray::putByIndex):
(JSC::JSArray::putByIndexBeyondVectorLength):
(JSC::JSArray::push):
(JSC::JSArray::shiftCount):
(JSC::JSArray::unshiftCount):
* runtime/JSArray.h:
(SparseArrayValueMap):
(JSArray):
* runtime/JSByteArray.cpp:
(JSC::JSByteArray::putByIndex):
* runtime/JSByteArray.h:
(JSByteArray):
* runtime/JSCell.cpp:
(JSC::JSCell::putByIndex):
* runtime/JSCell.h:
(JSCell):
* runtime/JSNotAnObject.cpp:
(JSC::JSNotAnObject::putByIndex):
* runtime/JSNotAnObject.h:
(JSNotAnObject):
* runtime/JSONObject.cpp:
(JSC::Walker::walk):
* runtime/JSObject.cpp:
(JSC::JSObject::putByIndex):
* runtime/JSObject.h:
(JSC::JSValue::putByIndex):
* runtime/RegExpConstructor.cpp:
(JSC::RegExpMatchesArray::fillArrayInstance):
* runtime/RegExpMatchesArray.h:
(JSC::RegExpMatchesArray::putByIndex):
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncSplit):

Source/WebCore:

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::putProperty):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bridge/NP_jsobject.cpp:
(_NPN_SetProperty):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::setSlot):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::putByIndex):
* bridge/runtime_array.h:
(RuntimeArray):

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::setProperty):

Source/WebKit2:

* WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::setProperty):

LayoutTests:

* fast/js/Object-defineProperty-expected.txt:
* fast/js/mozilla/strict/15.4.4.12-expected.txt:
* fast/js/mozilla/strict/15.4.4.13-expected.txt:
* fast/js/mozilla/strict/15.4.4.8-expected.txt:
* fast/js/mozilla/strict/15.4.4.9-expected.txt:
* fast/js/mozilla/strict/15.5.5.2-expected.txt:
* fast/js/mozilla/strict/8.12.5-expected.txt:
* fast/js/preventExtensions-expected.txt:
* fast/js/primitive-property-access-edge-cases-expected.txt:
    - Checking in passing test results.
* fast/js/script-tests/Object-defineProperty.js:
    - Added test cases for putting to numeric properties where property is read-only,
      length is read-only, or property is accessor with missing set function.
* fast/js/script-tests/preventExtensions.js:
    - Added test case, putting numeric property to non-extensible array.
* fast/js/script-tests/primitive-property-access-edge-cases.js:
    - Enabled test cases for putting numeric properties to primitive strings.

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

7 years agoPredictNone is incorrectly treated as isDoublePrediction
yuqiang.xian@intel.com [Tue, 6 Mar 2012 07:02:48 +0000 (07:02 +0000)]
PredictNone is incorrectly treated as isDoublePrediction
https://bugs.webkit.org/show_bug.cgi?id=80365

Reviewed by Filip Pizlo.

Also it is incorrectly treated as isFixedIndexedStorageObjectPrediction.

* bytecode/PredictedType.h:
(JSC::isFixedIndexedStorageObjectPrediction):
(JSC::isDoublePrediction):

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

7 years agoInsertionPoint::attach should be consistent with Element.
shinyak@chromium.org [Tue, 6 Mar 2012 06:59:02 +0000 (06:59 +0000)]
InsertionPoint::attach should be consistent with Element.
https://bugs.webkit.org/show_bug.cgi?id=80373

Reviewed by Hajime Morita.

This patch is preparation for coming <shadow> patches.

InsertionPoint used to attach fallback elements before attaching distributed elements.
To be consistent with Element::attach behavior, attaching distributed elements first is
natural, because Element attaches a shadow tree first.

Also, this patch extracts a few methods form InsretionPoint::attach() and detach()
to keep code clean. They will become messy without this refactoring when adding
<shadow> patch.

No new tests. Should be covered by existing tests.

* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::attach):
(WebCore::InsertionPoint::detach):
(WebCore::InsertionPoint::distributeHostChildren):
(WebCore):
(WebCore::InsertionPoint::clearDistribution):
(WebCore::InsertionPoint::attachDistributedNode):
* html/shadow/InsertionPoint.h:
(InsertionPoint):

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

7 years agoThe LLInt should work even when the JIT is disabled
fpizlo@apple.com [Tue, 6 Mar 2012 06:54:23 +0000 (06:54 +0000)]
The LLInt should work even when the JIT is disabled
https://bugs.webkit.org/show_bug.cgi?id=80340
<rdar://problem/10922235>

Reviewed by Gavin Barraclough.

* assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodePtr::createLLIntCodePtr):
(MacroAssemblerCodeRef):
(JSC::MacroAssemblerCodeRef::createLLIntCodeRef):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::initialize):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
* jit/JIT.h:
(JSC::JIT::compileCTINativeCall):
* jit/JITStubs.h:
(JSC::JITThunks::ctiNativeCall):
(JSC::JITThunks::ctiNativeConstruct):
* llint/LLIntEntrypoints.cpp:
(JSC::LLInt::getFunctionEntrypoint):
(JSC::LLInt::getEvalEntrypoint):
(JSC::LLInt::getProgramEntrypoint):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(LLInt):
* llint/LLIntSlowPaths.h:
(LLInt):
* llint/LowLevelInterpreter.h:
* llint/LowLevelInterpreter32_64.asm:
* runtime/Executable.h:
(NativeExecutable):
(JSC::NativeExecutable::create):
(JSC::NativeExecutable::finishCreation):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSGlobalData):
* runtime/Options.cpp:
(Options):
(JSC::Options::parse):
(JSC::Options::initializeOptions):
* runtime/Options.h:
(Options):
* wtf/Platform.h:

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

7 years agoUnreviewed, rolling out r109733.
ossy@webkit.org [Tue, 6 Mar 2012 06:31:34 +0000 (06:31 +0000)]
Unreviewed, rolling out r109733.
http://trac.webkit.org/changeset/109733
https://bugs.webkit.org/show_bug.cgi?id=80378

It broke Qt5 build system (Requested by Ossy on #webkit).

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

* Tools.pro:
* qmake/config.tests/gccdepends/empty.cpp: Removed.
* qmake/config.tests/gccdepends/gccdepends.pro: Removed.
* qmake/mkspecs/features/default_pre.prf:
* qmake/mkspecs/features/features.prf:
* qmake/mkspecs/features/unix/default_pre.prf:
* qmake/sync.profile:

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

7 years agoAttempt to fix a number of GTK tests.
abarth@webkit.org [Tue, 6 Mar 2012 06:21:23 +0000 (06:21 +0000)]
Attempt to fix a number of GTK tests.

* GNUmakefile.list.am:

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

7 years agoUnreviewed rollout of r109858 for restructuring.
joepeck@webkit.org [Tue, 6 Mar 2012 06:16:12 +0000 (06:16 +0000)]
Unreviewed rollout of r109858 for restructuring.

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

7 years agoChecks for dead variables are not sufficient when fixing the expected
yuqiang.xian@intel.com [Tue, 6 Mar 2012 06:11:52 +0000 (06:11 +0000)]
Checks for dead variables are not sufficient when fixing the expected
values in DFG OSR entry
https://bugs.webkit.org/show_bug.cgi?id=80371

Reviewed by Filip Pizlo.

A dead variable should be identified when there's no node referencing it.
But we currently failed to catch the case where there are some nodes
referencing a variable but those nodes are actually not referenced by
others so will be ignored in code generation. In such case we should
also consider that variable to be a dead variable in the block and fix
the expected values.
This is performance neutral on SunSpider, V8 and Kraken.

* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::noticeOSREntry):

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

7 years ago<http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
joepeck@webkit.org [Tue, 6 Mar 2012 06:03:12 +0000 (06:03 +0000)]
<webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock

Source/WebCore:

There are times when an undocked inspector frontend is not allowed to
attach to the main window. We can remove the dock button in those cases.

Reviewed by Timothy Hatcher.

No new tests. This functionality is port specific right now.

* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):
When the main frame is resized we let the inspector frontend client
update its docked availability.

* WebCore.exp.in:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didResizeMainFrameImpl):
(WebCore::InspectorInstrumentation::didResizeMainFrame):
* inspector/InspectorClient.h:
(WebCore::InspectorClient::updateDockingAvailability):
* inspector/InspectorController.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::resume):
(WebCore::InspectorController::updateDockingAvailability):
When the main frame is resized call up to the InspectorClient to let
it update docking availability of the inspector frontend.

* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendClientLocal.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::frontendLoaded):
(WebCore::InspectorFrontendClientLocal::setDockingUnavailable):
On ports where the inspector frontend client is local, provide a
setDockingUnavailable InspectorFrontendAPI to update the docking state.
Automatically update availablity when the frontend completes loading.

* inspector/front-end/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setDockingUnavailable):
* inspector/front-end/inspector.js:
(WebInspector._createGlobalStatusBarItems):
(WebInspector.setAttachedWindow):
(WebInspector.setDockingUnavailable):
(WebInspector.updateDockToggleButtonVisibility):
Update the dock button's visibility when its created, when the attached
state changes, when get a frontend API notification that we cannot attach.

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.h:
(WebInspectorClient):
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::updateDockingAvailability):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::updateDockingAvailability):
* WebProcess/WebCoreSupport/WebInspectorClient.h:
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::updateDockingAvailability):
* WebProcess/WebPage/WebInspector.h:

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

7 years agoCompositing overlap testing can throw layers into compositing when they should not be.
enne@google.com [Tue, 6 Mar 2012 05:13:00 +0000 (05:13 +0000)]
Compositing overlap testing can throw layers into compositing when they should not be.
https://bugs.webkit.org/show_bug.cgi?id=50192

Reviewed by Simon Fraser.

Source/WebCore:

The previous overlap map behavior was that a non-composited query
layer would become composited due to overlap if and only if the query
layer's absolute bounds overlapped the absolute bounds of some other
layer which:
    - draws before the query layer
    - is or has a compositing ancestor

This behavior, while correct, was too permissive in throwing layers
into compositing, causing many layers to get their own backing when
they could have just gone into their compositing ancestor's backing.

The correct logic is that non-composited query layer needs to be
composited due to overlap if and only if the query layer's absolute
bounds overlap the absolute bounds of some other layer which:
    - draws before the query layer
    - has a different compositing ancestor than the query layer
    - is or has a compositing ancestor that is a descendent of the
      query layer's compositing ancestor

This patch changes the semantics of the overlap map to enable this
behavior.

Rather than having one global overlap map, there is now a stack of
overlap maps. New (empty) overlap maps are pushed onto the stack
whenever a layer becomes a compositing ancestor and popped after all
of the compositing requirements for that layer's children have been
computed.

The compositing ancestor and all of its non-composited children of a
compositing ancestor do not get considered for overlap until their
composited ancestor has been popped off the stack. If a compositing
ancestor has a compositing subtree, then any descendents of that
compositing ancestor that draw after that subtree will consider
everything in the compositing subtree for overlap.

Test: compositing/layer-creation/stacking-context-overlap.html

* platform/graphics/Region.cpp:
(WebCore::Region::intersects):
(WebCore):
* platform/graphics/Region.h:
(Region):
* rendering/RenderLayerCompositor.cpp:
(RenderLayerCompositor::OverlapMap):
(WebCore::RenderLayerCompositor::OverlapMap::OverlapMap):
(WebCore::RenderLayerCompositor::OverlapMap::add):
(WebCore::RenderLayerCompositor::OverlapMap::contains):
(WebCore::RenderLayerCompositor::OverlapMap::overlapsLayers):
(WebCore::RenderLayerCompositor::OverlapMap::isEmpty):
(WebCore::RenderLayerCompositor::OverlapMap::popCompositingContainer):
(WebCore::RenderLayerCompositor::OverlapMap::pushCompositingContainer):
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

LayoutTests:

* compositing/layer-creation/stacking-context-overlap-expected.txt: Added.
* compositing/layer-creation/stacking-context-overlap.html: Added.
* compositing/layer-creation/stacking-context-overlap-nested-expected.txt: Added.
* compositing/layer-creation/stacking-context-overlap-nested.html: Added.
* platform/chromium/test_expectations.txt:

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

7 years agoAddress review comments from https://bugs.webkit.org/show_bug.cgi?id=80368
andersca@apple.com [Tue, 6 Mar 2012 04:57:27 +0000 (04:57 +0000)]
Address review comments from https://bugs.webkit.org/show_bug.cgi?id=80368

* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::setNeedsDisplayInRect):

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

7 years ago[Forms] HTMLFieldSetForms.idl doesn't have type attribute.
commit-queue@webkit.org [Tue, 6 Mar 2012 04:54:49 +0000 (04:54 +0000)]
[Forms] HTMLFieldSetForms.idl doesn't have type attribute.
https://bugs.webkit.org/show_bug.cgi?id=80109

Patch by Yoshifumi Inoue <yosin@chromium.org> on 2012-03-05
Reviewed by Hajime Morita.

Source/WebCore:

Test: fast/forms/fieldset/fieldset-type.html

* html/HTMLFieldSetElement.idl: Add attribute "type"

LayoutTests:

* fast/forms/fieldset/fieldset-type-expected.txt: Added.
* fast/forms/fieldset/fieldset-type.html: Added.

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

7 years agoFix Qt build.
oliver@apple.com [Tue, 6 Mar 2012 04:54:19 +0000 (04:54 +0000)]
Fix Qt build.

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

7 years agoFix build.
andersca@apple.com [Tue, 6 Mar 2012 04:51:56 +0000 (04:51 +0000)]
Fix build.

* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::setScale):

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

7 years agopinch-to-zoom and double-tap flicker when using the new scrolling model
andersca@apple.com [Tue, 6 Mar 2012 04:33:16 +0000 (04:33 +0000)]
pinch-to-zoom and double-tap flicker when using the new scrolling model
https://bugs.webkit.org/show_bug.cgi?id=80368
<rdar://problem/10866221>

Reviewed by Sam Weinig.

Source/WebCore:

In order to work better with zooming, make the tile cache undo the scale transformation
and handle the scaling manually. This avoids creating huge tile backing stores when zoomed in.

* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::TileCache):
Initialize m_scale to 1.

(WebCore::TileCache::setNeedsDisplayInRect):
Scale the given rect appropriately.

(WebCore::TileCache::drawLayer):
Apply a scale context transform.

(WebCore::TileCache::setScale):
No longer set the contents scale. Instead, update the scale and revalidate the tiles.

(WebCore::TileCache::revalidateTiles):
Return early if the bounds are empty. This avoids showing a single tile if that happens due to a race condition.

(WebCore::TileCache::getTileIndexRangeForRect):
Apply the scale to the bounds.

(WebCore::TileCache::createTileLayer):
Don't set the contents scale.

* platform/graphics/ca/mac/WebTileCacheLayer.mm:
(-[WebTileCacheLayer setContentsScale:]):
Call TileCache::setScale.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCompositedBounds):
Make sure to give the tile cache layer sane composited bounds, even if the page has absolutely positioned
elements that are outside of the page.

Source/WebKit2:

Add a way for drawing areas to respond to callback based force repaint requests asynchronously.
This is currently needed for the tiled drawing area when there might be outstanding scroll updates
that are sent from the scrolling thread to the main thread and we need to ensure that they're processed
before sending a message back.

* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::forceRepaintAsync):
Add new member function.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::forceRepaint):
Try forceRepaintAsync first.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::forceRepaintAndSendMessage):
Force the repaint and send the message.

(WebKit::dispatchBackToMainThread):
Dispatch a call to forceRepaintAndSendMessage to the main thread.

(WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
Dispatch a function on the scrolling thread. Its sole purpose is to dispatch a function back to the
main thread, ensuring that all previously dispatched functions have been executed.

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

7 years agoGraphicsContext3D.h should include RefCounted.h explicitly
leo.yang@torchmobile.com.cn [Tue, 6 Mar 2012 04:24:41 +0000 (04:24 +0000)]
GraphicsContext3D.h should include RefCounted.h explicitly
https://bugs.webkit.org/show_bug.cgi?id=80251

Reviewed by Rob Buis.

GraphicsContext3D.h was using RefCounted but including RefCounted.h indirectly
through GraphicsLayer.h through Animation.h. However Animation.h is included
by GraphicsLayer.h only when ACCELERATED_COMPOSITING is on. For some configurations
that don't use ACCELERATED_COMPOSITING but use GraphicsContext3D, like the
BlackBerry x86 configuration, the indirect inclusion will fail.

This patch is adding explicit inclusion of RefCounted.h to avoid that kind of
problem.

* platform/graphics/GraphicsContext3D.h:

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

7 years ago[WebSocket] Should raise SYNTAX_ERR when message contains unpaired surrogates
bashi@chromium.org [Tue, 6 Mar 2012 04:20:47 +0000 (04:20 +0000)]
[WebSocket] Should raise SYNTAX_ERR when message contains unpaired surrogates
https://bugs.webkit.org/show_bug.cgi?id=80103

Reviewed by Kent Tamura.

Source/WebCore:

Add UTF8 validation checks for WebSocket message and close reason.

Tests: http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html
       http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html

* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::send): Raise SYNTAX_ERR if the message is invalid.
(WebCore::WebSocket::close):Raise SYNTAX_ERR if the reason is invalid.
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::send): Check whether message is a valid UTF8 string.

LayoutTests:

Added tests for unpaired surrogates check for WebSocket message and close reason.
Updated two expectations for close() tests because further error message is added.

* http/tests/websocket/tests/hybi/close-expected.txt: Updated.
* http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason-expected.txt: Added.
* http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html: Added.
* http/tests/websocket/tests/hybi/unpaired-surrogates-in-message-expected.txt: Added.
* http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html: Added.
* http/tests/websocket/tests/hybi/workers/close-expected.txt: Updated.

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

7 years ago[chromium] Notify CCLayerImpl tree of context loss and restoration
kbr@google.com [Tue, 6 Mar 2012 04:15:27 +0000 (04:15 +0000)]
[chromium] Notify CCLayerImpl tree of context loss and restoration
https://bugs.webkit.org/show_bug.cgi?id=80339

Reviewed by James Robinson.

Source/WebCore:

Tested by manually killing GPU process while playing Flash video.
Video continues to play after compositor restores its context.

* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::didLoseAndRecreateGraphicsContext):
(WebCore):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::sendContextLostAndRestoredNotification):
(WebCore):
(WebCore::CCLayerTreeHostImpl::sendContextLostAndRestoredNotificationRecursive):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
(WebCore::CCPluginLayerImpl::didLoseAndRecreateGraphicsContext):
(WebCore):
* platform/graphics/chromium/cc/CCPluginLayerImpl.h:
(CCPluginLayerImpl):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::recreateContext):

Source/WebKit/chromium:

Unit test for notification of context loss and restoration.

* tests/CCLayerTreeHostImplTest.cpp:
(WebKit):
(ContextLostNotificationCheckLayer):
(WebKit::ContextLostNotificationCheckLayer::create):
(WebKit::ContextLostNotificationCheckLayer::didLoseAndRecreateGraphicsContext):
(WebKit::ContextLostNotificationCheckLayer::didLoseAndRecreateGraphicsContextCalled):
(WebKit::ContextLostNotificationCheckLayer::ContextLostNotificationCheckLayer):
(WebKit::TEST_F):

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

7 years agoChange the argument orders to match OpenGL's in GraphicsContext3D functions
commit-queue@webkit.org [Tue, 6 Mar 2012 04:02:32 +0000 (04:02 +0000)]
Change the argument orders to match OpenGL's in GraphicsContext3D functions
https://bugs.webkit.org/show_bug.cgi?id=80120

Patch by Changhun Kang <temoochin@company100.net> on 2012-03-05
Reviewed by Kenneth Russell.

No new tests because this patch just change the order of arguments.

Source/WebCore:

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::uniform1fv):
(WebCore::WebGLRenderingContext::uniform1iv):
(WebCore::WebGLRenderingContext::uniform2fv):
(WebCore::WebGLRenderingContext::uniform2iv):
(WebCore::WebGLRenderingContext::uniform3fv):
(WebCore::WebGLRenderingContext::uniform3iv):
(WebCore::WebGLRenderingContext::uniform4fv):
(WebCore::WebGLRenderingContext::uniform4iv):
(WebCore::WebGLRenderingContext::uniformMatrix2fv):
(WebCore::WebGLRenderingContext::uniformMatrix3fv):
(WebCore::WebGLRenderingContext::uniformMatrix4fv):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawDebugBorderQuad):
(WebCore::LayerRendererChromium::drawTileQuad):
(WebCore::LayerRendererChromium::drawYUV):
(WebCore::LayerRendererChromium::drawStreamTexture):
(WebCore::LayerRendererChromium::drawTexturedQuad):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::drawSurface):
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::uniform1fv):
(WebCore::GraphicsContext3D::uniform1iv):
(WebCore::GraphicsContext3D::uniform2fv):
(WebCore::GraphicsContext3D::uniform2iv):
(WebCore::GraphicsContext3D::uniform3fv):
(WebCore::GraphicsContext3D::uniform3iv):
(WebCore::GraphicsContext3D::uniform4fv):
(WebCore::GraphicsContext3D::uniform4iv):
(WebCore::GraphicsContext3D::uniformMatrix2fv):
(WebCore::GraphicsContext3D::uniformMatrix3fv):
(WebCore::GraphicsContext3D::uniformMatrix4fv):
* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::bindProgramAndBuffers):
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::uniform1fv):
(WebCore::GraphicsContext3D::uniform2fv):
(WebCore::GraphicsContext3D::uniform3fv):
(WebCore::GraphicsContext3D::uniform4fv):
(WebCore::GraphicsContext3D::uniform1iv):
(WebCore::GraphicsContext3D::uniform2iv):
(WebCore::GraphicsContext3D::uniform3iv):
(WebCore::GraphicsContext3D::uniform4iv):
(WebCore::GraphicsContext3D::uniformMatrix2fv):
(WebCore::GraphicsContext3D::uniformMatrix3fv):
(WebCore::GraphicsContext3D::uniformMatrix4fv):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::uniform1fv):
(WebCore::GraphicsContext3D::uniform2fv):
(WebCore::GraphicsContext3D::uniform3fv):
(WebCore::GraphicsContext3D::uniform4fv):
(WebCore::GraphicsContext3D::uniform1iv):
(WebCore::GraphicsContext3D::uniform2iv):
(WebCore::GraphicsContext3D::uniform3iv):
(WebCore::GraphicsContext3D::uniform4iv):
(WebCore::GraphicsContext3D::uniformMatrix2fv):
(WebCore::GraphicsContext3D::uniformMatrix3fv):
(WebCore::GraphicsContext3D::uniformMatrix4fv):

Source/WebKit/chromium:

* src/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3DPrivate::uniform1fv):
(WebCore::GraphicsContext3DPrivate::uniform1iv):
(WebCore::GraphicsContext3DPrivate::uniform2fv):
(WebCore::GraphicsContext3DPrivate::uniform2iv):
(WebCore::GraphicsContext3DPrivate::uniform3fv):
(WebCore::GraphicsContext3DPrivate::uniform3iv):
(WebCore::GraphicsContext3DPrivate::uniform4fv):
(WebCore::GraphicsContext3DPrivate::uniform4iv):
(WebCore::GraphicsContext3DPrivate::uniformMatrix2fv):
(WebCore::GraphicsContext3DPrivate::uniformMatrix3fv):
(WebCore::GraphicsContext3DPrivate::uniformMatrix4fv):
(WebCore):
* src/GraphicsContext3DPrivate.h:
(GraphicsContext3DPrivate):

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

7 years agoSource/JavaScriptCore: Update JavaScriptCore files to use fully-qualified WTF include...
eric@webkit.org [Tue, 6 Mar 2012 03:37:47 +0000 (03:37 +0000)]
Source/JavaScriptCore: Update JavaScriptCore files to use fully-qualified WTF include paths
https://bugs.webkit.org/show_bug.cgi?id=79960

Reviewed by Adam Barth.

This change does 5 small/related things:
 1. Updates JavaScriptCore.xcodeproj to install WTF headers into $BUILD/usr/local/include
    (WebCore, WebKit were already setup to look there, but JavaScriptCore.xcodeproj
    was not installing headers there.)
 2. Makes JavaScriptCore targets include $BUILD/usr/local/include in their
    header search path, as that's where the WTF headers will be installed.
 3. Similarly updates JavaScriptCore.vcproj/copy-files.cmd to copy WTF headers to PrivateHeaders/wtf/*
    in addition to the current behavior of flattening all headers to PrivateHeaders/*.h.
 4. Updates a bunch of JSC files to use #include <wtf/Foo.h> instead of #include "Foo.h"
    since soon the WTF headers will not be part of the JavaScriptCore Xcode project.
 5. Makes build-webkit build the WTF XCode project by default.

* API/tests/JSNode.c:
* API/tests/JSNodeList.c:
* Configurations/Base.xcconfig:
* assembler/MacroAssemblerCodeRef.h:
* bytecompiler/BytecodeGenerator.h:
* dfg/DFGOperations.cpp:
* heap/GCAssertions.h:
* heap/HandleHeap.h:
* heap/HandleStack.h:
* heap/MarkedSpace.h:
* heap/PassWeak.h:
* heap/Strong.h:
* heap/Weak.h:
* jit/HostCallReturnValue.cpp:
* jit/JIT.cpp:
* jit/JITStubs.cpp:
* jit/ThunkGenerators.cpp:
* parser/Lexer.cpp:
* runtime/Completion.cpp:
* runtime/Executable.cpp:
* runtime/Identifier.h:
* runtime/InitializeThreading.cpp:
* runtime/JSDateMath.cpp:
* runtime/JSGlobalObjectFunctions.cpp:
* runtime/JSStringBuilder.h:
* runtime/JSVariableObject.h:
* runtime/NumberPrototype.cpp:
* runtime/WriteBarrier.h:
* tools/CodeProfile.cpp:
* tools/TieredMMapArray.h:
* yarr/YarrJIT.cpp:

Tools: Update JavaScriptCore files to use fully-qualified WTF include path
https://bugs.webkit.org/show_bug.cgi?id=79960

Reviewed by Adam Barth.

Build WTF/WTF.xcodeproj by default on Mac.

* Scripts/build-webkit:

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

7 years agoSource/WebCore: [Forms] HTMLFieldSetForms.idl doesn't have name attribute.
commit-queue@webkit.org [Tue, 6 Mar 2012 03:07:53 +0000 (03:07 +0000)]
Source/WebCore: [Forms] HTMLFieldSetForms.idl doesn't have name attribute.
https://bugs.webkit.org/show_bug.cgi?id=80108

Patch by Yoshifumi Inoue <yosin@chromium.org> on 2012-03-05
Reviewed by Hajime Morita.

Test: fast/forms/fieldset/fieldset-name.html

* html/HTMLFieldSetElement.idl: Add "name" attribute.

LayoutTests: [Forms] HTMLFieldSetForms.idl doesn't have name attribute.
https://bugs.webkit.org/show_bug.cgi?id=81008

Test read/write attribute "name" of fieldset element.

Patch by Yoshifumi Inoue <yosin@chromium.org> on 2012-03-05
Reviewed by Hajime Morita.

* fast/forms/fieldset/fieldset-name-expected.txt: Added.
* fast/forms/fieldset/fieldset-name.html: Added.

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

7 years agoUpdate usage of LayoutUnits in RenderBox
leviw@chromium.org [Tue, 6 Mar 2012 02:42:55 +0000 (02:42 +0000)]
Update usage of LayoutUnits in RenderBox
https://bugs.webkit.org/show_bug.cgi?id=80039

Reviewed by Julien Chaffraix.

Updating the usage of integers versus LayoutUnits in RenderBox to mirror the
subpixellayout branch. This reverts absoluteRects, intrinsicSize, and focusRingRects
methods to use integers, and flipForWritingMode functions to LayoutUnits.

No new tests. No change in behavior.

* platform/graphics/FractionalLayoutRect.h:
(WebCore::FractionalLayoutRect::pixelSnappedX): Convenience methods that only calculate
the needed values. This requires less computation than pixelSnappedIntRect(r).x().
(WebCore::FractionalLayoutRect::pixelSnappedY): Ditto.
(WebCore::FractionalLayoutRect::pixelSnappedWidth): Ditto.
(WebCore::FractionalLayoutRect::pixelSnappedHeight): Ditto.
(WebCore::FractionalLayoutRect::pixelSnappedMaxX): Ditto.
(WebCore::FractionalLayoutRect::pixelSnappedMaxY): Ditto.
(FractionalLayoutRect):
* platform/graphics/IntRect.h:
(IntRect):
(WebCore::IntRect::pixelSnappedX): Stub methods to allow us to use IntRects like we do
FractionalLayoutRects.
(WebCore::IntRect::pixelSnappedY): Ditto.
(WebCore::IntRect::pixelSnappedMaxX): Ditto.
(WebCore::IntRect::pixelSnappedMaxY): Ditto.
(WebCore::IntRect::pixelSnappedWidth): Ditto.
(WebCore::IntRect::pixelSnappedHeight): Ditto.
* rendering/LayoutTypes.h:
(WebCore::pixelSnappedIntRect): Convenience method for building a pixelSnappedIntRect from
a LayoutPoint and LayoutSize without constructing an intermediate LayoutRect.
(WebCore):
(WebCore::snapSizeToPixel): Stub method for snapping a LayoutUnit representing a size to
its pixel value using its location.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::pixelSnappedClientWidth): Changing to actually call snapSizeToPixel.
(WebCore::RenderBox::pixelSnappedClientHeight): Ditto.
(WebCore::RenderBox::absoluteRects): Switching to return IntRects that represent the actual
rendered location on screen.
(WebCore::RenderBox::addFocusRingRects): Ditto.
(WebCore::RenderBox::paintFillLayer): One-liner switching an IntSize() to LayoutSize() to
avoid unnecessary conversion.
(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): Preparing for the conversion by
replacing 0 with zeroLayoutUnit.
(WebCore::RenderBox::positionLineBox): Preparing for conversion by replacing lroundf
with roundedLayoutUnit.
(WebCore::RenderBox::flipForWritingMode): Switching to use LayoutUnits.
* rendering/RenderBox.h:
(RenderBox):
(WebCore::RenderBox::pixelSnappedBorderBoxRect): Convenience method.
(WebCore::RenderBox::borderBoundingBox): Converting to a pixelSnappedIntRect.
(WebCore::RenderBox::intrinsicSize): Intrinsic sizes should always be integers.

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

7 years agoAdd basic support for constant blinding to the JIT
oliver@apple.com [Tue, 6 Mar 2012 02:40:05 +0000 (02:40 +0000)]
Add basic support for constant blinding to the JIT
https://bugs.webkit.org/show_bug.cgi?id=80354

Reviewed by Filip Pizlo.

This patch adds basic constant blinding support to the JIT, at the
MacroAssembler level.  This means all JITs in JSC (Yarr, baseline, and DFG)
get constant blinding.  Woo!

This patch only introduces blinding for Imm32, a later patch will do similar
for ImmPtr.  In order to make misuse of Imm32 as a trusted type essentially
impossible, we make TrustedImm32 a private parent of Imm32 and add an explicit
accessor that's needed to access the actual value.  This also means you cannot
accidentally pass an untrusted value to a function that does not perform
blinding.

To make everything work sensibly, this patch also corrects some code that was using
Imm32 when TrustedImm32 could be used, and refactors a few callers that use
untrusted immediates, so that they call slightly different varaints of the functions
that they used previously.  This is largely necessary to deal with x86-32 not having
sufficient registers to handle the additional work required when we choose to blind
a constant.

* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::Imm32::asTrustedImm32):
(Imm32):
(JSC::AbstractMacroAssembler::beginUninterruptedSequence):
(JSC::AbstractMacroAssembler::endUninterruptedSequence):
(JSC::AbstractMacroAssembler::AbstractMacroAssembler):
(AbstractMacroAssembler):
(JSC::AbstractMacroAssembler::inUninterruptedSequence):
(JSC::AbstractMacroAssembler::random):
(JSC::AbstractMacroAssembler::scratchRegisterForBlinding):
(JSC::AbstractMacroAssembler::shouldBlindForSpecificArch):
* assembler/MacroAssembler.h:
(JSC::MacroAssembler::addressForPoke):
(MacroAssembler):
(JSC::MacroAssembler::poke):
(JSC::MacroAssembler::branchPtr):
(JSC::MacroAssembler::branch32):
(JSC::MacroAssembler::convertInt32ToDouble):
(JSC::MacroAssembler::shouldBlind):
(JSC::MacroAssembler::BlindedImm32::BlindedImm32):
(BlindedImm32):
(JSC::MacroAssembler::keyForConstant):
(JSC::MacroAssembler::xorBlindConstant):
(JSC::MacroAssembler::additionBlindedConstant):
(JSC::MacroAssembler::andBlindedConstant):
(JSC::MacroAssembler::orBlindedConstant):
(JSC::MacroAssembler::loadXorBlindedConstant):
(JSC::MacroAssembler::add32):
(JSC::MacroAssembler::addPtr):
(JSC::MacroAssembler::and32):
(JSC::MacroAssembler::andPtr):
(JSC::MacroAssembler::move):
(JSC::MacroAssembler::or32):
(JSC::MacroAssembler::store32):
(JSC::MacroAssembler::sub32):
(JSC::MacroAssembler::subPtr):
(JSC::MacroAssembler::xor32):
(JSC::MacroAssembler::branchAdd32):
(JSC::MacroAssembler::branchMul32):
(JSC::MacroAssembler::branchSub32):
(JSC::MacroAssembler::trustedImm32ForShift):
(JSC::MacroAssembler::lshift32):
(JSC::MacroAssembler::rshift32):
(JSC::MacroAssembler::urshift32):
* assembler/MacroAssemblerARMv7.h:
(MacroAssemblerARMv7):
(JSC::MacroAssemblerARMv7::scratchRegisterForBlinding):
(JSC::MacroAssemblerARMv7::shouldBlindForSpecificArch):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::branchSubPtr):
(MacroAssemblerX86_64):
(JSC::MacroAssemblerX86_64::scratchRegisterForBlinding):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::compileBody):
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileDoubleCompare):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileDoubleCompare):
(JSC::DFG::SpeculativeJIT::compile):
* jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JITArithmetic.cpp:
(JSC::JIT::compileBinaryArithOp):
(JSC::JIT::emit_op_add):
(JSC::JIT::emit_op_mul):
(JSC::JIT::emit_op_div):
* jit/JITArithmetic32_64.cpp:
(JSC::JIT::emitAdd32Constant):
(JSC::JIT::emitSub32Constant):
(JSC::JIT::emitBinaryDoubleOp):
(JSC::JIT::emitSlow_op_mul):
(JSC::JIT::emit_op_div):
* jit/JITCall.cpp:
(JSC::JIT::compileLoadVarargs):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileLoadVarargs):
* jit/JITInlineMethods.h:
(JSC::JIT::updateTopCallFrame):
(JSC::JIT::emitValueProfilingSite):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emitSlow_op_jfalse):
(JSC::JIT::emitSlow_op_jtrue):
* jit/JITStubCall.h:
(JITStubCall):
(JSC::JITStubCall::addArgument):
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::backtrack):

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

7 years agoWorkerContext shouldn't need to know about SQLDatabase
abarth@webkit.org [Tue, 6 Mar 2012 02:30:28 +0000 (02:30 +0000)]
WorkerContext shouldn't need to know about SQLDatabase
https://bugs.webkit.org/show_bug.cgi?id=80352

Reviewed by Eric Seidel.

This patch removes the SQLDatabase functions from WorkerContext in
preparation for moving the SQLDatabase code into a module.  These
functions don't interact with the rest of WorkerContext.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* storage/DOMWindowSQLDatabase.cpp:
* storage/WorkerContextSQLDatabase.cpp: Added.
(WebCore):
(WebCore::WorkerContextSQLDatabase::openDatabase):
(WebCore::WorkerContextSQLDatabase::openDatabaseSync):
* storage/WorkerContextSQLDatabase.h: Added.
(WebCore):
(WorkerContextSQLDatabase):
(WebCore::WorkerContextSQLDatabase::WorkerContextSQLDatabase):
(WebCore::WorkerContextSQLDatabase::~WorkerContextSQLDatabase):
* storage/WorkerContextSQLDatabase.idl: Added.
* workers/WorkerContext.cpp:
(WebCore):
* workers/WorkerContext.h:
(WebCore):
(WorkerContext):
* workers/WorkerContext.idl:

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

7 years ago[WebSocket] Introduce ThreadableWebSocketChannel::SendResult
bashi@chromium.org [Tue, 6 Mar 2012 02:11:17 +0000 (02:11 +0000)]
[WebSocket] Introduce ThreadableWebSocketChannel::SendResult
https://bugs.webkit.org/show_bug.cgi?id=80356

Reviewed by Kent Tamura.

Introduced ThreadableWebSocketChannel::SendResult type so that
WebSocketChannel can pass the validation result.

No new test. No changes in behavior.

* Modules/websockets/ThreadableWebSocketChannel.h: Added SendResult.
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
(WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult): Use ThreadableWebSocketChannel::SendResult instead of bool.
(WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult): Ditto.
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
(ThreadableWebSocketChannelClientWrapper):
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool. Pass Cstring to enqueTextFrame instead of String.
(WebCore::WebSocketChannel::enqueueTextFrame): Ditto.
(WebCore::WebSocketChannel::processOutgoingFrameQueue): Ditto.
* Modules/websockets/WebSocketChannel.h:
(WebSocketChannel):
(QueuedFrame): Changed the type of stringData from String to CString.
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool.
(WebCore::workerContextDidSend): Ditto.
(WebCore::WorkerThreadableWebSocketChannel::Peer::send): Ditto.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Ditto.
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
(WorkerThreadableWebSocketChannel): ditto.
(Bridge): Ditto.

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

7 years agoThere should be a way to disable optimizer in webkit-patch rebaseline-expectations
dpranke@chromium.org [Tue, 6 Mar 2012 02:04:22 +0000 (02:04 +0000)]
There should be a way to disable optimizer in webkit-patch rebaseline-expectations
https://bugs.webkit.org/show_bug.cgi?id=69590

Reviewed by Ryosuke Niwa.

Adds a --no-optimize flag to webkit-patch rebaseline-expectations
to skip the 'optimize-expectations' step.

* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineExpectations.__init__):
(RebaselineExpectations.execute):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

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

7 years agoadd tests for multiline flexbox and flex-pack
tony@chromium.org [Tue, 6 Mar 2012 01:56:28 +0000 (01:56 +0000)]
add tests for multiline flexbox and flex-pack
https://bugs.webkit.org/show_bug.cgi?id=80342

Reviewed by Ojan Vafai.

* css3/flexbox/multiline-pack-expected.txt: Added.
* css3/flexbox/multiline-pack.html: Added.

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

7 years ago[JSC] Cache the CSSPropertyID in JSCSSStyleDeclaration
haraken@chromium.org [Tue, 6 Mar 2012 01:51:01 +0000 (01:51 +0000)]
[JSC] Cache the CSSPropertyID in JSCSSStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=80250

Reviewed by Benjamin Poulain.

V8CSSStyleDeclaration caches the calculated CSSPropertyID.
Similarly, we can implement the cache in JSCSSStyleDeclaration.

In my local Mac environment, this optimization improves the performance
of CSS property getters by 35%, and the performance of CSS property setters
by 8%.

CSS property getter: for (var i = 0; i < 1000000; i++) span.style.fontWeight;
CSS property setter: for (var i = 0; i < 1000000; i++) span.style.fontWeight = "bold";

Tests: fast/dom/CSSStyleDeclaration/* (No change in test results)

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(CSSPropertyInfo):
(WebCore):
(WebCore::cssPropertyIDForJSCSSPropertyName):
(WebCore::JSCSSStyleDeclaration::nameGetter):
(WebCore::JSCSSStyleDeclaration::putDelegate):

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

7 years agoBasic IndexedDB shared worker test
dgrogan@chromium.org [Tue, 6 Mar 2012 01:41:54 +0000 (01:41 +0000)]
Basic IndexedDB shared worker test
https://bugs.webkit.org/show_bug.cgi?id=80189

Reviewed by Tony Chang.

* fast/js/resources/js-test-pre.js:
(startWorker.worker.port.onmessage):
* platform/chromium/test_expectations.txt:
* storage/indexeddb/basics-shared-workers-expected.txt: Added.
* storage/indexeddb/basics-shared-workers.html: Added.
* storage/indexeddb/resources/shared.js:
(.self.postMessage):
(.self.onconnect.self.postMessage):
(.self.onconnect):
(done):
(unexpectedErrorCallback):

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

7 years ago[Chromium] WebOptionElement should inherit WebElement instead of WebFormControlElement
commit-queue@webkit.org [Tue, 6 Mar 2012 01:38:58 +0000 (01:38 +0000)]
[Chromium] WebOptionElement should inherit WebElement instead of WebFormControlElement
https://bugs.webkit.org/show_bug.cgi?id=80089

Change class hierarchy of WebOptionElement to match with specification.

Patch by Yoshifumi Inoue <yosin@chromium.org> on 2012-03-05
Reviewed by Darin Fisher.

* public/WebOptionElement.h: Replace to WebElement from WebFormControlElement
(WebKit::WebOptionElement::WebOptionElement):
(WebKit::WebOptionElement::operator=):
(WebKit::WebOptionElement::assign):
* src/WebOptionElement.cpp:
(WebKit::WebOptionElement::WebOptionElement):

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

7 years agoCan't type on some websites (plug-ins steal key events).
enrica@apple.com [Tue, 6 Mar 2012 01:35:47 +0000 (01:35 +0000)]
Can't type on some websites (plug-ins steal key events).
<rdar://problem/10892291>

When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier
in order to return the correct input context. Failure to do so results in the inputContext
method to return the plugin input context instead of the context of the browser view.

Reviewed by Sam Weinig.

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

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

7 years agoIndexedDB: Handle LevelDB database corruption
jsbell@chromium.org [Tue, 6 Mar 2012 01:33:34 +0000 (01:33 +0000)]
IndexedDB: Handle LevelDB database corruption
https://bugs.webkit.org/show_bug.cgi?id=79413

Source/WebCore:

Add LevelDBDatabase::destroy() method so that clients can retry if open() fails.

Reviewed by Tony Chang.

Test: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.CorruptionTest'

* Modules/indexeddb/IDBLevelDBBackingStore.cpp: Implement open/destroy/open strategy.
(WebCore::IDBLevelDBBackingStore::open):
* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBDatabase::destroy):
(WebCore):
* platform/leveldb/LevelDBDatabase.h:
(LevelDBDatabase):

Source/WebKit/chromium:

Reviewed by Tony Chang.

* WebKit.gypi:
* tests/LevelDBTest.cpp: Added.
(WebCore):
(SimpleComparator):
(WebCore::SimpleComparator::compare):
(WebCore::SimpleComparator::name):
(WebCore::encodeString):
(WebCore::TEST):

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

7 years agoputByIndex should throw in strict mode
barraclough@apple.com [Tue, 6 Mar 2012 01:18:42 +0000 (01:18 +0000)]
putByIndex should throw in strict mode
https://bugs.webkit.org/show_bug.cgi?id=80335

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

We'll need to pass an additional parameter.

Part 1 - rename JSValue::put() for integer indices to JSValue::putByIndex()
to match the method in the MethodTable, make this take a parameter indicating
whether the put should throw. This fixes the cases where the base of the put
is a primitive.

* dfg/DFGOperations.cpp:
(DFG):
(JSC::DFG::putByVal):
(JSC::DFG::operationPutByValInternal):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::privateExecute):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* runtime/JSObject.h:
(JSC::JSValue::putByIndex):
* runtime/JSValue.cpp:
(JSC):
* runtime/JSValue.h:
(JSValue):

LayoutTests:

* fast/js/primitive-property-access-edge-cases-expected.txt:
* fast/js/script-tests/primitive-property-access-edge-cases.js:
(checkNumericGet.Object.defineProperty):
(checkNumericSet.Object.defineProperty):
(checkNumericGetStrict.Object.defineProperty):
(checkNumericSetStrict.Object.defineProperty):
(checkNumericRead):
(checkNumericWrite):
(checkNumericReadStrict):
(checkNumericWriteStrict):
    - Added test cases.

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

7 years agoEnable context menu on android
commit-queue@webkit.org [Tue, 6 Mar 2012 01:18:12 +0000 (01:18 +0000)]
Enable context menu on android

For android, long press is converted into a right mouse down event
So we will use that to invoke the context menu
https://bugs.webkit.org/show_bug.cgi?id=80332

Patch by Min Qin <qinmin@google.com> on 2012-03-05
Reviewed by Adam Barth.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::mouseDown):

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

7 years agoPerf-o-matic should memcache dashboard images
rniwa@webkit.org [Tue, 6 Mar 2012 01:01:51 +0000 (01:01 +0000)]
Perf-o-matic should memcache dashboard images
https://bugs.webkit.org/show_bug.cgi?id=80349

Reviewed by Eric Seidel.

Added DashboardImage.create and DashboardImage.get_image to encapsulate memcache.
Also replaced transaction in DashboardImage.set_cache by a single put since it duplicates
what put does by default.

Also removed redundant cache_* functions and merged them into handler code.

* Websites/webkit-perf.appspot.com/controller.py:
(ManifestUpdateHandler.post):
(CachedManifestHandler.get):
(DashboardUpdateHandler.post):
(CachedDashboardHandler.get):
(RunsUpdateHandler):
(RunsUpdateHandler.post):
(RunsChartHandler):
(RunsChartHandler.post):
(DashboardImageHandler.get):
* Websites/webkit-perf.appspot.com/models.py:
(PersistentCache.set_cache):
(DashboardImage):
(DashboardImage.create):
(DashboardImage.get_image):
* Websites/webkit-perf.appspot.com/models_unittest.py:
(PersistentCacheTests.setUp):
(PersistentCacheTests.test_set_cache):
(PersistentCacheTests.test_get_cache):
(DashboardImageTests.setUp):
(DashboardImageTests):
(DashboardImageTests.test_create):
(DashboardImageTests.test_get):

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

7 years ago[Chromium] SVG Composite of Offset crashes
schenney@chromium.org [Tue, 6 Mar 2012 01:00:17 +0000 (01:00 +0000)]
[Chromium] SVG Composite of Offset crashes
https://bugs.webkit.org/show_bug.cgi?id=77245

Reviewed by Stephen White.

The feComposite arithmetic mode filter could readily be made to
generate invalid pre-multiplied pixel values which would then go on to
pollute other filters and cause invalid final output pixels. This
patch checks for filters that require valid inputs, and checks that a
result is valid, and corrects the result if necessary. This matches
the behavior of FF and Opera while preventing crashes or other
undesirable behavior.

Source/WebCore:

Test: svg/filters/feComposite-arithmetic-invalid-rgba.svg

* platform/graphics/filters/FEComposite.h: Override the default validity checks and image cleanup methods.
* platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::correctFilterResultIfNeeded): Force valid pixels if this is an arithmetic filter
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::apply): Check for validity status and correct
(WebCore::FilterEffect::forceValidPremultipliedPixels): Make an image valid
(WebCore):
* platform/graphics/filters/FilterEffect.h: New virtual methods for image validity.
(FilterEffect):
(WebCore::FilterEffect::requiresValidPreMulultipliedPixels):
(WebCore::FilterEffect::forceValidPremultipliedPixels):
(WebCore::FilterEffect::correctFilterResultIfNeeded):
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::postApplyResource): Check that the final filter result is valid

LayoutTests:

* svg/filters/feComposite-arithmetic-invalid-rgba-expected.svg: Added.
* svg/filters/feComposite-arithmetic-invalid-rgba.svg: Added.

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

7 years agoFix 32-bit builds.
timothy@apple.com [Tue, 6 Mar 2012 00:54:16 +0000 (00:54 +0000)]
Fix 32-bit builds.

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

7 years agogetComputedStyle gives incorrect information for 'height' property
alexis.menard@openbossa.org [Tue, 6 Mar 2012 00:51:37 +0000 (00:51 +0000)]
getComputedStyle gives incorrect information for 'height' property
https://bugs.webkit.org/show_bug.cgi?id=33593

Reviewed by David Hyatt.

Source/WebCore:

Make sure that the contentBoxRect doesn't take into account the
intrinsic padding when querying it. As stated by http://www.w3.org/TR/css3-box/#the-lsquo0
the height is the content area which doesn't include the intrinsic padding, the border, and
the padding.

Test: fast/css/getComputedStyle/getComputedStyle-height.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::removeNode):
* rendering/RenderBox.h:
(WebCore::RenderBox::contentBoxRect):
(WebCore::RenderBox::contentWidth):
(WebCore::RenderBox::contentHeight):
(WebCore::RenderBox::contentLogicalWidth):
(WebCore::RenderBox::contentLogicalHeight):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paddingTop):
(WebCore::RenderBoxModelObject::paddingBottom):
(WebCore::RenderBoxModelObject::paddingLeft):
(WebCore::RenderBoxModelObject::paddingRight):
(WebCore::RenderBoxModelObject::paddingBefore):
(WebCore::RenderBoxModelObject::paddingAfter):
(WebCore::RenderBoxModelObject::paddingStart):
(WebCore::RenderBoxModelObject::paddingEnd):
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paddingTop):
(WebCore::RenderTableCell::paddingBottom):
(WebCore::RenderTableCell::paddingLeft):
(WebCore::RenderTableCell::paddingRight):
(WebCore::RenderTableCell::paddingBefore):
(WebCore::RenderTableCell::paddingAfter):
(WebCore::RenderTableCell::cellBaselinePosition):
* rendering/RenderTableCell.h:
(RenderTableCell):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::firstLineBoxBaseline):

LayoutTests:

Make sure that the contentBoxRect doesn't take into account the
intrinsic padding.

* fast/css/getComputedStyle/getComputedStyle-height-expected.txt: Added.
* fast/css/getComputedStyle/getComputedStyle-height.html: Added.

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=80257
morrita@google.com [Tue, 6 Mar 2012 00:47:10 +0000 (00:47 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=80257
Lifecycle of InternalSettings should be simplified.

Reviewed by Ryosuke Niwa.

- Moved settings update code to separate restoreTo() method.
- Eliminated flags which indidate the changed field.
  Now these modifiable parameters are backed up at the initialization.

No new tests. Refactoring.

* testing/InternalSettings.cpp:
(WebCore::InternalSettings::create):
(WebCore::InternalSettings::InternalSettings):
(WebCore):
(WebCore::InternalSettings::restoreTo):
* testing/InternalSettings.h:
(InternalSettings):
* testing/Internals.cpp:
(WebCore::Internals::reset):

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

7 years ago[Chromium] Add new popup type: PagePopup
tkent@chromium.org [Tue, 6 Mar 2012 00:45:37 +0000 (00:45 +0000)]
[Chromium] Add new popup type: PagePopup
https://bugs.webkit.org/show_bug.cgi?id=80106

Reviewed by Darin Fisher.

Source/WebKit/chromium:

This is a preparation of implementing ChromeClient::openPagePopup and
closePagePopup.

* WebKit.gyp: Add WebPagePopup.h and WebPagePopupImpl.cpp.
* public/WebPagePopup.h:
(WebPagePopup): Add WebPagePopup interface.
* public/WebPopupType.h: Add WebPopupTypePage.
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopup::create): Temprary implementation which just returns 0.

Tools:

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::createPopupMenu):

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

7 years agoAdd myself as a reviewer.
jberlin@webkit.org [Tue, 6 Mar 2012 00:41:54 +0000 (00:41 +0000)]
Add myself as a reviewer.

* Scripts/webkitpy/common/config/committers.py:
Also, add my IRC nick so it is easier to find and yell at me.

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

7 years agoThe minimum font size WebSetting should actually change the LOGICAL font size in...
efidler@rim.com [Tue, 6 Mar 2012 00:31:39 +0000 (00:31 +0000)]
The minimum font size WebSetting should actually change the LOGICAL font size in WebCore.
https://bugs.webkit.org/show_bug.cgi?id=80312
RIM PR: 139874

Reviewed by George Staikos.

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

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

7 years agoThe Bugzilla autocompleter doesn't support multiple Unicode characters per name
commit-queue@webkit.org [Tue, 6 Mar 2012 00:20:33 +0000 (00:20 +0000)]
The Bugzilla autocompleter doesn't support multiple Unicode characters per name
https://bugs.webkit.org/show_bug.cgi?id=80319

Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2012-03-05
Reviewed by Adam Barth.

The current regular expression for matching Unicode characters uses
the global modifier, which means that it will never enter its second
iteration of the match-loop. This patch fixes this by removing the
global modifier from the regex.

* committers-autocomplete.js:
(WebKitCommitters):

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

7 years agoBe more aggressive about repainting page overlays
andersca@apple.com [Tue, 6 Mar 2012 00:13:55 +0000 (00:13 +0000)]
Be more aggressive about repainting page overlays
https://bugs.webkit.org/show_bug.cgi?id=80336
<rdar://problem/10965943>

Reviewed by Simon Fraser.

Source/WebCore:

Add a way to find out if a given GraphicsLayer is going to be repainted.

* WebCore.exp.in:
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::needsDisplay):
(GraphicsLayer):
* platform/graphics/ca/GraphicsLayerCA.h:

Source/WebKit2:

Whenever we're flushing layers and we have a page overlay, check if the main frame
has scrolled or if the main frame root content layer needs to be repainted and force the
overlay layer to be repainted if either of those conditions are true.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer):
(WebKit):

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

7 years agoTools: Correctly compute the positions of GestureScroll* events on
commit-queue@webkit.org [Tue, 6 Mar 2012 00:13:51 +0000 (00:13 +0000)]
Tools: Correctly compute the positions of GestureScroll* events on
Chromium.
https://bugs.webkit.org/show_bug.cgi?id=80075

Patch by Robert Kroeger <rjkroege@chromium.org> on 2012-03-05
Reviewed by Adam Barth.

* DumpRenderTree/chromium/EventSender.cpp:
(EventSender::reset):
(EventSender::gestureEvent):
* DumpRenderTree/chromium/EventSender.h:
(EventSender):

LayoutTests: Correct a test to work the same on Gtk and non-Gtk chromium in
the presence of correctly synthesized GestureScroll* events.
https://bugs.webkit.org/show_bug.cgi?id=80075

Patch by Robert Kroeger <rjkroege@chromium.org> on 2012-03-05
Reviewed by Adam Barth.

* fast/events/touch/gesture/gesture-scroll.html:

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

7 years agoflakiness dashboard doesn't display baselines for virtual tests correctly
dpranke@chromium.org [Tue, 6 Mar 2012 00:11:30 +0000 (00:11 +0000)]
flakiness dashboard doesn't display baselines for virtual tests correctly
https://bugs.webkit.org/show_bug.cgi?id=80341

Reviewed by Ojan Vafai.

If the test is part of a virtual test suite, we need to look for
baselines in the underlying fallback path for the actual test
being run, as well as baselines for the virtual version.

This patch adds code to handle both branches and also pulls the
mapping of the test suites up into a constant.

* TestResultServer/static-dashboards/flakiness_dashboard.html:
* TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
(testLookupVirtualTestSuite):
(testBaseTest):

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

7 years ago[BlackBerry] Upstream LayerRendererSurface.{cpp, h}
commit-queue@webkit.org [Mon, 5 Mar 2012 23:50:13 +0000 (23:50 +0000)]
[BlackBerry] Upstream LayerRendererSurface.{cpp, h}
https://bugs.webkit.org/show_bug.cgi?id=80122

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-03-05
Reviewed by Rob Buis.

Initial upstream, no new tests.

* PlatformBlackBerry.cmake:
* platform/graphics/blackberry/LayerRendererSurface.cpp: Added.
(WebCore):
(WebCore::LayerRendererSurface::LayerRendererSurface):
(WebCore::LayerRendererSurface::~LayerRendererSurface):
(WebCore::LayerRendererSurface::setContentRect):
(WebCore::LayerRendererSurface::drawRect):
(WebCore::LayerRendererSurface::ensureTexture):
(WebCore::LayerRendererSurface::releaseTexture):
* platform/graphics/blackberry/LayerRendererSurface.h: Added.
(WebCore):
(LayerRendererSurface):
(WebCore::LayerRendererSurface::size):
(WebCore::LayerRendererSurface::contentRect):
(WebCore::LayerRendererSurface::clipRect):
(WebCore::LayerRendererSurface::setClipRect):
(WebCore::LayerRendererSurface::setDrawTransform):
(WebCore::LayerRendererSurface::drawTransform):
(WebCore::LayerRendererSurface::setReplicaDrawTransform):
(WebCore::LayerRendererSurface::replicaDrawTransform):
(WebCore::LayerRendererSurface::texture):
(WebCore::LayerRendererSurface::drawOpacity):
(WebCore::LayerRendererSurface::setDrawOpacity):

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

7 years agoFix the SnowLeoaprd build.
weinig@apple.com [Mon, 5 Mar 2012 23:45:40 +0000 (23:45 +0000)]
Fix the SnowLeoaprd build.

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLeopard.a:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceSnowLeopard.a:

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

7 years ago[CSSRegions][CSSOM]Prevent creation of NamedFlow object for invalid flow name
mihnea@adobe.com [Mon, 5 Mar 2012 23:31:50 +0000 (23:31 +0000)]
[CSSRegions][CSSOM]Prevent creation of NamedFlow object for invalid flow name
https://bugs.webkit.org/show_bug.cgi?id=79685

Reviewed by David Hyatt.

Asking for a named flow with an invalid flow name should return a null object.

Source/WebCore:

Test: fast/regions/webkit-named-flow-invalid-name.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFlowThread):
(WebCore):
* css/CSSParser.h:
* dom/Document.cpp:
(WebCore::validFlowName):
(WebCore):
(WebCore::Document::webkitGetFlowByName):

LayoutTests:

* fast/regions/webkit-named-flow-invalid-name-expected.txt: Added.
* fast/regions/webkit-named-flow-invalid-name.html: Added.

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

7 years agounicode-bidi should support isolate override and override isolate
rniwa@webkit.org [Mon, 5 Mar 2012 23:09:22 +0000 (23:09 +0000)]
unicode-bidi should support isolate override and override isolate
https://bugs.webkit.org/show_bug.cgi?id=73164

Reviewed by Eric Seidel.

Source/WebCore:

Updated CSS parser and CSS style selector to support the union of bidi-override and isolate in
unicode-bidi property. Added OverrideIsolate to EUnicodeBidi instead of turning Override and Isolate
into bit flags to avoid increasing the number of bits required to store the unicodeBidi flag.

Also fixed a bug in RenderBlock::constructTextRun to actually check whether an isolated run's direction
is overridden or not when constructing one.

Tests: fast/css/unicode-bidi-computed-value.html
       fast/text/bidi-override-isolate.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::renderUnicodeBidiFlagsToCSSValue): Added; Create a CSSValueList when unicode-bidi has both
isolate and bidi-override specified.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):  Calls renderUnicodeBidiFlagsToCSSValue.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Support parsing combinations of -webkit-isolate and bidi-override;
Create a CSSValueList in such cases.
* css/CSSPrimitiveValueMappings.h:
(WebCore):
* css/CSSStyleApplyProperty.cpp:
(ApplyPropertyUnicodeBidi):
(WebCore::ApplyPropertyUnicodeBidi::applyValue): Support combinations of -webkit-isolate and
bidi-override. Set the unicodeBidi flag to OverrideIsolate in such cases.
(WebCore::ApplyPropertyUnicodeBidi::createHandler):
(WebCore):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* platform/text/UnicodeBidi.h: Added OverrideIsolate. We don't use bit flags to avoid increasing the
number of bits required to store flags especially because isolate and bidi-override are only values
that can be combined.
(WebCore::isIsolated):
(WebCore):
(WebCore::isOverride):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::constructTextRun):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::statusWithDirection): Takes isOverride; we used to assume it's always false.
(WebCore::constructBidiRuns): Instantiate isolatedResolver with a proper value of isOverride.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::determineStartPosition):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItemForeground):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::itemStyle):
(WebCore::RenderMenuList::menuStyle):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::menuStyle):
* rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::constructTextRun):

LayoutTests:

Added a test for retrieving computed value of unicode-bidi property
and also added a test to render "unicode-bidi: -webkit-isolate bidi-override".

* fast/css/unicode-bidi-computed-value-expected.txt: Added.
* fast/css/unicode-bidi-computed-value.html: Added.
* fast/text/bidi-override-isolate-expected.html: Added.
* fast/text/bidi-override-isolate.html: Added.

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

7 years agoReplace uses of x(), y() and width(), height() pairs with locationOffset and size()
eae@chromium.org [Mon, 5 Mar 2012 22:58:55 +0000 (22:58 +0000)]
Replace uses of x(), y() and width(), height() pairs with locationOffset and size()
https://bugs.webkit.org/show_bug.cgi?id=80196

Reviewed by Julien Chaffraix.

Replace IntSize(x(), y()) with locationOffset()
Replace IntSize(width(), height()) with size()
Replace IntRect(0, 0, width(), height()) with IntRect(IntPoint(), size())
Replace IntRect::move(x(), y()) with IntRect::move(locationOffset())

No new tests.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer):
(WebCore::HTMLCanvasElement::baseTransform):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::simplifiedLayout):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::computeRectForRepaint):
* rendering/RenderBox.h:
(WebCore::RenderBox::borderBoxRect):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::localSelectionRect):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::localSelectionRect):
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::updateScrollbarParts):
(WebCore::RenderScrollbar::buttonRect):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::setCellLogicalWidths):
(WebCore::RenderTableSection::layoutRows):
* rendering/RenderView.cpp:
(WebCore::RenderView::viewRect):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):

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

7 years agoAdd support for hosting layers in the window server in WebKit2
weinig@apple.com [Mon, 5 Mar 2012 22:53:43 +0000 (22:53 +0000)]
Add support for hosting layers in the window server in WebKit2
<rdar://problem/10400246>
https://bugs.webkit.org/show_bug.cgi?id=80310

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

* wtf/Platform.h:
Add HAVE_LAYER_HOSTING_IN_WINDOW_SERVER.

Source/WebKit2:

This currently only works if you are using TiledCoreAnimation drawing model.

* Platform/mac/LayerHostingContext.h: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.h.
* Platform/mac/LayerHostingContext.mm: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.mm.
(WebKit::LayerHostingContext::createForPort):
(WebKit::LayerHostingContext::LayerHostingContext):
(WebKit::LayerHostingContext::createForWindowServer):
(WebKit::LayerHostingContext::~LayerHostingContext):
(WebKit::LayerHostingContext::setRootLayer):
(WebKit::LayerHostingContext::rootLayer):
(WebKit::LayerHostingContext::contextID):
(WebKit::LayerHostingContext::invalidate):
Renamed RemoteLayerClient to LayerHostingContext and add ability to use the window server
as the remote context.

* PluginProcess/PluginControllerProxy.cpp:
* PluginProcess/PluginControllerProxy.h:
* PluginProcess/mac/PluginControllerProxyMac.mm:
Update for new names.

* Shared/LayerTreeContext.h:
Add LayerHostingMode enum.

* UIProcess/PageClient.h:
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::layerHostingMode):
(WebKit::PageClientImpl::updateAcceleratedCompositingMode):
Add PageClient access points to get the current layer hosting mode,
and a hook to tell the underlying view that the layer hosting context
has changed.

* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _updateAcceleratedCompositingMode:WebKit::]):
Implement responding to a new layer hosting context as a simple
exit and re-entrance of compositing.

* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::layerHostingModeDidChange):
(WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
* UIProcess/DrawingAreaProxy.messages.in:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
(TiledCoreAnimationDrawingAreaProxy):
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
Pipe layer hosting changes around.

* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::layerHostingMode):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::viewStateDidChange):
Cache the current layer hosting mode so we don't overzealously
tell the WebProcess to reset its context. Re-check layer hosting
mode each time we are added/removed from a window.

* WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
* WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
Update for new names.

* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::setDeviceScaleFactor):
(WebKit::DrawingArea::setLayerHostingMode):
* WebProcess/WebPage/DrawingArea.messages.in:
Pipe layer hosting changes around.

* WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
* WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
(WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
(WebKit::LayerTreeHostCAMac::platformInitialize):
(WebKit::LayerTreeHostCAMac::invalidate):
Update for new names.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
Respond to a change in the layer hosting mode by invalidating our old context,
making a new one of the right type, and informing the UIProcess of our new context.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

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

7 years ago[BlackBerry] Add missing method to PasteboardBlackBerry.cpp
rwlbuis@webkit.org [Mon, 5 Mar 2012 22:33:20 +0000 (22:33 +0000)]
[BlackBerry] Add missing method to PasteboardBlackBerry.cpp
https://bugs.webkit.org/show_bug.cgi?id=80326

Reviewed by Antonio Gomes.

Add missing method.

* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::writeClipboard):
(WebCore):

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

7 years agoUnreviewed, attempted build fix for !ENABLE(JIT) after r109705.
fpizlo@apple.com [Mon, 5 Mar 2012 22:10:57 +0000 (22:10 +0000)]
Unreviewed, attempted build fix for !ENABLE(JIT) after r109705.

* bytecode/ExecutionCounter.cpp:
(JSC::ExecutionCounter::applyMemoryUsageHeuristics):
* bytecode/ExecutionCounter.h:

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

7 years agoAlways update the scroll layer position on the main thread when we have an overlay
andersca@apple.com [Mon, 5 Mar 2012 22:01:15 +0000 (22:01 +0000)]
Always update the scroll layer position on the main thread when we have an overlay
https://bugs.webkit.org/show_bug.cgi?id=80324

Reviewed by Sam Weinig.

Source/WebCore:

Add a way to ensure that scroll layer position updates happen on the main thread.

* WebCore.exp.in:
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
(WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
(WebCore):
(WebCore::ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates):
* page/scrolling/ScrollingCoordinator.h:
(ScrollingCoordinator):

Source/WebKit2:

Call setForceMainThreadScrollLayerPositionUpdates when installing and uninstalling page overlays,
so we'll be able to synchronize painting between the tile cache and the page overlays.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):

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

7 years agoImplement flex-wrap: wrap
tony@chromium.org [Mon, 5 Mar 2012 21:59:10 +0000 (21:59 +0000)]
Implement flex-wrap: wrap
https://bugs.webkit.org/show_bug.cgi?id=79930

Reviewed by David Hyatt.

Source/WebCore:

Tests: css3/flexbox/multiline-align.html
       css3/flexbox/multiline.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::sizesToIntrinsicLogicalWidth): Don't apply column+stretch optimization to multiline.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::FlexOrderIterator::FlexOrderIterator):
(WebCore::RenderFlexibleBox::FlexOrderIterator::currentChild): Expose the current child so we can pause
in the middle of iteration and resume later.
(RenderFlexibleBox::FlexOrderIterator):
(WebCore::RenderFlexibleBox::isMultiline):
(WebCore):
(WebCore::RenderFlexibleBox::layoutFlexItems): Loop per line.
(WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Use the line space, not the whole container space.
(WebCore::RenderFlexibleBox::computeFlexOrder): Return true for each line.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use the line offset. Also compute the line height as we go.
(WebCore::RenderFlexibleBox::layoutColumnReverse): Use the line offset.
(WebCore::RenderFlexibleBox::alignChildren): Align based on the line height. For multiline + column, we have to relayout
since the width may change (same as the row case above). We'll have to do something smarter when we implement flex-line-pack.
* rendering/RenderFlexibleBox.h:
(RenderFlexibleBox):

LayoutTests:

* css3/flexbox/multiline-align-expected.txt: Added.
* css3/flexbox/multiline-align.html: Added.
* css3/flexbox/multiline-expected.txt: Added.
* css3/flexbox/multiline.html: Added.

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

7 years agoImplement WebGL extension EXT_texture_filter_anisotropic
commit-queue@webkit.org [Mon, 5 Mar 2012 21:52:07 +0000 (21:52 +0000)]
Implement WebGL extension EXT_texture_filter_anisotropic
https://bugs.webkit.org/show_bug.cgi?id=79541

This exports the EXT_texture_filter_anisotropic extension with the WEBKIT_ prefix as defined at
https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/extensions/proposals/EXT_texture_filter_anisotropic/index.html

Patch by Ben Vanik <benvanik@google.com> on 2012-03-05
Reviewed by Kenneth Russell.

Tested with the Khronos conformance test for the extension, available at https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/extensions/ext-texture-filter-anisotropic.html

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
* html/canvas/EXTTextureFilterAnisotropic.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
(WebCore):
(WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
(WebCore::EXTTextureFilterAnisotropic::~EXTTextureFilterAnisotropic):
(WebCore::EXTTextureFilterAnisotropic::getName):
(WebCore::EXTTextureFilterAnisotropic::create):
* html/canvas/EXTTextureFilterAnisotropic.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
(WebCore):
(EXTTextureFilterAnisotropic):
* html/canvas/EXTTextureFilterAnisotropic.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLObject.cpp:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::getTexParameter):
(WebCore::WebGLRenderingContext::texParameter):
* html/canvas/WebGLRenderingContext.h:
(WebCore):
(WebGLRenderingContext):
* platform/graphics/Extensions3D.h:
(Extensions3D):
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supports):

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

7 years ago[chromim] Mark http/tests/incremental/partial-jpeg.html as failing.
senorblanco@chromium.org [Mon, 5 Mar 2012 21:49:25 +0000 (21:49 +0000)]
[chromim] Mark http/tests/incremental/partial-jpeg.html as failing.

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years agoChange how the Web Inspector Develop menu actions work.
timothy@apple.com [Mon, 5 Mar 2012 21:45:32 +0000 (21:45 +0000)]
Change how the Web Inspector Develop menu actions work.

This removes the methods used by Safari's Develop menu. They can now be implemented in Safari.

https://webkit.org/b/80308

Reviewed by John Sullivan.

* UIProcess/API/C/mac/WKInspectorPrivateMac.h: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKInspectorMac.h.
* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter inspectorRef]): Added.
* WebKit2.xcodeproj/project.pbxproj: Renamed WKInspectorPrivateMac.h to better reflect its private nature.

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

7 years ago[chromium] Unreviewed, marking a test that is passing on linux as such.
tony@chromium.org [Mon, 5 Mar 2012 21:42:21 +0000 (21:42 +0000)]
[chromium] Unreviewed, marking a test that is passing on linux as such.

platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
is passing on the flakiness dashboard.

* platform/chromium/test_expectations.txt:

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

7 years ago FileReader crashes when file is not readable
ap@apple.com [Mon, 5 Mar 2012 21:40:59 +0000 (21:40 +0000)]
    FileReader crashes when file is not readable
        https://bugs.webkit.org/show_bug.cgi?id=79715

        Unreviewed follow-up - skip the test as uses unimplemented beginDragWithFiles.

        * platform/wk2/Skipped:

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

7 years agoUnreviewed, rolling out r109760.
commit-queue@webkit.org [Mon, 5 Mar 2012 21:33:44 +0000 (21:33 +0000)]
Unreviewed, rolling out r109760.
http://trac.webkit.org/changeset/109760
https://bugs.webkit.org/show_bug.cgi?id=80320

Caused many GTK+ tests to crash (Requested by mrobinson on
#webkit).

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

.:

* configure.ac:

Source/WebCore:

* platform/network/ResourceHandleClient.h:
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore):
(WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::didReceiveResponse):
(WebCore::WebCoreSynchronousLoader::didReceiveData):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::WebCoreSynchronousLoader::run):
(WebCore::closeCallback):
(WebCore::readCallback):
(WebCore::ResourceHandle::defaultSession):

Tools:

* gtk/jhbuild.modules:

LayoutTests:

* http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers-expected.txt: Removed.
* http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers.html: Removed.

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

7 years agoNever dispatch mutation events in shadow DOM
adamk@chromium.org [Mon, 5 Mar 2012 21:29:44 +0000 (21:29 +0000)]
Never dispatch mutation events in shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=79278

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/dom/shadow/suppress-mutation-events-in-shadow.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren): Move allowEventDispatch() call later,
now that childrenChanged won't trigger mutation events in shadow dom.
(WebCore::dispatchChildInsertionEvents): Bail out if in shadow tree.
(WebCore::dispatchChildRemovalEvents): ditto.
* dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent): ditto.

LayoutTests:

* fast/dom/shadow/suppress-mutation-events-in-shadow-expected.txt: Added.
* fast/dom/shadow/suppress-mutation-events-in-shadow.html: Added.

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

7 years ago BlobResourceHandle should keep a reference to itself when calling client...
ap@apple.com [Mon, 5 Mar 2012 21:16:30 +0000 (21:16 +0000)]
    BlobResourceHandle should keep a reference to itself when calling client code.
        https://bugs.webkit.org/show_bug.cgi?id=80318

        Reviewed by Brady Eidson.

        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::doStart):
        (WebCore::BlobResourceHandle::getSizeForNext):
        (WebCore::BlobResourceHandle::readSync):
        (WebCore::BlobResourceHandle::readDataAsync):
        (WebCore::BlobResourceHandle::consumeData):
        (WebCore::BlobResourceHandle::failed):
        Added RefPtrs in functions that can result in calling client code, and use "this" object afterwards.

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

7 years agoLet RenderLayerCompositor set the tile cache visible rect
andersca@apple.com [Mon, 5 Mar 2012 21:10:23 +0000 (21:10 +0000)]
Let RenderLayerCompositor set the tile cache visible rect
https://bugs.webkit.org/show_bug.cgi?id=80317

Reviewed by Simon Fraser.

We can't compute the visible rect from CALayers, because that breaks when we're updating
the scroll layer position on the main thread (since by the time visibleRectChanged() is called,
the CALayers won't yet have been updated).

* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::visibleRectChanged):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::visibleRectChanged):
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):
* platform/graphics/ca/PlatformCALayer.h:
(PlatformCALayer):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::visibleRectChanged):
* platform/graphics/ca/mac/TileCache.h:
(TileCache):
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::visibleRectChanged):
(WebCore::TileCache::revalidateTiles):
* platform/graphics/ca/mac/WebTileCacheLayer.h:
(WebCore):
* platform/graphics/ca/mac/WebTileCacheLayer.mm:
(-[WebTileCacheLayer visibleRectChanged:]):
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayer::visibleRectChanged):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidScroll):

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

7 years ago[CMake][DRT] Add WebCoreTestSupport.
paroga@webkit.org [Mon, 5 Mar 2012 21:02:31 +0000 (21:02 +0000)]
[CMake][DRT] Add WebCoreTestSupport.
https://bugs.webkit.org/show_bug.cgi?id=79896

Patch by Kangil Han <kangil.han@samsung.com> on 2012-03-05
Reviewed by Daniel Bates.

Add WebCoreTestSupport library for DRT in CMake.
We will use internals object by linking this library on DRT.

.:

* CMakeLists.txt:

Source/WebCore:

* CMakeLists.txt:
* UseJSC.cmake:
* UseV8.cmake:

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

7 years agoUpdate WebKitSystemInterface for WKCAContext additions.
weinig@apple.com [Mon, 5 Mar 2012 21:00:02 +0000 (21:00 +0000)]
Update WebKitSystemInterface for WKCAContext additions.

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLeopard.a:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceSnowLeopard.a:

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

7 years agoUnreviewed, rolling out r109656.
commit-queue@webkit.org [Mon, 5 Mar 2012 20:44:00 +0000 (20:44 +0000)]
Unreviewed, rolling out r109656.
http://trac.webkit.org/changeset/109656
https://bugs.webkit.org/show_bug.cgi?id=80316

This seems to have regressed Parser/html5-full-render by about
10% (Requested by anttik on #webkit).

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

Source/WebCore:

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::getPositionOffsetValue):
(WebCore::getBorderRadiusCornerValues):
(WebCore::getBorderRadiusCornerValue):
(WebCore::getBorderRadiusShorthandValue):
(WebCore::lineHeightFromStyle):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::createPrimitiveNumericValue):
(WebCore::unitFromString):
(WebCore::CSSParser::parseValidPrimitive):
(WebCore::CSSParser::detectNumberToken):
* css/CSSPrimitiveValue.cpp:
(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::unitCategory):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
(WebCore::CSSPrimitiveValue::customCssText):
* css/CSSPrimitiveValue.h:
(CSSPrimitiveValue):
* css/CSSPrimitiveValue.idl:
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* dom/Document.cpp:
(WebCore::Document::pageSizeAndMarginsInPixels):
(WebCore):
* dom/Document.h:
(Document):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::getRegion):
* platform/Length.h:
(WebCore::Length::calcValue):
(WebCore::Length::calcMinValue):
(WebCore::Length::calcFloatValue):
(WebCore::Length::blend):
* rendering/RenderBR.cpp:
(WebCore::RenderBR::lineHeight):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::lineHeight):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::reflectionOffset):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::clipRect):
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
(WebCore::RenderBox::computeInlineDirectionMargins):
(WebCore::RenderBox::computeLogicalHeightUsing):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::computeBlockDirectionMargins):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalHeightUsing):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced):
(WebCore::RenderBox::computePositionedLogicalHeightReplaced):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::relativePositionOffsetX):
(WebCore::RenderBoxModelObject::relativePositionOffsetY):
(WebCore::RenderBoxModelObject::paddingTop):
(WebCore::RenderBoxModelObject::paddingBottom):
(WebCore::RenderBoxModelObject::paddingLeft):
(WebCore::RenderBoxModelObject::paddingRight):
(WebCore::RenderBoxModelObject::paddingBefore):
(WebCore::RenderBoxModelObject::paddingAfter):
(WebCore::RenderBoxModelObject::paddingStart):
(WebCore::RenderBoxModelObject::paddingEnd):
(WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
(WebCore::RenderBoxModelObject::calculateFillTileSize):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::computeBorderImageSide):
(WebCore::RenderBoxModelObject::paintNinePieceImage):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::paintBoxShadow):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
(WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
* rendering/RenderInline.cpp:
(WebCore::computeMargin):
(WebCore::RenderInline::lineHeight):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::updateOptionsWidth):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
* rendering/RenderObject.h:
(RenderObject):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
* rendering/RenderScrollbarPart.cpp:
(WebCore::calcScrollbarThicknessUsing):
(WebCore::RenderScrollbarPart::computeScrollbarWidth):
(WebCore::RenderScrollbarPart::computeScrollbarHeight):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::logicalHeightForRowSizing):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
* rendering/RenderText.h:
(WebCore::RenderText::marginLeft):
(WebCore::RenderText::marginRight):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::verticalPositionForBox):
* rendering/style/RenderStyle.cpp:
(WebCore::calcRadiiFor):
(WebCore::RenderStyle::getRoundedBorderFor):
* rendering/style/RenderStyle.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::resolveLengthAttributeForSVG):
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):

LayoutTests:

* css3/viewport-relative-lengths/css3-viewport-relative-lengths-getStyle-expected.txt: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-getStyle.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-absolute-expected.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-absolute.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-expected.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-absolute-expected.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-absolute.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-expected.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-absolute-expected.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-absolute.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-expected.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw.html: Removed.
* fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/mac/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/Window/window-properties-expected.txt:
* platform/win/fast/dom/Window/window-properties-expected.txt:

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

7 years agoUnreviewed. Build fix for !ENABLE(JIT) after r109705.
paroga@webkit.org [Mon, 5 Mar 2012 20:35:55 +0000 (20:35 +0000)]
Unreviewed. Build fix for !ENABLE(JIT) after r109705.

* bytecode/ExecutionCounter.cpp:
* bytecode/ExecutionCounter.h:

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

7 years ago[BlackBerry] UTF chars printed back from cookie through php shows as ???
rwlbuis@webkit.org [Mon, 5 Mar 2012 20:28:18 +0000 (20:28 +0000)]
[BlackBerry] UTF chars printed back from cookie through php shows as ???
https://bugs.webkit.org/show_bug.cgi?id=80307

Reviewed by Antonio Gomes.

PR: 130055

we need to check the cookies encoding first and encode the cookie header data
to pass to the request.

* platform/network/blackberry/NetworkManager.cpp:
(WebCore::NetworkManager::startJob):

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

7 years agoUse a proper closing tag for shadow element layout test
adamk@chromium.org [Mon, 5 Mar 2012 20:15:29 +0000 (20:15 +0000)]
Use a proper closing tag for shadow element layout test
https://bugs.webkit.org/show_bug.cgi?id=80305

Reviewed by Adam Barth.

* fast/dom/shadow/shadow-element.html:

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

7 years ago[chromium] Remove old cleanupResources() code
commit-queue@webkit.org [Mon, 5 Mar 2012 20:05:43 +0000 (20:05 +0000)]
[chromium] Remove old cleanupResources() code
https://bugs.webkit.org/show_bug.cgi?id=80290

Patch by Dana Jansens <danakj@chromium.org> on 2012-03-05
Reviewed by Adrienne Walker.

cleanupResources() is only called by destructors, and adds no
value, any more, beyond the destructors themselves, but complicates
the code path.

Covered by existing tests.

* platform/graphics/chromium/cc/CCLayerImpl.cpp:
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
* platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
(WebCore::CCPluginLayerImpl::~CCPluginLayerImpl):
* platform/graphics/chromium/cc/CCPluginLayerImpl.h:
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::~CCRenderSurface):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(CCRenderSurface):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):

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

7 years agoPartially loaded JPEGs should have alpha channel
commit-queue@webkit.org [Mon, 5 Mar 2012 19:54:58 +0000 (19:54 +0000)]
Partially loaded JPEGs should have alpha channel
https://bugs.webkit.org/show_bug.cgi?id=78239

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-03-05
Reviewed by Kenneth Russell.

Source/WebCore:

While a JPEG image is loading, the area outside the decoded region
should be fully transparent. Since currently all JPEG frames are marked
as opaque, a renderer respecting this flag will draw the partially
loaded image with garbage outside the valid image region.

Hence, a partially loaded JPEG image should be marked as having an alpha
channel while decoding is in progress. For performance reasons we mark
the image opaque after decoding has finished.

Graphics corruption caused by this bug was recently observed on
Chromium (http://code.google.com/p/chromium/issues/detail?id=113171). A
recent Skia change (r3036) changed SkBitmap::extractSubset() to produce
a bitmap with the same opaqueness flag as the parent. This meant that
the renderer was now seeing an opaque image from the JPEG decoder, and
drawing it appropriately resulted in garbage outside the decoded region.

Test: http/tests/incremental/partial-jpeg.html

* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::outputScanlines):
(WebCore::JPEGImageDecoder::jpegComplete):

LayoutTests:

While a JPEG image is being loaded, the parts which have not been
decoded yet should show whatever is behind the image. This tests
verifies this by displaying a JPEG which never fully completes
loading. This is achieved by serving the JPEG from a PHP script that
strips the end of image marker (ff d9) from the data.

The test image is 32x32 pixels, so compresses to 4x4 JPEG MCU blocks.
The expected result is that the final row of MCU blocks (32x4 pixels)
never finishes loading due to the missing end of image marker and the
indicator div is shown through this area.

* http/tests/incremental/partial-jpeg-expected.png: Added.
* http/tests/incremental/partial-jpeg-expected.txt: Added.
* http/tests/incremental/partial-jpeg.html: Added.
* http/tests/incremental/resources/checkerboard.jpg: Added.
* http/tests/incremental/resources/partial-jpeg.php: Added.

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

7 years ago[chromium] Pass WebNavigationPolicy to WebViewClient::createView
commit-queue@webkit.org [Mon, 5 Mar 2012 19:50:05 +0000 (19:50 +0000)]
[chromium] Pass WebNavigationPolicy to WebViewClient::createView
https://bugs.webkit.org/show_bug.cgi?id=80057

Patch by Charlie Reis <creis@chromium.org> on 2012-03-05
Reviewed by Darin Fisher.

Source/WebKit/chromium:

* public/WebViewClient.h:
(WebViewClient):
(WebKit::WebViewClient::createView):
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::ChromeClientImpl):
(WebKit::ChromeClientImpl::createWindow):
(WebKit::ChromeClientImpl::getNavigationPolicy):
(WebKit):
(WebKit::ChromeClientImpl::show):
(WebKit::ChromeClientImpl::setNewWindowNavigationPolicy):
* src/ChromeClientImpl.h:
(ChromeClientImpl):
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::dispatchCreatePage):
(WebKit::FrameLoaderClientImpl::dispatchDecidePolicyForNewWindowAction):

Tools:

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::createView):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

7 years ago[chromium] Initialize CCOverdrawCounts struct to zero
commit-queue@webkit.org [Mon, 5 Mar 2012 19:47:25 +0000 (19:47 +0000)]
[chromium] Initialize CCOverdrawCounts struct to zero
https://bugs.webkit.org/show_bug.cgi?id=80204

Patch by James Robinson <jamesr@chromium.org> on 2012-03-05
Reviewed by Adrienne Walker.

Source/WebCore:

CCOverdrawCounts is stack allocated but not explicitly initialized, so the values are garbage. This adds a c'tor
to zero out the fields, which is the desired behavior.  Bug was initially caught by valgrind, see
http://crbug.com/116475

* platform/graphics/chromium/cc/CCRenderPass.h:
(WebCore::CCOverdrawCounts::CCOverdrawCounts):

Source/WebKit/chromium:

Update test to use c'tor instead of {} struct initialization.

* tests/CCQuadCullerTest.cpp:
(WebCore):

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

7 years agoAdd media control css for chromium on android
commit-queue@webkit.org [Mon, 5 Mar 2012 19:38:04 +0000 (19:38 +0000)]
Add media control css for chromium on android
https://bugs.webkit.org/show_bug.cgi?id=79550

Patch by Min Qin <qinmin@google.com> on 2012-03-05
Reviewed by Adam Barth.

This should not change the any test results as it does not affect the any current bots. New test expectations will be added if we have a android bot on webkit.

* WebCore.gyp/WebCore.gyp:
* css/mediaControlsChromiumAndroid.css: Added.
(body:-webkit-full-page-media):
(audio):
(audio:-webkit-full-page-media, video:-webkit-full-page-media):
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(video:-webkit-full-page-media::-webkit-media-controls-panel):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-timeline-container):
(video::-webkit-media-controls-timeline-container):
(audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
(audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
(video::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintMediaFullscreenButton):
(WebCore):
(WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
* rendering/RenderThemeChromiumAndroid.cpp:
(WebCore::RenderThemeChromiumAndroid::extraMediaControlsStyleSheet):
(WebCore):
(WebCore::RenderThemeChromiumAndroid::paintMediaFullscreenButton):
* rendering/RenderThemeChromiumAndroid.h:

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

7 years agoFix crash in ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition
andersca@apple.com [Mon, 5 Mar 2012 19:26:02 +0000 (19:26 +0000)]
Fix crash in ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition
https://bugs.webkit.org/show_bug.cgi?id=80303
<rdar://problem/10953682>

Reviewed by Beth Dakin.

Add the same null checks that already exist in updateMainFrameScrollPosition.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):

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

7 years agoUnreviewed test expectations update: widen slowness of jquery/offset.html.
adamk@chromium.org [Mon, 5 Mar 2012 19:00:26 +0000 (19:00 +0000)]
Unreviewed test expectations update: widen slowness of jquery/offset.html.

* platform/chromium/test_expectations.txt:

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