WebKit-https.git
7 years ago.: [WK2][EFL] Implementation of spellchecking feature.
commit-queue@webkit.org [Wed, 17 Oct 2012 10:30:52 +0000 (10:30 +0000)]
.: [WK2][EFL] Implementation of spellchecking feature.
https://bugs.webkit.org/show_bug.cgi?id=91854

Patch by Grzegorz Czajkowski  <g.czajkowski@samsung.com>, Michal Roj <m.roj@sasmung.com> on 2012-10-17
Reviewed by Gyuyoung Kim.

Define SPELLCHECK macro and enable it for WK2-Efl.
The spellchecking implementation is based on the Enchant library.
It can be used by other WebKit ports.

* Source/cmake/FindEnchant.cmake: Added.
* Source/cmake/OptionsEfl.cmake: Enable spellchecking feature for WebKit2-EFL.
* Source/cmake/WebKitFeatures.cmake: Define the SPELLCHECK macro.
* Source/cmakeconfig.h.cmake: Add the feature.

Source/WebCore: [WK2][EFL] Implementation of spellchecking feature.
https://bugs.webkit.org/show_bug.cgi?id=91854

Patch by Grzegorz Czajkowski  <g.czajkowski@samsung.com>, Michal Roj <m.roj@samsung.com> on 2012-10-17
Reviewed by Gyuyoung Kim.

* PlatformEfl.cmake:
Add enchant-related compiler flags: header paths and the library flag.

Source/WebKit2: Implementation of spellchecking feature.
https://bugs.webkit.org/show_bug.cgi?id=91854

Patch by Grzegorz Czajkowski  <g.czajkowski@samsung.com>, Michal Roj <m.roj@samsung.com> on 2012-10-17
Reviewed by Gyuyoung Kim.

Add spelling implementation for WebKit2-EFL that is based on Enchant library.

Additionally the patch provides API to overwrite the default WebKit
spellchecker implementation as Enchant library doesn't ensure grammar checking.
Application is able to overwrite it by defining its own implementation and
setting appropriate callback functions.

* PlatformEfl.cmake:
Add enchant-related compiler flags: header paths and the library flag.

* UIProcess/API/efl/EWebKit2.h:
Add ewk_text_checker.h to the main WebKit2-EFL's header to be available for applications.

* UIProcess/API/efl/WebKitTextChecker.cpp: Added.
Implement the callbacks functions of WKTextChecker.

(WebKit):
(WebKit::isContinuousSpellCheckingEnabled):
(WebKit::setContinuousSpellCheckingEnabled):
(WebKit::uniqueSpellDocumentTag):
(WebKit::closeSpellDocumentWithTag):
(WebKit::checkSpellingOfString):
(WebKit::guessesForWord):
(WebKit::learnWord):
(WebKit::ignoreWord):
Those functions are directly given as callback functions for WKTextChecker's client.
They choose between WebKit's spelling implementation and client's ones.

(WebKit::availableSpellCheckingLanguages):
(WebKit::updateSpellCheckingLanguages):
(WebKit::loadedSpellCheckingLanguages):
They are used by ewk_settings.cpp file and allow to do not
expose 'textCheckerEnchant'.

* UIProcess/API/efl/WebKitTextChecker.h: Added.
Define the functions which choose between WebKit's spelling implementation and
the client's ones.

(WebKit):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::_Ewk_Context):
Attach the spellchecker feature for the context.

* UIProcess/API/efl/ewk_text_checker.cpp: Added.
(ewk_text_checker_callbacks_get):
An internal function to get the client's callback functions.

* UIProcess/API/efl/ewk_text_checker.h: Added.
Define API to set the client's own spelling implementation.

* UIProcess/API/efl/ewk_text_checker_private.h: Added.
(_Ewk_Text_Checker):
Define the struct with the client's callbacks responisble for spelling.

* UIProcess/API/efl/ewk_settings.cpp:
(onContinuousSpellCheckingIdler):
The application is notified about the spelling setting change on idler
to do not block WebKit.
The the continuous spell checking may be changed through the context menu option.

(spellCheckingLanguagesSetUpdate):
The dictionaries are requested on 'idler' to do not block WebKit.

(spellCheckingLanguagesSet):
Set the languages.

(ewk_settings_continuous_spell_checking_change_cb_set):
Set the callback function used to notify the client when the spelling
setting was changed by WebKit.

(ewk_settings_continuous_spell_checking_enabled_get):
(ewk_settings_continuous_spell_checking_enabled_set):
API to set/get the continuous spell checking.

(ewk_settings_spell_checking_available_languages_get):
(ewk_settings_spell_checking_languages_set):
(ewk_settings_spell_checking_languages_get):
API to get/set languages to use by WebKit implementation based on Enchant library.

* UIProcess/efl/TextCheckerEfl.cpp:
(WebKit::TextChecker::state):
(WebKit::TextChecker::isContinuousSpellCheckingAllowed):
(WebKit::TextChecker::setContinuousSpellCheckingEnabled):
(WebKit::TextChecker::setGrammarCheckingEnabled):
(WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
(WebKit::TextChecker::grammarCheckingEnabledStateChanged):
(WebKit::TextChecker::uniqueSpellDocumentTag):
(WebKit::TextChecker::closeSpellDocumentWithTag):
(WebKit::TextChecker::checkSpellingOfString):
(WebKit::TextChecker::checkGrammarOfString): Remove WebCore namaspace as it's already defined for the whole file.
(WebKit::TextChecker::spellingUIIsShowing):
(WebKit::TextChecker::toggleSpellingUIIsShowing):
(WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
(WebKit::TextChecker::updateSpellingUIWithGrammarString):
(WebKit::TextChecker::getGuessesForWord):
(WebKit::TextChecker::learnWord):
(WebKit::TextChecker::ignoreWord):
Those call WKTextChecker client's methods.

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

7 years agoWeb Inspector: Avoid style updates when retrieving the inline stylesheet text
apavlov@chromium.org [Wed, 17 Oct 2012 10:24:41 +0000 (10:24 +0000)]
Web Inspector: Avoid style updates when retrieving the inline stylesheet text
https://bugs.webkit.org/show_bug.cgi?id=99576

Reviewed by Vsevolod Vlasov.

Avoid using innerText() to retrieve inline stylesheet text, which may result in style and layout updates.

* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::inlineStyleSheetText):

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

7 years agoBuild fix for WinCE after r131365.
paroga@webkit.org [Wed, 17 Oct 2012 10:20:11 +0000 (10:20 +0000)]
Build fix for WinCE after r131365.

* platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBufferAdvance::width):
* platform/graphics/wince/FontWinCE.cpp:
(WebCore::cursorToX):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::drawText):

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

7 years ago[EFL] Add background color to the checkbox theme.
commit-queue@webkit.org [Wed, 17 Oct 2012 10:08:53 +0000 (10:08 +0000)]
[EFL] Add background color to the checkbox theme.
https://bugs.webkit.org/show_bug.cgi?id=98788

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-10-17
Reviewed by Gyuyoung Kim.

Background color is added to the checkbox theme for identifying
checkbox status easily.

Checkbox theme uses images which has transparent background, and the
theme itself doesn't have the background color.

When the background of checkbox is black, checked/unchecked status
cannot be distinguished because check mark color is black.

And it is hard to identify whether the checkbox is disabled or not,
because there is no background color in the checkbox theme.

Instead of adding background color to the edc script, background
images are added because the shape of the check box can be various.

* DefaultTheme/widget/check/check.edc:
* DefaultTheme/widget/check/img_check_bg_enabled.png: Added.
* DefaultTheme/widget/check/img_check_bg_disabled.png: Added.

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

7 years ago[EFL][WK2] Ewk_Url_Scheme_Request has to be refactored
commit-queue@webkit.org [Wed, 17 Oct 2012 10:08:37 +0000 (10:08 +0000)]
[EFL][WK2] Ewk_Url_Scheme_Request has to be refactored
https://bugs.webkit.org/show_bug.cgi?id=99549

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

Ewk_Url_Scheme_Requestis inherited from RefCounted, WKEinaSharedString is used,
removed weird _Ewk_Url_Scheme_Request.

* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_context_request_manager_client.cpp:
(didReceiveURIRequest):
* UIProcess/API/efl/ewk_url_scheme_request.cpp:
(ewk_url_scheme_request_ref):
(ewk_url_scheme_request_unref):
* UIProcess/API/efl/ewk_url_scheme_request.h:
* UIProcess/API/efl/ewk_url_scheme_request_private.h:
(Ewk_Url_Scheme_Request):
(Ewk_Url_Scheme_Request::create):
(Ewk_Url_Scheme_Request::Ewk_Url_Scheme_Request):

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

7 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Wed, 17 Oct 2012 10:02:56 +0000 (10:02 +0000)]
[EFL] Unreviewed gardening.

Unskipping 4 cases after regression was fixed in r131229,
moving out a crash and incorrect console loggin on the wk2 bot.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

7 years agoV8 should throw a more descriptive exception when blocking 'eval' via CSP.
mkwst@chromium.org [Wed, 17 Oct 2012 10:00:17 +0000 (10:00 +0000)]
V8 should throw a more descriptive exception when blocking 'eval' via CSP.
https://bugs.webkit.org/show_bug.cgi?id=94332

Reviewed by Adam Barth.

Source/WebCore:

Following up on https://bugs.webkit.org/show_bug.cgi?id=94331, this
patch wires up the new error message mechanism to V8, and updates the
Chromium test expectations accordingly.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::disableEval):
    Pass 'errorMessage' through to V8.
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::initializeIfNeeded):
    Grab the error message from ContentSecurityPolicy, and pass it
    through to V8.
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
(WebCore::WorkerContextExecutionProxy::evaluate):
(WebCore::WorkerContextExecutionProxy::setEvalAllowed):
* bindings/v8/WorkerContextExecutionProxy.h:
(WorkerContextExecutionProxy):
    Convert 'm_disableEvalPending' to a string to store the current
    error message, and use it to set the eval state.
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::disableEval):
    Pass 'errorMessage' through to V8.

LayoutTests:

* platform/chromium/TestExpectations:
    Unskipping these tests, as this patch unbreaks them.
* platform/chromium/http/tests/security/contentSecurityPolicy/eval-blocked-expected.txt:
* platform/chromium/http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe-expected.txt:
* platform/chromium/http/tests/security/contentSecurityPolicy/function-constructor-blocked-expected.txt:
    Updating expectations with the new error message.

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

7 years agoAssertion failed on HTMLFormControlElement.cpp: updateFromElementCallback()
morrita@google.com [Wed, 17 Oct 2012 09:57:57 +0000 (09:57 +0000)]
Assertion failed on HTMLFormControlElement.cpp: updateFromElementCallback()
https://bugs.webkit.org/show_bug.cgi?id=99566

Reviewed by Kent Tamura.

Source/WebCore:

It had a too optimistic assertion. This change removes it.

Test: fast/forms/textarea/textarea-autofocus-removal-while-focusing.html

* html/HTMLFormControlElement.cpp:
(WebCore::updateFromElementCallback):

LayoutTests:

* fast/forms/textarea/textarea-autofocus-removal-while-focusing.txt: Added.
* fast/forms/textarea/textarea-autofocus-removal-while-focusing.html: Added.

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

7 years agoUnreviewed Chromium rebaselines.
antonm@chromium.org [Wed, 17 Oct 2012 09:43:48 +0000 (09:43 +0000)]
Unreviewed Chromium rebaselines.

* platform/chromium-mac-snowleopard/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.png:
* platform/chromium-mac/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.png:
* platform/chromium-win-xp/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.png: Added.

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

7 years agoWeb Inspector: When dirty uiSourceCode is saved to disk from scripts navigator contex...
vsevik@chromium.org [Wed, 17 Oct 2012 09:42:26 +0000 (09:42 +0000)]
Web Inspector: When dirty uiSourceCode is saved to disk from scripts navigator context menu working copy is not committed.
https://bugs.webkit.org/show_bug.cgi?id=99555

Reviewed by Yury Semikhatsky.

Save As context menu handler now commits working copy for dirty UISourceCodes.

* inspector/front-end/HandlerRegistry.js:

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

7 years ago[WK2][GTK] Unneeded GError field in internal structure in WebKitFaviconDatabase.cpp
mario@webkit.org [Wed, 17 Oct 2012 09:27:41 +0000 (09:27 +0000)]
[WK2][GTK] Unneeded GError field in internal structure in WebKitFaviconDatabase.cpp
https://bugs.webkit.org/show_bug.cgi?id=99564

Reviewed by Carlos Garcia Campos.

Removed field 'error' from GetFaviconSurfaceAsyncData and updated
the code accordingly, by using g_simple_async_result_take_error().

* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
(GetFaviconSurfaceAsyncData): Removed unneeded field.
(processPendingIconsForPageURL): Avoid using g_propagate_error and
use g_simple_async_result_take_error directly instead.
(webkit_favicon_database_get_favicon_finish): Remove unneeded code.

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

7 years agoWeb Inspector: Stylesheets saved with FileManager are not saved to disk when edited...
vsevik@chromium.org [Wed, 17 Oct 2012 08:52:16 +0000 (08:52 +0000)]
Web Inspector: Stylesheets saved with FileManager are not saved to disk when edited from Elements panel.
https://bugs.webkit.org/show_bug.cgi?id=99554

Reviewed by Yury Semikhatsky.

Moved saving to disk from SourceFrame to UISourceCode.

* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._commitEditing):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode.prototype._commitContent):

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

7 years agoWeb Inspector: [Regression] SASS sources are not saved to disk.
vsevik@chromium.org [Wed, 17 Oct 2012 08:49:14 +0000 (08:49 +0000)]
Web Inspector: [Regression] SASS sources are not saved to disk.
https://bugs.webkit.org/show_bug.cgi?id=99551

Reviewed by Yury Semikhatsky.

Added resource null checks.

* inspector/front-end/StylesSourceMapping.js:
(WebInspector.StylesSourceMapping.prototype._uiSourceCodeAddedToWorkspace):

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

7 years agoClean up ContentData operator overloads
commit-queue@webkit.org [Wed, 17 Oct 2012 08:18:07 +0000 (08:18 +0000)]
Clean up ContentData operator overloads
https://bugs.webkit.org/show_bug.cgi?id=99556

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-10-17
Reviewed by Eric Seidel.

Use virtual dispatch for checking ContentData equality instead
of a switch over the type. This the first step in getting rid
of the StyleContentType enum and all the switch statements over
the type().

No tests needed, this is just a refactor.

* rendering/style/ContentData.cpp:
* rendering/style/ContentData.h:
(ContentData):
(WebCore::operator==):
(WebCore):
(WebCore::operator!=):

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

7 years agoFix the build with a newer version of clang.
mrowe@apple.com [Wed, 17 Oct 2012 08:15:47 +0000 (08:15 +0000)]
Fix the build with a newer version of clang.

Reviewed by Dan Bernstein.

Source/WebKit/mac:

Some of the methods in WebCoreStatistics appear to have been added by someone not familiar with Objective-C.
While it's technically valid to have empty components in a selector, it's rarely done and is not consistent
with our style guidelines. In this particular case it's also done in such a manner that it's ambiguous and
therefore generates a warning in newer versions of the compiler.

Fixes <rdar://problem/12503709>.

* Misc/WebCoreStatistics.h: Remove unused methods and rename the two poorly-named methods that remain.
* Misc/WebCoreStatistics.mm: Ditto.
(-[WebFrame numberOfPagesWithPageWidth:pageHeight:]):
(-[WebFrame printToCGContext:pageWidth:pageHeight:]):

Tools:

Update to accommodate the renamed methods in WebCoreStatistics.

* DumpRenderTree/mac/PixelDumpSupportMac.mm:
(createPagedBitmapContext):

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

7 years ago[Qt] Unreviwed gardening. Skip failing reftest after r131497.
kadam@inf.u-szeged.hu [Wed, 17 Oct 2012 08:13:20 +0000 (08:13 +0000)]
[Qt] Unreviwed gardening. Skip failing reftest after r131497.
https://bugs.webkit.org/show_bug.cgi?id=98666

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-10-17

* platform/qt/TestExpectations: Skip fast/forms/range/input-appearance-range-rtl.html.

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

7 years agoNEON intrinsics Gauss filter does not work properly
rgabor@webkit.org [Wed, 17 Oct 2012 08:06:55 +0000 (08:06 +0000)]
NEON intrinsics Gauss filter does not work properly
https://bugs.webkit.org/show_bug.cgi?id=98875

Reviewed by Zoltan Herczeg.

Fixing the NEON intrinsics Gauss filter. The stride parameter
was missing from the intrinsics algorithm. Tested with pixel
checks, now it's working properly.

* platform/graphics/filters/arm/FEGaussianBlurNEON.h:
(WebCore::boxBlurNEON):

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

7 years agoCrash on Frame::inScope() part 2
morrita@google.com [Wed, 17 Oct 2012 08:00:16 +0000 (08:00 +0000)]
Crash on Frame::inScope() part 2
https://bugs.webkit.org/show_bug.cgi?id=99543

Reviewed by Kent Tamura.

FrameTree::scopedChildCount() can be called even when the one of child frames
is in orphan state. This change added a guard for that case.

No new tests. A hard-to-test timing issue.

* page/Frame.cpp:
(WebCore::Frame::inScope):

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

7 years agoWebKitTestRunner needs testRunner.queueLoad
commit-queue@webkit.org [Wed, 17 Oct 2012 07:54:23 +0000 (07:54 +0000)]
WebKitTestRunner needs testRunner.queueLoad
https://bugs.webkit.org/show_bug.cgi?id=42674

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

Tools:

Added testRunner.queueLoad() and testRunner.queueBackNavigation() implementation to WTR including
Work Queue implementation. Work Queue is managed by WorkQueueManager which belongs to UI process
(as the needed functionality, like loading initiation, has to be invoked from UI process) and
exchanges messages with Injected bundle.

* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/GNUmakefile.am:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::InjectedBundle):
(WTR::InjectedBundle::didReceiveMessage):
(WTR::InjectedBundle::done):
(WTR::InjectedBundle::shouldProcessWorkQueue):
(WTR):
(WTR::InjectedBundle::processWorkQueue):
(WTR::InjectedBundle::queueBackNavigation):
(WTR::InjectedBundle::queueLoad):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame):
(WTR::InjectedBundlePage::didFinishLoadForFrame):
(WTR::InjectedBundlePage::didFailLoadWithErrorForFrame):
(WTR::InjectedBundlePage::locationChangeForFrame):
(WTR):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
(InjectedBundlePage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::queueBackNavigation):
(WTR):
(WTR::TestRunner::queueLoad):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):
* WebKitTestRunner/Target.pri:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
* WebKitTestRunner/TestController.h:
(WTR::TestController::workQueueManager):
(TestController):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/WorkQueueManager.cpp: Added.
(WTR):
(WTR::mainPage):
(WTR::goToItemAtIndex):
(WTR::WorkQueueManager::WorkQueueManager):
(WTR::WorkQueueManager::clearWorkQueue):
(WTR::WorkQueueManager::processWorkQueue):
(WTR::WorkQueueManager::queueLoad):
(WTR::WorkQueueManager::queueBackNavigation):
(WTR::WorkQueueManager::enqueue):
* WebKitTestRunner/WorkQueueManager.h: Added.
(WTR):
(WorkQueueManager):
(WTR::WorkQueueManager::isWorkQueueEmpty):
(WorkQueueItem):
(WTR::WorkQueueManager::WorkQueueItem::~WorkQueueItem):
* WebKitTestRunner/win/WebKitTestRunner.vcproj:

LayoutTests:

Unskipped corresponding tests for WK2 and WK2 EFL, put those which still failing to appropriate groups.

* platform/efl-wk2/TestExpectations:
* platform/wk2/TestExpectations:

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

7 years agoRemove shadowAncestorNode() from VisibleSelection
shinyak@chromium.org [Wed, 17 Oct 2012 07:42:57 +0000 (07:42 +0000)]
Remove shadowAncestorNode() from VisibleSelection
https://bugs.webkit.org/show_bug.cgi?id=99544

Reviewed by Hajime Morita.

An effort to replace shadowAncestorNode() with shadowHost(), since shadowAncestorNode() is now deprecated.

No new tests, no change in behavior.

* editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): Since shadowHost() returns 0 if
an element is not in shadowRoot, it's ok to compare shadowAncestor to 0.

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

7 years ago[EFL][WK2] Start using OwnPtr for non-ref counted ewk types
commit-queue@webkit.org [Wed, 17 Oct 2012 07:28:44 +0000 (07:28 +0000)]
[EFL][WK2] Start using OwnPtr for non-ref counted ewk types
https://bugs.webkit.org/show_bug.cgi?id=99472

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Use OwnPtr internally for non-ref counted Ewk types to avoid
manual memory handling.

Private _new() and _free() functions are removed since they
are not needed now that the classes are defined in the
private headers instead of the cpp files. The constructor
for those classes was made private and factory methods were
added to encourage developers to use smart pointers instead
of raw ones.

* UIProcess/API/efl/ewk_back_forward_list.cpp:
(ewk_back_forward_list_changed):
* UIProcess/API/efl/ewk_back_forward_list_item_private.h:
* UIProcess/API/efl/ewk_back_forward_list_private.h:
(_Ewk_Back_Forward_List):
(_Ewk_Back_Forward_List::create):
(_Ewk_Back_Forward_List::_Ewk_Back_Forward_List):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context):
(_Ewk_Context::_Ewk_Context):
(ewk_context_cookie_manager_get):
(ewk_context_favicon_database_get):
* UIProcess/API/efl/ewk_context_download_client.cpp:
(didFail):
* UIProcess/API/efl/ewk_cookie_manager.cpp:
(_Ewk_Cookie_Manager::_Ewk_Cookie_Manager):
(_Ewk_Cookie_Manager::~_Ewk_Cookie_Manager):
(getAcceptPolicyCallback):
(getHostnamesWithCookiesCallback):
(ewk_cookie_manager_changes_watch):
* UIProcess/API/efl/ewk_cookie_manager_private.h:
(Cookie_Change_Handler):
(Cookie_Change_Handler::Cookie_Change_Handler):
(_Ewk_Cookie_Manager):
(_Ewk_Cookie_Manager::create):
* UIProcess/API/efl/ewk_error.cpp:
(_Ewk_Error::_Ewk_Error):
(ewk_error_cancellation_get):
* UIProcess/API/efl/ewk_error_private.h:
(_Ewk_Error):
(_Ewk_Error::create):
* UIProcess/API/efl/ewk_favicon_database.cpp:
(_Ewk_Favicon_Database::_Ewk_Favicon_Database):
* UIProcess/API/efl/ewk_favicon_database_private.h:
(IconChangeCallbackData):
(IconChangeCallbackData::IconChangeCallbackData):
(IconRequestCallbackData):
(IconRequestCallbackData::IconRequestCallbackData):
(_Ewk_Favicon_Database):
(_Ewk_Favicon_Database::create):
* UIProcess/API/efl/ewk_popup_menu_item.cpp:
(_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):
* UIProcess/API/efl/ewk_popup_menu_item_private.h:
(_Ewk_Popup_Menu_Item):
(_Ewk_Popup_Menu_Item::create):
* UIProcess/API/efl/ewk_url_scheme_request.cpp:
(_Ewk_Url_Scheme_Request::_Ewk_Url_Scheme_Request):
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(_ewk_view_initialize):
(ewk_view_back_forward_list_get):
(ewk_view_popup_menu_request):
(ewk_view_popup_menu_close):
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didFailLoadWithErrorForFrame):
(didFailProvisionalLoadWithErrorForFrame):
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didFailLoadForResource):

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

7 years agoContent of replaced elements should be trimmed to the content edge curve.
commit-queue@webkit.org [Wed, 17 Oct 2012 07:16:26 +0000 (07:16 +0000)]
Content of replaced elements should be trimmed to the content edge curve.
https://bugs.webkit.org/show_bug.cgi?id=63899

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2012-10-17
Reviewed by Simon Fraser.

Source/WebCore:

When a border-radius is specified the content of replaced elements needs to be clipped to avoid
being painted over the padding or border in the corners. Previously the clip that was applied
was set to the border-edge curve, this patch contracts the clip by the size of the border and
padding (the content-edge curve) to match the css3 spec.
Spec: http://www.w3.org/TR/css3-background/#corner-clipping

Test: fast/replaced/border-radius-clip-content-edge.html

* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):

LayoutTests:

* fast/replaced/border-radius-clip-content-edge-expected.txt: Added.
* fast/replaced/border-radius-clip-content-edge.html: Added.
* platform/fast/replaced/border-radius-clip-content-edge-expected.png: Added.
* platform/chromium/TestExpectations:
* platform/chromium-linux/fast/replaced/border-radius-clip-content-edge-expected.png: Added.
* platform/chromium-linux/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.png:

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

7 years ago[EFL][WK2] Use WTF RefCounted and RefPtr for Ewk_Resource and Ewk_Form_Submission_Request
commit-queue@webkit.org [Wed, 17 Oct 2012 07:10:41 +0000 (07:10 +0000)]
[EFL][WK2] Use WTF RefCounted and RefPtr for Ewk_Resource and Ewk_Form_Submission_Request
https://bugs.webkit.org/show_bug.cgi?id=99542

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Use WTF RefCounted and RefPtr for Ewk_Resource and Ewk_Form_Submission_Request
to avoid handling raw pointers internally.

* UIProcess/API/efl/ewk_form_submission_request.cpp:
(ewk_form_submission_request_ref):
(ewk_form_submission_request_unref):
(ewk_form_submission_request_submit):
* UIProcess/API/efl/ewk_form_submission_request_private.h:
(_Ewk_Form_Submission_Request):
(_Ewk_Form_Submission_Request::~_Ewk_Form_Submission_Request):
(_Ewk_Form_Submission_Request::create):
(_Ewk_Form_Submission_Request::_Ewk_Form_Submission_Request):
* UIProcess/API/efl/ewk_resource.cpp:
(ewk_resource_ref):
(ewk_resource_unref):
* UIProcess/API/efl/ewk_resource_private.h:
(_Ewk_Resource):
(_Ewk_Resource::create):
(_Ewk_Resource::_Ewk_Resource):
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(ewk_view_resource_load_initiated):
(ewk_view_resource_load_response):
(ewk_view_resource_load_failed):
(ewk_view_resource_load_finished):
(ewk_view_resource_request_sent):
(ewk_view_load_provisional_started):
* UIProcess/API/efl/ewk_view_form_client.cpp:
(willSubmitForm):
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didInitiateLoadForResource):

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

7 years agoThe HTML5 formtarget/formaction/formenctyp/formmethod/formnovalidate attributes don...
commit-queue@webkit.org [Wed, 17 Oct 2012 07:06:39 +0000 (07:06 +0000)]
The HTML5 formtarget/formaction/formenctyp/formmethod/formnovalidate attributes don't work in button tags with nested elements
https://bugs.webkit.org/show_bug.cgi?id=90539

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-10-17
Reviewed by Kent Tamura.

Source/WebCore:

Fix a bug where form(action|enctype|method|target) attributes of <button> are not
honored if the target of the click event is an element nested within the button.

Test: fast/forms/formaction-attribute.html

* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create): Looks for the attributes for form submission
from the nearest FormControlElement ancestor of the event target.

LayoutTests:

Added a test case to verify that formaction attribute of <button> element is
used when its child <span> is clicked.

* fast/forms/formaction-attribute-expected.txt:
* fast/forms/formaction-attribute.html: Removed unused doneAction2 variable.

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

7 years ago[EFL] Add background color to the radio button theme.
commit-queue@webkit.org [Wed, 17 Oct 2012 07:05:46 +0000 (07:05 +0000)]
[EFL] Add background color to the radio button theme.
https://bugs.webkit.org/show_bug.cgi?id=98852

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-10-17
Reviewed by Gyuyoung Kim.

Background color is added to the radio button theme for identifying
radio button status easily.

Radio button theme uses images which has transparent background.

When the background of radio button is black, checked/unchecked status
cannot be distinguished because check mark color is black.

And it is hard to identify whether the radio button is disabled or not,
because there is no background color in the radio button theme.

* DefaultTheme/widget/radio/img_radio_bg_disabled.png: Added.
* DefaultTheme/widget/radio/img_radio_bg_enabled.png: Added.
* DefaultTheme/widget/radio/radio.edc:

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

7 years agohtml5-full-render.html test uses substring but meant substr
commit-queue@webkit.org [Wed, 17 Oct 2012 06:50:45 +0000 (06:50 +0000)]
html5-full-render.html test uses substring but meant substr
https://bugs.webkit.org/show_bug.cgi?id=99495

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-10-16
Reviewed by Adam Barth.

This test intended to chunk up the HTML5 spec into chunks of 500k chars, but used
substring(to,from) instead of substr(from,length) so it actually loaded 5x more
content than was in the HTML5 spec.

* Parser/html5-full-render.html:

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

7 years agoUnreviewed, rolling out r131516 and r131550.
ossy@webkit.org [Wed, 17 Oct 2012 06:22:17 +0000 (06:22 +0000)]
Unreviewed, rolling out r131516 and r131550.
http://trac.webkit.org/changeset/131516
http://trac.webkit.org/changeset/131550
https://bugs.webkit.org/show_bug.cgi?id=99349

It caused zillion different problem on different platforms

Source/JavaScriptCore:

* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.cpp:
(JSC):
(JSC::isGlobalResolve):
(JSC::instructionOffsetForNth):
(JSC::printGlobalResolveInfo):
(JSC::CodeBlock::printStructures):
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::visitStructures):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::hasGlobalResolveInfoAtBytecodeOffset):
(JSC::CodeBlock::globalResolveInfoForBytecodeOffset):
(JSC::CodeBlock::shrinkToFit):
* bytecode/CodeBlock.h:
(CodeBlock):
(JSC::CodeBlock::addGlobalResolveInstruction):
(JSC::CodeBlock::addGlobalResolveInfo):
(JSC::CodeBlock::globalResolveInfo):
(JSC::CodeBlock::numberOfGlobalResolveInfos):
(JSC::CodeBlock::globalResolveInfoCount):
* bytecode/GlobalResolveInfo.h: Copied from Source/JavaScriptCore/bytecode/ResolveGlobalStatus.cpp.
(JSC):
(JSC::GlobalResolveInfo::GlobalResolveInfo):
(GlobalResolveInfo):
(JSC::getGlobalResolveInfoBytecodeOffset):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/ResolveGlobalStatus.cpp:
(JSC):
(JSC::computeForStructure):
(JSC::computeForLLInt):
(JSC::ResolveGlobalStatus::computeFor):
* bytecode/ResolveGlobalStatus.h:
(JSC):
(ResolveGlobalStatus):
* bytecode/ResolveOperation.h: Removed.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::ResolveResult::checkValidity):
(JSC::ResolveResult::registerPointer):
(JSC):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::resolve):
(JSC::BytecodeGenerator::resolveConstDecl):
(JSC::BytecodeGenerator::shouldAvoidResolveGlobal):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetStaticVar):
(JSC::BytecodeGenerator::emitInitGlobalConst):
(JSC::BytecodeGenerator::emitPutStaticVar):
* bytecompiler/BytecodeGenerator.h:
(JSC::ResolveResult::registerResolve):
(JSC::ResolveResult::dynamicResolve):
(JSC::ResolveResult::lexicalResolve):
(JSC::ResolveResult::indexedGlobalResolve):
(JSC::ResolveResult::dynamicIndexedGlobalResolve):
(JSC::ResolveResult::globalResolve):
(JSC::ResolveResult::dynamicGlobalResolve):
(JSC::ResolveResult::type):
(JSC::ResolveResult::index):
(JSC::ResolveResult::depth):
(JSC::ResolveResult::globalObject):
(ResolveResult):
(JSC::ResolveResult::isStatic):
(JSC::ResolveResult::isIndexed):
(JSC::ResolveResult::isScoped):
(JSC::ResolveResult::isGlobal):
(JSC::ResolveResult::ResolveResult):
(BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC::ResolveNode::isPure):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::ForInNode::emitBytecode):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(InlineStackEntry):
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):
* dfg/DFGGraph.h:
(ResolveGlobalData):
(DFG):
(Graph):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
* dfg/DFGOSRExit.h:
(OSRExit):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
(JSC):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCacheGetByID):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
(JIT):
(JSC::JIT::emit_op_get_global_var_watchable):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_resolve):
(JSC):
(JSC::JIT::emit_op_resolve_base):
(JSC::JIT::emit_op_resolve_skip):
(JSC::JIT::emit_op_resolve_global):
(JSC::JIT::emitSlow_op_resolve_global):
(JSC::JIT::emit_op_resolve_with_base):
(JSC::JIT::emit_op_resolve_with_this):
(JSC::JIT::emit_op_resolve_global_dynamic):
(JSC::JIT::emitSlow_op_resolve_global_dynamic):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_resolve):
(JSC):
(JSC::JIT::emit_op_resolve_base):
(JSC::JIT::emit_op_resolve_skip):
(JSC::JIT::emit_op_resolve_global):
(JSC::JIT::emitSlow_op_resolve_global):
(JSC::JIT::emit_op_resolve_with_base):
(JSC::JIT::emit_op_resolve_with_this):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_scoped_var):
(JSC):
(JSC::JIT::emit_op_put_scoped_var):
(JSC::JIT::emit_op_get_global_var):
(JSC::JIT::emit_op_put_global_var):
(JSC::JIT::emit_op_put_global_var_check):
(JSC::JIT::emitSlow_op_put_global_var_check):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_scoped_var):
(JSC):
(JSC::JIT::emit_op_put_scoped_var):
(JSC::JIT::emit_op_get_global_var):
(JSC::JIT::emit_op_put_global_var):
(JSC::JIT::emit_op_put_global_var_check):
(JSC::JIT::emitSlow_op_put_global_var_check):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
(JSC):
* jit/JITStubs.h:
* llint/LLIntSlowPaths.cpp:
(LLInt):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntSlowPaths.h:
(LLInt):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSScope.cpp:
(JSC::JSScope::resolve):
(JSC::JSScope::resolveSkip):
(JSC::JSScope::resolveGlobal):
(JSC::JSScope::resolveGlobalDynamic):
(JSC::JSScope::resolveBase):
(JSC::JSScope::resolveWithBase):
(JSC::JSScope::resolveWithThis):
* runtime/JSScope.h:
(JSScope):
* runtime/JSVariableObject.cpp:
* runtime/JSVariableObject.h:
* runtime/Structure.h:

LayoutTests:

* fast/workers/resources/worker-event-listener.js:

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

7 years ago[mac] Fix build break - processPath should be initialized.
commit-queue@webkit.org [Wed, 17 Oct 2012 05:56:54 +0000 (05:56 +0000)]
[mac] Fix build break - processPath should be initialized.
https://bugs.webkit.org/show_bug.cgi?id=99541

Unreviewed build fix.

Initialize processPath as nil.

Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2012-10-16

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::createProcess):

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

7 years ago[GTK] Fix build break - ResolveOperations.h is not in WebKit.
commit-queue@webkit.org [Wed, 17 Oct 2012 05:44:48 +0000 (05:44 +0000)]
[GTK] Fix build break - ResolveOperations.h is not in WebKit.
https://bugs.webkit.org/show_bug.cgi?id=99538

Unreviewed build fix.

There are some files including ResolveOperations.h which is not exist at all.

Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2012-10-16

* GNUmakefile.list.am: s/ResolveOperations.h/ResolveOperation.h/
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: s/ResolveOperations.h/ResolveOperation.h/

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

7 years ago[Shadow DOM][V8] WebCore::V8DOMWindow::installPerContextProperties() is slow when...
morrita@google.com [Wed, 17 Oct 2012 05:39:01 +0000 (05:39 +0000)]
[Shadow DOM][V8] WebCore::V8DOMWindow::installPerContextProperties() is slow when shadowDOMEnabled flag is on.
https://bugs.webkit.org/show_bug.cgi?id=99428

Reviewed by Adam Barth.

Source/WebCore:

A benchmark unveiled that installPerContextProperties() could have made DOMWindow setup slower when
- Some properties are added per-context basis by turnin the flag on and
- There are bunch of DOMWindow object in the page (that is, there are many iframes.)

This change eliminates Shadow DOM related per-context properties from DOMWindow for getting rid of that slowness.

* dom/ContextFeatures.cpp:
* dom/ContextFeatures.h: Removed shadowDOMEnabled() method and related enum entry.
* dom/Position.cpp:
(WebCore::Position::Position):
(WebCore::Position::findParent):
* dom/TreeScope.cpp:
(WebCore::TreeScope::getSelection):
* dom/make_names.pl: Re-introduced "runtimeConditional" directive.
(defaultTagPropertyHash):
(printConstructorInterior):
(printFactoryCppFile):
(printWrapperFunctions):
(printWrapperFactoryCppFile):
* html/HTMLTagNames.in:
* html/shadow/HTMLContentElement.cpp:
(WebCore::contentTagName):
* page/DOMWindow.idl:

Source/WebKit/chromium:

* src/ContextFeaturesClientImpl.cpp:
(WebKit::ContextFeaturesClientImpl::askIfIsEnabled):

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

7 years ago[EFL][WK2] Add factory methods for refcounted Ewk types
commit-queue@webkit.org [Wed, 17 Oct 2012 02:20:57 +0000 (02:20 +0000)]
[EFL][WK2] Add factory methods for refcounted Ewk types
https://bugs.webkit.org/show_bug.cgi?id=99479

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-16
Reviewed by Gyuyoung Kim.

Add factory methods to refcounted Ewk types that return
a PassRefPtr for refcounted Ewk types. Their constructors
were made privates as well, in order to promote the use
of smart pointers internally.

Remove _new() functions for refcounted Ewk types as they
are no longer needed now that the classes are defined
in the private headers instead of the cpp files.

* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::handleDownloadRequest):
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(addItemToWrapperCache):
* UIProcess/API/efl/ewk_back_forward_list_item.cpp:
(ewk_back_forward_list_item_original_url_get):
* UIProcess/API/efl/ewk_back_forward_list_item_private.h:
(_Ewk_Back_Forward_List_Item):
(_Ewk_Back_Forward_List_Item::create):
(_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
* UIProcess/API/efl/ewk_context_download_client.cpp:
(didReceiveResponse):
* UIProcess/API/efl/ewk_context_history_client.cpp:
(didNavigateWithNavigationData):
* UIProcess/API/efl/ewk_download_job.cpp:
(ewk_download_job_request_get):
(ewk_download_job_state_set):
* UIProcess/API/efl/ewk_download_job_private.h:
(_Ewk_Download_Job):
(_Ewk_Download_Job::create):
(_Ewk_Download_Job::_Ewk_Download_Job):
* UIProcess/API/efl/ewk_intent.cpp:
(ewk_intent_extra_names_get):
* UIProcess/API/efl/ewk_intent_private.h:
(_Ewk_Intent):
(_Ewk_Intent::create):
(_Ewk_Intent::_Ewk_Intent):
* UIProcess/API/efl/ewk_intent_service.cpp:
(ewk_intent_service_disposition_get):
* UIProcess/API/efl/ewk_intent_service_private.h:
(_Ewk_Intent_Service):
(_Ewk_Intent_Service::create):
(_Ewk_Intent_Service::_Ewk_Intent_Service):
* UIProcess/API/efl/ewk_navigation_data.cpp:
(ewk_navigation_data_url_get):
* UIProcess/API/efl/ewk_navigation_data_private.h:
(_Ewk_Navigation_Data):
(_Ewk_Navigation_Data::create):
(_Ewk_Navigation_Data::_Ewk_Navigation_Data):
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
* UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
(_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::create):
(_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
* UIProcess/API/efl/ewk_url_request.cpp:
(ewk_url_request_http_method_get):
* UIProcess/API/efl/ewk_url_request_private.h:
(_Ewk_Url_Request):
(_Ewk_Url_Request::create):
(_Ewk_Url_Request::_Ewk_Url_Request):
* UIProcess/API/efl/ewk_url_response.cpp:
(ewk_url_response_content_length_get):
* UIProcess/API/efl/ewk_url_response_private.h:
(_Ewk_Url_Response):
(_Ewk_Url_Response::create):
(_Ewk_Url_Response::_Ewk_Url_Response):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_intent_deliver):
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didReceiveIntentForFrame):
(registerIntentServiceForFrame):
* UIProcess/API/efl/ewk_view_policy_client.cpp:
(decidePolicyForNavigationAction):
(decidePolicyForNewWindowAction):
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didInitiateLoadForResource):
(didSendRequestForResource):
(didReceiveResponseForResource):

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

7 years ago <rdar://problem/12462993> Use a sensible fallback for cache directory
ap@apple.com [Wed, 17 Oct 2012 02:15:59 +0000 (02:15 +0000)]
    <rdar://problem/12462993> Use a sensible fallback for cache directory

        Reviewed by Sam Weinig.

        * UIProcess/WebContext.cpp: (WebKit::WebContext::createNewWebProcess): Cache directory
        should be created if it doesn't exist yet, so use createHandleForReadWriteDirectory.

        * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformDefaultDiskCacheDirectory):
        We don't want caches in home directory, they should go to ~/Library/Caches.

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

7 years ago[WebKit2] Create Objective-C API for adding and removing user scripts
aestes@apple.com [Wed, 17 Oct 2012 02:00:40 +0000 (02:00 +0000)]
[WebKit2] Create Objective-C API for adding and removing user scripts
https://bugs.webkit.org/show_bug.cgi?id=99528

Reviewed by Anders Carlsson.

Source/WebKit2:

This patch adds the following API to WKBrowsingContextGroup:

- (void)addUserScript:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist injectionTime:(WKUserScriptInjectionTime)injectionTime mainFrameOnly:(BOOL)mainFrameOnly;
- (void)removeAllUserScripts;

* UIProcess/API/C/WKPageGroup.cpp:
(WKPageGroupAddUserScript): Define a C SPI equivalent of addUserScript: that calls existing methods in WebPageGroup.
(WKPageGroupRemoveAllUserScripts): Ditto for removeAllUserScripts.
* UIProcess/API/C/WKPageGroup.h: Declare the above-mentioned functions.
* UIProcess/API/mac/WKBrowsingContextGroup.h: Declare the Objective-C API
* UIProcess/API/mac/WKBrowsingContextGroup.mm:
(-[WKBrowsingContextGroup addUserScript:baseURL:whitelist:blacklist:injectionTime:mainFrameOnly:]): Call WKPageGroupAddUserScript.
(-[WKBrowsingContextGroup removeAllUserScripts]): Call WKPageGroupRemoveAllUserScripts.
* WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit::WebPageGroupProxy::removeAllUserScripts): This was calling PageGroup::removeUserStyleSheetsFromWorld() by mistake.

Tools:

Add three new API tests.

* TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm:
(expectScriptValueIsString):
(expectScriptValueIsBoolean):
(expectScriptValueIsUndefined):

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

7 years ago[EFL][WK2][AC] Url bar should not be covered by the web view
commit-queue@webkit.org [Wed, 17 Oct 2012 01:42:05 +0000 (01:42 +0000)]
[EFL][WK2][AC] Url bar should not be covered by the web view
https://bugs.webkit.org/show_bug.cgi?id=99485

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-10-16
Reviewed by Laszlo Gombos.

When accelerated compositing is enabled, the url bar is covered by the web view.
This was caused by 2 issues:
- _ewk_view_smart_calculate was called before the first gl surface was created,
  so an early return caused it to not save the new view position.
- When painting the view, we need to take into account the position of
  the view within the window, i.e. the url bar.

* UIProcess/API/efl/EflViewportHandler.cpp:
(WebKit::EflViewportHandler::display):
* UIProcess/API/efl/EflViewportHandler.h:
(EflViewportHandler):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):
(ewk_view_display):

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

7 years agoAdd test that checks if scrolling works inside the suggestion picker
keishi@webkit.org [Wed, 17 Oct 2012 01:41:36 +0000 (01:41 +0000)]
Add test that checks if scrolling works inside the suggestion picker
https://bugs.webkit.org/show_bug.cgi?id=99409

Reviewed by Kent Tamura.

We want to test that scrolling, both by scrollbar and mouse wheel, work inside the suggestion picker.

* platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-mouse-operations-expected.txt:
* platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-mouse-operations.html:
* platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-mouse-operations-expected.txt:
* platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-mouse-operations.html:

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

7 years agoRe-add a test which was removed mistakenly in r131538.
tkent@chromium.org [Wed, 17 Oct 2012 01:32:31 +0000 (01:32 +0000)]
Re-add a test which was removed mistakenly in r131538.
https://bugs.webkit.org/show_bug.cgi?id=98103

* platform/chromium/fast/forms/calendar-picker/calendar-picker-type-change-onclick-expected.txt: Added.
* platform/chromium/fast/forms/calendar-picker/calendar-picker-type-change-onclick.html: Added.

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

7 years agoIndexedDB: Stub out chromium success handlers for integers and undefined values
alecflett@chromium.org [Wed, 17 Oct 2012 01:30:15 +0000 (01:30 +0000)]
IndexedDB: Stub out chromium success handlers for integers and undefined values
https://bugs.webkit.org/show_bug.cgi?id=99527

Reviewed by Adam Barth.

Add onSuccess stubs so that chromium IPC glue can land.

* public/WebIDBCallbacks.h:
(WebKit::WebIDBCallbacks::onSuccess):

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

7 years agoMake RenderObject destruction during detach a top-down operation
jchaffraix@webkit.org [Wed, 17 Oct 2012 01:26:38 +0000 (01:26 +0000)]
Make RenderObject destruction during detach a top-down operation
https://bugs.webkit.org/show_bug.cgi?id=98336

Reviewed by Eric Seidel.

detach() is a DOM-driven operation that destroys the renderers bottom-up.
While this is correct, it causes extra-work to be done (tree cleaning, ...)
as it doesn't know about the render tree's structure.

The render tree on the other side already supports top-down operations
but it was overriden by the DOM side of detach.

This change only makes ContainerNode::detach do a top-down render tree
destruction. This is a required step towards doing smarter destruction.

Refactoring covered by existing tests.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::detach):
Changed the method to do a top-down destruction.

* dom/Node.cpp:
(WebCore::Node::detach):
Added this ASSERT that ensures that we have properly cleaned up the
whole DOM subtree. The only exception is child content belonging to a
flow-thread as the code will shuffle the renderers under the flow-thread.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):
As we don't update the node's renderer on the DOM side, do it here.
The upside is that it ensures that we don't left any stray renderer
in the tree.

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::destroyLeftoverChildren):
Removed the calls to setRenderer as they are redundant with what we do
in willBeDestroyed.

* rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::setText):
Removed some now unneeded code, replaced by an ASSERT. This is because
destroying m_firstLetter would automatically reset the node's renderer
in destroyLeftoverChildren.

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

7 years agoMove tests for calendar picker to platform/chromium/fast/forms/calendar-picker/
tkent@chromium.org [Wed, 17 Oct 2012 01:18:30 +0000 (01:18 +0000)]
Move tests for calendar picker to platform/chromium/fast/forms/calendar-picker/
https://bugs.webkit.org/show_bug.cgi?id=98103

Reviewed by Yuta Kitamura.

Move tests for calendar picker to platform/chromium/fast/forms/
calendar-picker/ because
 - Ease of skipping
 - We're going to support non-date types in the calendar picker.
 - Not sure the calendar picker code will be used on other platforms.

* fast/forms/date/calendar-picker-appearance-expected.txt: Removed.
* fast/forms/date/calendar-picker-appearance-pre-100-expected.txt: Removed.
* fast/forms/date/calendar-picker-appearance-pre-100.html: Removed.
* fast/forms/date/calendar-picker-appearance.html: Removed.
* fast/forms/date/calendar-picker-common.js: Removed.
* fast/forms/date/calendar-picker-key-operations-expected.txt: Removed.
* fast/forms/date/calendar-picker-key-operations.html: Removed.
* fast/forms/date/calendar-picker-mouse-operations-expected.txt: Removed.
* fast/forms/date/calendar-picker-mouse-operations.html: Removed.
* fast/forms/date/calendar-picker-type-change-onclick-expected.txt: Removed.
* fast/forms/date/calendar-picker-type-change-onclick.html: Removed.
* fast/forms/date/calendar-picker-with-step-expected.txt: Removed.
* fast/forms/date/calendar-picker-with-step.html: Removed.
* platform/chromium-linux-x86/fast/forms/date/calendar-picker-appearance-expected.png: Removed.
* platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker: Added.
* platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/fast/forms/date/calendar-picker-appearance-expected.png.
* platform/chromium-linux/fast/forms/date/calendar-picker-appearance-expected.png: Removed.
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker: Added.
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Copied from LayoutTests/platform/chromium-linux/fast/forms/date/calendar-picker-appearance-expected.png.
* platform/chromium-mac-snowleopard/fast/forms/date/calendar-picker-appearance-expected.png: Removed.
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker: Added.
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Copied from LayoutTests/platform/chromium-mac-snowleopard/fast/forms/date/calendar-picker-appearance-expected.png.
* platform/chromium-mac/fast/forms/date/calendar-picker-appearance-expected.png: Removed.
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Copied from LayoutTests/platform/chromium-mac/fast/forms/date/calendar-picker-appearance-expected.png.
* platform/chromium-win-xp/fast/forms/date/calendar-picker-appearance-expected.png: Removed.
* platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker: Added.
* platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Copied from LayoutTests/platform/chromium-win-xp/fast/forms/date/calendar-picker-appearance-expected.png.
* platform/chromium-win/fast/forms/date/calendar-picker-appearance-expected.png: Removed.
* platform/chromium-win/fast/forms/date/calendar-picker-key-operations-expected.txt: Removed.
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker: Added.
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Copied from LayoutTests/platform/chromium-win/fast/forms/date/calendar-picker-appearance-expected.png.
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/forms/date/calendar-picker-key-operations-expected.txt.
* platform/chromium/TestExpectations:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.txt: Copied from LayoutTests/fast/forms/date/calendar-picker-appearance-expected.txt.
* platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step.html:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance.html: Copied from LayoutTests/fast/forms/date/calendar-picker-appearance.html.
* platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations-expected.txt: Copied from LayoutTests/fast/forms/date/calendar-picker-key-operations-expected.txt.
* platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations.html: Copied from LayoutTests/fast/forms/date/calendar-picker-key-operations.html.
* platform/chromium/fast/forms/calendar-picker/calendar-picker-mouse-operations-expected.txt: Copied from LayoutTests/fast/forms/date/calendar-picker-mouse-operations-expected.txt.
* platform/chromium/fast/forms/calendar-picker/calendar-picker-mouse-operations.html: Copied from LayoutTests/fast/forms/date/calendar-picker-mouse-operations.html.
* platform/chromium/fast/forms/calendar-picker/calendar-picker-pre-100-year-expected.txt: Copied from LayoutTests/fast/forms/date/calendar-picker-appearance-pre-100-expected.txt.
* platform/chromium/fast/forms/calendar-picker/calendar-picker-pre-100-year.html: Copied from LayoutTests/fast/forms/date/calendar-picker-appearance-pre-100.html.
* platform/chromium/fast/forms/calendar-picker/calendar-picker-with-step-expected.txt: Copied from LayoutTests/fast/forms/date/calendar-picker-with-step-expected.txt.
* platform/chromium/fast/forms/calendar-picker/calendar-picker-with-step.html: Copied from LayoutTests/fast/forms/date/calendar-picker-with-step.html.
* platform/chromium/fast/forms/calendar-picker/resources: Added.
* platform/chromium/fast/forms/calendar-picker/resources/calendar-picker-common.js: Copied from LayoutTests/fast/forms/date/calendar-picker-common.js.
* platform/chromium/fast/forms/page-popup/page-popup-adjust-rect.html: Fix calendar-picker-common.js path.
* platform/gtk/TestExpectations:

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

7 years agoUpdate Chromium ML expectations
dpranke@chromium.org [Wed, 17 Oct 2012 00:46:54 +0000 (00:46 +0000)]
Update Chromium ML expectations

Unreviewed, expectations change.

* platform/chromium-mac-mountainlion/TestExpectations:

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

7 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Wed, 17 Oct 2012 00:34:50 +0000 (00:34 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

7 years agoHTMLSelectElement::optionSelectedByUser confuses listIndex and optionIndex
commit-queue@webkit.org [Wed, 17 Oct 2012 00:24:22 +0000 (00:24 +0000)]
HTMLSelectElement::optionSelectedByUser confuses listIndex and optionIndex
https://bugs.webkit.org/show_bug.cgi?id=99523

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2012-10-16
Reviewed by Simon Fraser.

Source/WebCore:

There was a call site where the optionIndex was being passed to a
function that expected the listIndex. Convert appropriately.

Extends Test: platform/mac/fast/objc/dom-html-select-activate.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::optionSelectedByUser):

LayoutTests:

Extend the dom activate test to test calls on a <select multiple> with
<optgroup>s. This previously untested case was broken.

* platform/mac/fast/objc/dom-html-select-activate-expected.txt:
* platform/mac/fast/objc/dom-html-select-activate.html:

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

7 years agoRename feature define ENABLE_WIDGET_REGION to ENABLE_DRAGGBALE_REGION
jianli@chromium.org [Wed, 17 Oct 2012 00:14:47 +0000 (00:14 +0000)]
Rename feature define ENABLE_WIDGET_REGION to ENABLE_DRAGGBALE_REGION
https://bugs.webkit.org/show_bug.cgi?id=98975

Reviewed by Adam Barth.

Source/JavaScriptCore:

Renaming is needed to better match with the draggable region code.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Renaming is needed to better match with the draggable region code.

No new tests (OOPS!).

* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* WebCore.exp.in:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore):
(WebCore::Document::reportMemoryUsage):
* dom/Document.h:
(WebCore):
(Document):
* page/Chrome.cpp:
(WebCore):
* page/ChromeClient.h:
(ChromeClient):
* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore):
(WebCore::FrameView::paintContents):
* page/FrameView.h:
(FrameView):
* rendering/RenderInline.cpp:
(WebCore):
(WebCore::RenderInline::addAnnotatedRegions):
* rendering/RenderInline.h:
(RenderInline):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::setHasVerticalScrollbar):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::styleWillChange):
(WebCore):
(WebCore::RenderObject::addAnnotatedRegions):
* rendering/RenderObject.h:
(WebCore::AnnotatedRegionValue::operator==):
(AnnotatedRegionValue):
(RenderObject):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

Source/WebKit/chromium:

Renaming is needed to better match with the draggable region code.

* features.gypi:
* src/ChromeClientImpl.cpp:
(WebKit):
* src/ChromeClientImpl.h:
(ChromeClientImpl):
* src/WebDocument.cpp:
(WebKit::WebDocument::draggableRegions):

Source/WebKit/mac:

Renaming is needed to better match with the draggable region code.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Renaming is needed to better match with the draggable region code.

* Configurations/FeatureDefines.xcconfig:

LayoutTests:

Renaming is needed to better match with the draggable region code.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

7 years agoUnreviewed, rebaselines after r131358
danakj@chromium.org [Wed, 17 Oct 2012 00:12:55 +0000 (00:12 +0000)]
Unreviewed, rebaselines after r131358
https://bugs.webkit.org/show_bug.cgi?id=99441

* platform/chromium-win-xp/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-win-xp/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
* platform/chromium-win-xp/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/chromium-win-xp/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:

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

7 years ago[Page Visibility API] View-less documents should report as hidden
simonjam@chromium.org [Wed, 17 Oct 2012 00:04:52 +0000 (00:04 +0000)]
[Page Visibility API] View-less documents should report as hidden
https://bugs.webkit.org/show_bug.cgi?id=99410

Reviewed by Tony Gentilcore.

Source/WebCore:

Test: fast/events/page-visibility-null-view.html

* dom/Document.cpp:
(WebCore::Document::visibilityState):

LayoutTests:

* fast/events/page-visibility-null-view-expected.txt: Added.
* fast/events/page-visibility-null-view.html: Added.

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

7 years agoUnreviewed, broaden Chromium TestExpectations to match waterfall.
tony@chromium.org [Tue, 16 Oct 2012 23:47:57 +0000 (23:47 +0000)]
Unreviewed, broaden Chromium TestExpectations to match waterfall.

* platform/chromium/TestExpectations:

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

7 years agoRebaseline mac compositing/geometry/fixed-position-transform-composited-page-scale...
danakj@chromium.org [Tue, 16 Oct 2012 23:34:30 +0000 (23:34 +0000)]
Rebaseline mac compositing/geometry/fixed-position-transform-composited-page-scale-down.html
https://bugs.webkit.org/show_bug.cgi?id=89702

Unreviewed gardening.

* platform/chromium-mac-snowleopard/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png: Removed.
* platform/chromium-mac/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png:
* platform/chromium/TestExpectations:

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

7 years agoChange WTF_USE_8BIT_TEXTRUN to ENABLE_8BIT_TEXTRUN
msaboff@apple.com [Tue, 16 Oct 2012 23:23:11 +0000 (23:23 +0000)]
Change WTF_USE_8BIT_TEXTRUN to ENABLE_8BIT_TEXTRUN
https://bugs.webkit.org/show_bug.cgi?id=99484

Reviewed by Eric Seidel.

Source/WebCore:

Changed macro name to align with it's purpose, therefore changed USE(8BIT_TEXTRUN) to ENABLE(8BIT_TEXTRUN).

No new tests.  Changed macro name, no functional change.

* platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::subRun):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::constructTextRun):
* rendering/RenderBlock.h:
(RenderBlock):

Source/WTF:

Changed macro name to align with it's purpose.

* wtf/Platform.h:

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

7 years agoUnreviewed, fix TestExpectations for Qt and GTK after RenderSlider change.
tony@chromium.org [Tue, 16 Oct 2012 23:11:12 +0000 (23:11 +0000)]
Unreviewed, fix TestExpectations for Qt and GTK after RenderSlider change.

* platform/gtk/TestExpectations:
* platform/gtk/media/video-volume-slider-expected.txt:
* platform/qt/TestExpectations:

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

7 years agoStringImpl::reverseFind() with a single match character isn't optimal for mixed 8...
msaboff@apple.com [Tue, 16 Oct 2012 23:07:33 +0000 (23:07 +0000)]
StringImpl::reverseFind() with a single match character isn't optimal for mixed 8/16 bit cases
https://bugs.webkit.org/show_bug.cgi?id=99363

Reviewed by Benjamin Poulain.

Factored out the 8/16 bitness check of the match character from the subject character bitness
check.  Did this for both find() and reverseFind().  Added all UChar/LChar combinations to the
inline reverseFind().

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::find):
(WTF::StringImpl::reverseFind):
* wtf/text/StringImpl.h:
(WTF::reverseFind):

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

7 years agoRebaseline for css1/basic/inheritance.html
danakj@chromium.org [Tue, 16 Oct 2012 23:06:02 +0000 (23:06 +0000)]
Rebaseline for css1/basic/inheritance.html

Unreviewed gardening.

* platform/chromium-mac/css1/basic/inheritance-expected.png:

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

7 years agoWeb Inspector: inspector/styles/styles-history.html is failing Text on win7
danakj@chromium.org [Tue, 16 Oct 2012 23:04:49 +0000 (23:04 +0000)]
Web Inspector: inspector/styles/styles-history.html is failing Text on win7
https://bugs.webkit.org/show_bug.cgi?id=99519

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

7 years agoRebaselines for r131503
danakj@chromium.org [Tue, 16 Oct 2012 22:58:04 +0000 (22:58 +0000)]
Rebaselines for r131503
https://bugs.webkit.org/show_bug.cgi?id=99516

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed, fix lint error in chromium-android/TestExpectations.
tony@chromium.org [Tue, 16 Oct 2012 22:55:44 +0000 (22:55 +0000)]
Unreviewed, fix lint error in chromium-android/TestExpectations.

* platform/chromium-android/TestExpectations:

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

7 years agoUnreviewed, lint fixes for TestExpectations.
tony@chromium.org [Tue, 16 Oct 2012 22:52:37 +0000 (22:52 +0000)]
Unreviewed, lint fixes for TestExpectations.

* platform/chromium/TestExpectations:

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

7 years agoLint fixes for TestExpectations
danakj@chromium.org [Tue, 16 Oct 2012 22:46:31 +0000 (22:46 +0000)]
Lint fixes for TestExpectations

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

7 years agoRebaselines for r131503
danakj@chromium.org [Tue, 16 Oct 2012 22:36:54 +0000 (22:36 +0000)]
Rebaselines for r131503
https://bugs.webkit.org/show_bug.cgi?id=99516

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

7 years agoBytecode should not have responsibility for determining how to perform non-local...
oliver@apple.com [Tue, 16 Oct 2012 22:28:32 +0000 (22:28 +0000)]
Bytecode should not have responsibility for determining how to perform non-local resolves
https://bugs.webkit.org/show_bug.cgi?id=99349

Reviewed by Gavin Barraclough.

This patch removes lexical analysis from the bytecode generation.  This allows
us to delay lookup of a non-local variables until the lookup is actually necessary,
and simplifies a lot of the resolve logic in BytecodeGenerator.

Once a lookup is performed we cache the lookup information in a set of out-of-line
buffers in CodeBlock.  This allows subsequent lookups to avoid unnecessary hashing,
etc, and allows the respective JITs to recreated optimal lookup code.

This is currently still a performance regression in LLInt, but most of the remaining
regression is caused by a lot of indirection that I'll remove in future work, as well
as some work necessary to allow LLInt to perform in line instruction repatching.
We will also want to improve the behaviour of the baseline JIT for some of the lookup
operations, however this patch was getting quite large already so I'm landing it now
that we've reached the bar of "performance-neutral".

* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printStructures):
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::visitStructures):
(JSC):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::shrinkToFit):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::addResolve):
(JSC::CodeBlock::addPutToBase):
(CodeBlock):
(JSC::CodeBlock::resolveOperations):
(JSC::CodeBlock::putToBaseOperation):
(JSC::CodeBlock::numberOfResolveOperations):
(JSC::CodeBlock::numberOfPutToBaseOperations):
(JSC::CodeBlock::addPropertyAccessInstruction):
(JSC::CodeBlock::globalObjectConstant):
(JSC::CodeBlock::setGlobalObjectConstant):
* bytecode/GlobalResolveInfo.h: Removed.
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/ResolveGlobalStatus.cpp:
(JSC::computeForStructure):
(JSC::ResolveGlobalStatus::computeFor):
* bytecode/ResolveGlobalStatus.h:
(JSC):
(ResolveGlobalStatus):
* bytecode/ResolveOperation.h: Added.
  The new types and logic we use to perform the cached lookups.
(JSC):
(ResolveOperation):
(JSC::ResolveOperation::getAndReturnScopedVar):
(JSC::ResolveOperation::checkForDynamicEntriesBeforeGlobalScope):
(JSC::ResolveOperation::getAndReturnGlobalVar):
(JSC::ResolveOperation::getAndReturnGlobalProperty):
(JSC::ResolveOperation::resolveFail):
(JSC::ResolveOperation::skipTopScopeNode):
(JSC::ResolveOperation::skipScopes):
(JSC::ResolveOperation::returnGlobalObjectAsBase):
(JSC::ResolveOperation::setBaseToGlobal):
(JSC::ResolveOperation::setBaseToUndefined):
(JSC::ResolveOperation::setBaseToScope):
(JSC::ResolveOperation::returnScopeAsBase):
(JSC::PutToBaseOperation::PutToBaseOperation):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::ResolveResult::checkValidity):
(JSC):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::resolve):
(JSC::BytecodeGenerator::resolveConstDecl):
(JSC::BytecodeGenerator::shouldAvoidResolveGlobal):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetLocalVar):
(JSC::BytecodeGenerator::emitInitGlobalConst):
(JSC::BytecodeGenerator::emitPutToBase):
* bytecompiler/BytecodeGenerator.h:
(JSC::ResolveResult::registerResolve):
(JSC::ResolveResult::dynamicResolve):
(ResolveResult):
(JSC::ResolveResult::ResolveResult):
(JSC):
(NonlocalResolveInfo):
(JSC::NonlocalResolveInfo::NonlocalResolveInfo):
(JSC::NonlocalResolveInfo::~NonlocalResolveInfo):
(JSC::NonlocalResolveInfo::resolved):
(JSC::NonlocalResolveInfo::put):
(BytecodeGenerator):
(JSC::BytecodeGenerator::getResolveOperations):
(JSC::BytecodeGenerator::getResolveWithThisOperations):
(JSC::BytecodeGenerator::getResolveBaseOperations):
(JSC::BytecodeGenerator::getResolveBaseForPutOperations):
(JSC::BytecodeGenerator::getResolveWithBaseForPutOperations):
(JSC::BytecodeGenerator::getPutToBaseOperation):
* bytecompiler/NodesCodegen.cpp:
(JSC::ResolveNode::isPure):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::ForInNode::emitBytecode):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(InlineStackEntry):
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(DFG):
(JSC::DFG::ByteCodeParser::parseResolveOperations):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileResolveOperations):
(DFG):
(JSC::DFG::canCompilePutToBaseOperation):
(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):
* dfg/DFGGraph.h:
(ResolveGlobalData):
(ResolveOperationData):
(DFG):
(PutToBaseOperationData):
(Graph):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::resolveOperationsDataIndex):
(Node):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
* dfg/DFGOSRExit.h:
(OSRExit):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCacheGetByID):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::resolveOperations):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::putToBaseOperation):
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
(JIT):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_put_to_base):
(JSC):
(JSC::JIT::emit_resolve_operations):
(JSC::JIT::emitSlow_link_resolve_operations):
(JSC::JIT::emit_op_resolve):
(JSC::JIT::emitSlow_op_resolve):
(JSC::JIT::emit_op_resolve_base):
(JSC::JIT::emitSlow_op_resolve_base):
(JSC::JIT::emit_op_resolve_with_base):
(JSC::JIT::emitSlow_op_resolve_with_base):
(JSC::JIT::emit_op_resolve_with_this):
(JSC::JIT::emitSlow_op_resolve_with_this):
(JSC::JIT::emitSlow_op_put_to_base):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_put_to_base):
(JSC):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_init_global_const):
(JSC::JIT::emit_op_init_global_const_check):
(JSC::JIT::emitSlow_op_init_global_const_check):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_init_global_const):
(JSC::JIT::emit_op_init_global_const_check):
(JSC::JIT::emitSlow_op_init_global_const_check):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
(JSC):
* jit/JITStubs.h:
* llint/LLIntSlowPaths.cpp:
(LLInt):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntSlowPaths.h:
(LLInt):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSScope.cpp:
(JSC::LookupResult::base):
(JSC::LookupResult::value):
(JSC::LookupResult::setBase):
(JSC::LookupResult::setValue):
(LookupResult):
(JSC):
(JSC::setPutPropertyAccessOffset):
(JSC::executeResolveOperations):
(JSC::JSScope::resolveContainingScopeInternal):
(JSC::JSScope::resolveContainingScope):
(JSC::JSScope::resolve):
(JSC::JSScope::resolveBase):
(JSC::JSScope::resolveWithBase):
(JSC::JSScope::resolveWithThis):
(JSC::JSScope::resolvePut):
(JSC::JSScope::resolveGlobal):
* runtime/JSScope.h:
(JSScope):
* runtime/JSVariableObject.cpp:
(JSC):
* runtime/JSVariableObject.h:
(JSVariableObject):
* runtime/Structure.h:
(JSC::Structure::propertyAccessesAreCacheable):
(Structure):

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

7 years ago[Qt] REGRESSION(r131485): It broke the build
noam.rosenthal@nokia.com [Tue, 16 Oct 2012 22:09:58 +0000 (22:09 +0000)]
[Qt] REGRESSION(r131485): It broke the build
https://bugs.webkit.org/show_bug.cgi?id=99499

Unreviewed build (warning) fix.

* platform/graphics/texmap/TextureMapperShaderManager.cpp:
(WebCore::TextureMapperShaderProgram::getLocation):

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

7 years agoFix a bug that we are using scaled damage rect for plugins inside an iframe
commit-queue@webkit.org [Tue, 16 Oct 2012 22:08:36 +0000 (22:08 +0000)]
Fix a bug that we are using scaled damage rect for plugins inside an iframe
https://bugs.webkit.org/show_bug.cgi?id=99488

Patch by Min Qin <qinmin@chromium.org> on 2012-10-16
Reviewed by Adam Barth.

There is a bug with a previous webkit patch: https://bugs.webkit.org/show_bug.cgi?id=98468
In that patch, we incorrectly applied the main frame's scale factor to inner iframes.
However, the damageRect is not scaled inside an iFrame. So doing the intersect will retrieve wrong result here.
In WebPluginContainerImpl::calculateGeometry, the windowRect also does not apply main frame's scale factor.

* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::paint):

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

7 years ago[BlackBerry] calculateInRegionScrollableAreasForPoint should use a ReadOnly HitTest
commit-queue@webkit.org [Tue, 16 Oct 2012 22:05:47 +0000 (22:05 +0000)]
[BlackBerry] calculateInRegionScrollableAreasForPoint should use a ReadOnly HitTest
https://bugs.webkit.org/show_bug.cgi?id=99497

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2012-10-16
Reviewed by Antonio Gomes.

Fix calculateInRegionScrollableAreasForPoint to use a ReadOnly
hit test to improve its performance.

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):

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

7 years agoSome tests need rebaseline after r131497
danakj@chromium.org [Tue, 16 Oct 2012 22:01:24 +0000 (22:01 +0000)]
Some tests need rebaseline after r131497
https://bugs.webkit.org/show_bug.cgi?id=99511

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

7 years agoInspector: Don't fire assert when inspecting an empty db
dgrogan@chromium.org [Tue, 16 Oct 2012 22:00:30 +0000 (22:00 +0000)]
Inspector: Don't fire assert when inspecting an empty db
https://bugs.webkit.org/show_bug.cgi?id=99370

Reviewed by Vsevolod Vlasov.

* inspector/InspectorIndexedDBAgent.cpp:
(WebCore):

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

7 years ago[GTK] accessibility/radio-button-title-label.html is failing
commit-queue@webkit.org [Tue, 16 Oct 2012 22:00:18 +0000 (22:00 +0000)]
[GTK] accessibility/radio-button-title-label.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98374

Unreviewed. Unskipped test, new port-specific baseline.

New baseline for the GTK port. If there is a proper label tag, we
expect the widget to get its name/title from that label. The aria
labelledby property is exposed in addition to the label; not instead
of the label.

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-10-16

* platform/gtk/TestExpectations: Unskipped failing test.
* platform/gtk/accessibility/radio-button-title-label-expected.txt: Added.

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

7 years agoAccidental switch fall-through in DFG::FixupPhase
fpizlo@apple.com [Tue, 16 Oct 2012 21:59:35 +0000 (21:59 +0000)]
Accidental switch fall-through in DFG::FixupPhase
https://bugs.webkit.org/show_bug.cgi?id=96956
<rdar://problem/12313242>

Reviewed by Mark Hahnenberg.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):

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

7 years ago[chromium] add Mountain Lion baselines
dpranke@chromium.org [Tue, 16 Oct 2012 21:58:20 +0000 (21:58 +0000)]
[chromium] add Mountain Lion baselines
https://bugs.webkit.org/show_bug.cgi?id=99505

Reviewed by Ojan Vafai.

This change adds a temporary 10.8/MountainLion-specific
expectations file for Chromium so that the bot can be green
while we are updating all the baselines and triaging failures.

Tools:

* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort.expectations_files):
* Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
(ChromiumMacPortTest.test_ml_expectations):

LayoutTests:

* platform/chromium-mac-mountainlion/TestExpectations: Added.

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

7 years agoSource/WebCore: Unreviewed, try to fix the Apple Win build by forcing a rebuild of...
tony@chromium.org [Tue, 16 Oct 2012 21:57:45 +0000 (21:57 +0000)]
Source/WebCore: Unreviewed, try to fix the Apple Win build by forcing a rebuild of RenderingAllInOne.cpp.

* rendering/RenderingAllInOne.cpp:

Source/WebKit2: Unreviewed, revert previous WebKit2.def change. Exports shouldn't matter.

* win/WebKit2.def:

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

7 years ago[GTK] accessibility/inline-continuations.html is failing
commit-queue@webkit.org [Tue, 16 Oct 2012 21:51:27 +0000 (21:51 +0000)]
[GTK] accessibility/inline-continuations.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98367

Unreviewed. Unskipped test, new port-specific expectations.

ATs for the GTK port are expecting only meaningful text objects, with
the text of spans getting folded into the parent object.

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-10-16

* platform/gtk/TestExpectations: Updated to unskip test.
* platform/gtk/accessibility/inline-continuations-expected.txt: Added.

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

7 years agoFix crash in WebCore::MediaControlPanelElement::makeTransparent()
scherkus@chromium.org [Tue, 16 Oct 2012 21:42:31 +0000 (21:42 +0000)]
Fix crash in WebCore::MediaControlPanelElement::makeTransparent()
https://bugs.webkit.org/show_bug.cgi?id=97951

Reviewed by Simon Fraser.

No new tests as it's a speculative fix based on crash dump analysis.

Despite MediaControlPanelElement checking for document()->page() nullity in other places, it forgot one check in makeTransparent().

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::makeTransparent):

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

7 years agoUnreviewed, try to fix the Apple Win build.
tony@chromium.org [Tue, 16 Oct 2012 21:37:48 +0000 (21:37 +0000)]
Unreviewed, try to fix the Apple Win build.

* win/WebKit2.def:

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

7 years agoRemove special-case flooring of baselinePosition for replaced elements in InlineFlowB...
eae@chromium.org [Tue, 16 Oct 2012 21:32:39 +0000 (21:32 +0000)]
Remove special-case flooring of baselinePosition for replaced elements in InlineFlowBox::placeBoxesInBlockDirection
https://bugs.webkit.org/show_bug.cgi?id=99376

Reviewed by Levi Weintraub.

Source/WebCore:

In r122769 (bug 91410) we added a special-case handling for
replaced elements in InlineFlowBox::placeBoxesInBlockDirection
to work around positioning issues in a couple of svg tests.
This was needed to compensate for a workaround in the table
painting code that was fixed in r131358 (bug 99364). As such the
special-case handling for replaced elements is no longer needed
in InlineFlowBox::placeBoxesInBlockDirection.

Furthermore this caused problems with caret repainting leaving
residual pixels which motivated this change.

No new tests, have not been able to write a repaint test to
demonstrate the caret repaint issue.

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):

LayoutTests:

* platform/chromium/TestExpectations:

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

7 years agoSome #include hygiene
simon.fraser@apple.com [Tue, 16 Oct 2012 21:26:01 +0000 (21:26 +0000)]
Some #include hygiene
https://bugs.webkit.org/show_bug.cgi?id=99500

Reviewed by Tony Chang.

Clean up some #includes, mostly related to GraphicsLayer.h. In many
cases this can be replaced by PlatformLayer.h.

Remove an #include of PluginViewBase.h from Page.h, which was a source
of #include fan-out.

* html/canvas/CanvasRenderingContext2D.h:
* page/Page.h:
* page/scrolling/ScrollingCoordinator.h:
* page/scrolling/ScrollingStateNode.h:
* page/scrolling/mac/ScrollingStateNodeMac.mm:
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/MediaPlayer.h:
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
* platform/graphics/gpu/DrawingBuffer.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
* plugins/PluginViewBase.h:

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

7 years agoGetScopedVar CSE matches dead GetScopedVar's leading to IR corruption
fpizlo@apple.com [Tue, 16 Oct 2012 21:22:18 +0000 (21:22 +0000)]
GetScopedVar CSE matches dead GetScopedVar's leading to IR corruption
https://bugs.webkit.org/show_bug.cgi?id=99470
<rdar://problem/12363698>

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

All it takes is to follow the "if (!shouldGenerate) continue" idiom and everything will be OK.

* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::globalVarLoadElimination):
(JSC::DFG::CSEPhase::scopedVarLoadElimination):
(JSC::DFG::CSEPhase::globalVarWatchpointElimination):
(JSC::DFG::CSEPhase::getByValLoadElimination):
(JSC::DFG::CSEPhase::checkStructureElimination):
(JSC::DFG::CSEPhase::structureTransitionWatchpointElimination):
(JSC::DFG::CSEPhase::getByOffsetLoadElimination):

LayoutTests:

Rubber stamped by Mark Hahnenberg.

* fast/js/dfg-cse-dead-get-scoped-var-expected.txt: Added.
* fast/js/dfg-cse-dead-get-scoped-var.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-cse-dead-get-scoped-var.js: Added.
(foo.return.if):
(foo):

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

7 years agoDocument::adoptNode shouldn't special-case <iframe>
abarth@webkit.org [Tue, 16 Oct 2012 21:17:37 +0000 (21:17 +0000)]
Document::adoptNode shouldn't special-case <iframe>
https://bugs.webkit.org/show_bug.cgi?id=99247

Reviewed by Ryosuke Niwa.

Source/WebCore:

The special case was added in http://trac.webkit.org/changeset/75293 to
fix a bug with magic iframes. Originally, I planned to remove this
special case, but further investigation reveals that other browsers
throw exceptions for other frame owner elements as well. Now we treat
all frame owner elements the same way.

Test: fast/frames/adopt-object-into-itself.html

* dom/Document.cpp:
(WebCore::Document::adoptNode):

LayoutTests:

Test that adopting an object element into itself also throws an
exception.

* fast/frames/adopt-object-into-itself-expected.txt: Added.
* fast/frames/adopt-object-into-itself.html: Added.

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

7 years agoInit timeout flag in ResourceErrorMac
dominik.rottsches@intel.com [Tue, 16 Oct 2012 21:05:15 +0000 (21:05 +0000)]
Init timeout flag in ResourceErrorMac
https://bugs.webkit.org/show_bug.cgi?id=99478

Reviewed by Alexey Proskuryakov.

On construction from platform error types, initialize the timeout flag
to true if the error results from a timeout.

No new tests, covered by tests that will be added in bug 74802.

* platform/network/mac/ResourceErrorMac.mm:
(WebCore::ResourceError::platformLazyInit): Initializing timeout flag if the error was a timeout.

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

7 years agolots-of-objects.html is flaky crashing on the webkit.org mac bot.
danakj@chromium.org [Tue, 16 Oct 2012 21:04:19 +0000 (21:04 +0000)]
lots-of-objects.html is flaky crashing on the webkit.org mac bot.
http://code.google.com/p/chromium/issues/detail?id=46603

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

7 years agoinput[type=range] as a flex item renders thumb at wrong position
tony@chromium.org [Tue, 16 Oct 2012 21:00:13 +0000 (21:00 +0000)]
input[type=range] as a flex item renders thumb at wrong position
https://bugs.webkit.org/show_bug.cgi?id=98666

Reviewed by Ojan Vafai.

Source/WebCore:

Replace RenderSlider implementation with new flexbox and clean up the shadow DOM.
The previous code was trying to set the height to 100% and had a bunch of hacks in
the renderer code to set an explicit height. Using the new flexbox allows us to
remove these renderer hacks.

Test: css3/flexbox/flexitem-stretch-range.html

* css/html.css:
(input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container): Use new flexbox.
(input[type="range"]::-webkit-slider-runnable-track): Use new flexbox.
(input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb): Remove relative positioning since we're
no longer setting top/left in the layout code.
* css/mediaControlsChromium.css: Remove redundant styles and bottom: 1px hack.
* css/mediaControlsChromiumAndroid.css: Remove redundant styles and bottom: 1px hack.
* html/RangeInputType.cpp:
(WebCore::RangeInputType::listAttributeTargetChanged): We need to force a layout
since the height of the control should change when adding/removing a datalist.
* html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderContainer::RenderSliderContainer): Use new flexbox.
(WebCore::RenderSliderContainer::computeLogicalHeight): Rather than setting style()->height() in layout, just compute the correct
height when asked.  If we have a datalist, we increase the height (same code as before).  If we're vertical,
we use the intrinsic size.
(WebCore::RenderSliderContainer::layout): Remove extra layout code, but handle the position of the thumb.
This used to be handled in the thumb's layout method, but I deleted that.
* html/shadow/SliderThumbElement.h:
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::RenderSlider): Use new flexbox.
(WebCore::RenderSlider::layout): Set the limiter size to the size of the thumb. This is necessary
for fast/css/unknown-pseudo-element-matching.html which tries to set the height of the thumb to 1px
and expects the input to also have a height of 1px.  It worked before because the height of the input
didn't depend on the height of its children.
* rendering/RenderSlider.h: Fix indentation.
(RenderSlider): Use new flexible box.

LayoutTests:

Changing the render tree to use RenderFlexibleBox instead of RenderDeprecatedFlexibleBox
and not using a RenderLayer unless noted otherwise.

* css3/flexbox/flexitem-stretch-range-expected.html: Added.
* css3/flexbox/flexitem-stretch-range.html: Added. New test to verify stretched flex item has the
thumb in the correct place.
* platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
* platform/chromium-linux/fast/forms/box-shadow-override-expected.txt:
* platform/chromium-linux/fast/forms/datalist/input-appearance-range-with-datalist-expected.png: Changed the default height to
129px for vertical controls. This makes more sense than having a height of 100%.
* platform/chromium-linux/fast/forms/input-appearance-height-expected.txt:
* platform/chromium-linux/fast/forms/range/input-appearance-range-expected.png: The thumb now appears below the
focus ring. This matches other form controls like buttons and textareas.
* platform/chromium-linux/fast/forms/range/input-appearance-range-expected.txt:
* platform/chromium-linux/fast/forms/range/range-thumb-height-percentage-expected.txt:
* platform/chromium-linux/fast/forms/range/slider-padding-expected.txt:
* platform/chromium-linux/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/chromium-linux/fast/forms/range/slider-thumb-stylability-expected.txt:
* platform/chromium-linux/fast/hidpi/video-controls-in-hidpi-expected.txt:
* platform/chromium-linux/fast/multicol/client-rects-expected.txt:
* platform/chromium-linux/fast/repaint/slider-thumb-drag-release-expected.txt:
* platform/chromium-linux/fast/repaint/slider-thumb-float-expected.txt:
* platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.txt:
* platform/chromium-win/fast/layers/video-layer-expected.txt:
* platform/chromium-win/media/audio-controls-rendering-expected.txt:
* platform/chromium-win/media/audio-repaint-expected.txt:
* platform/chromium-win/media/controls-after-reload-expected.txt:
* platform/chromium-win/media/controls-strict-expected.txt:
* platform/chromium-win/media/controls-styling-expected.txt:
* platform/chromium-win/media/controls-styling-strict-expected.txt:
* platform/chromium-win/media/controls-without-preload-expected.txt:
* platform/chromium-win/media/media-controls-clone-expected.txt:
* platform/chromium-win/media/media-document-audio-repaint-expected.txt:
* platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.txt:
* platform/chromium-win/media/video-controls-rendering-expected.txt:
* platform/chromium-win/media/video-display-toggle-expected.txt:
* platform/chromium-win/media/video-empty-source-expected.txt:
* platform/chromium-win/media/video-no-audio-expected.txt:
* platform/chromium-win/media/video-playing-and-pause-expected.txt:
* platform/chromium-win/media/video-zoom-controls-expected.txt:

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

7 years agoRemove Platform.h include from the header files.
commit-queue@webkit.org [Tue, 16 Oct 2012 20:59:07 +0000 (20:59 +0000)]
Remove Platform.h include from the header files.
https://bugs.webkit.org/show_bug.cgi?id=98665

Patch by Dima Gorbik <dgorbik@apple.com> on 2012-10-16
Reviewed by Eric Seidel.

We don't want other clients that include WebKit headers to know about Platform.h.

Source/JavaScriptCore:

* API/tests/minidom.c:
* API/tests/testapi.c:

Source/WebCore:

No new tests.

* platform/MemoryPressureHandler.h:
* platform/graphics/filters/arm/FECompositeArithmeticNEON.h:
* platform/graphics/filters/arm/FEGaussianBlurNEON.h:
* platform/graphics/filters/arm/FELightingNEON.h:

Source/WTF:

* wtf/Assertions.h:
* wtf/MainThread.h:

Tools:

* DumpRenderTree/mac/MockGeolocationProvider.mm:

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

7 years ago[Chromium] Android: Need a way to get appropriate font for some specific characters.
wangxianzhu@chromium.org [Tue, 16 Oct 2012 20:45:24 +0000 (20:45 +0000)]
[Chromium] Android: Need a way to get appropriate font for some specific characters.
https://bugs.webkit.org/show_bug.cgi?id=67587

Reviewed by Adam Barth.

Source/WebCore:

Use the new Skia API SkGetFallbackFamilyNameForChar() to get the family name for individual characters.

No new tests. The following existing tests pass with the change:
fast/writing-mode/vertical-subst-font-vert-no-dflt.html
fast/dynamic/text-combine.html
fast/writing-mode/japanese-rl-text.html
fast/writing-mode/japanese-rl-selection.html
fast/writing-mode/japanese-lr-text.html
fast/repaint/japanese-rl-selection-repaint.html
fast/writing-mode/border-vertical-lr.html

* platform/graphics/chromium/FontCacheAndroid.cpp:
(WebCore::FontCache::getFontDataForCharacters):

Source/WebKit/chromium:

Define ENABLE_OPENTYPE_VERTICAL=1 on Android.

* features.gypi:

LayoutTests:

Removed unnecessary rebaselines.
Removed failure expectations for the tests now pass.
Added pixel only rebaselines for some of the above tests.

* platform/chromium-android/fast/repaint/japanese-rl-selection-repaint-expected.png: Added. New pixel rebaseline.
* platform/chromium-android/fast/writing-mode/japanese-lr-selection-expected.png: Removed. Unnecessary rebaseline.
* platform/chromium-android/fast/writing-mode/japanese-lr-selection-expected.txt: Removed. Unnecessary rebaseline.
* platform/chromium-android/fast/writing-mode/japanese-rl-selection-expected.png: Added. New pixel rebaseline.
* platform/chromium-android/fast/writing-mode/japanese-rl-text-with-broken-font-expected.png: Removed. Unnecessary rebaseline.
* platform/chromium/TestExpectations: Removed the failure expectations for the tests now pass.

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

7 years agoMediaStream API: Add the chromium API for RTCDataChannel
tommyw@google.com [Tue, 16 Oct 2012 20:41:36 +0000 (20:41 +0000)]
MediaStream API: Add the chromium API for RTCDataChannel
https://bugs.webkit.org/show_bug.cgi?id=99435

Reviewed by Adam Barth.

Source/Platform:

Adding WebRTCDataChannel.

* Platform.gypi:
* chromium/public/WebRTCDataChannel.h: Added.
(WebCore):
(WebKit):
(WebRTCDataChannel):
(ExtraData):
(WebKit::WebRTCDataChannel::ExtraData::~ExtraData):
(WebKit::WebRTCDataChannel::WebRTCDataChannel):
(WebKit::WebRTCDataChannel::~WebRTCDataChannel):
(WebKit::WebRTCDataChannel::operator=):
(WebKit::WebRTCDataChannel::isNull):
* chromium/public/WebRTCPeerConnectionHandler.h:
(WebKit):
(WebRTCPeerConnectionHandler):
(WebKit::WebRTCPeerConnectionHandler::openDataChannel):
(WebKit::WebRTCPeerConnectionHandler::sendStringData):
(WebKit::WebRTCPeerConnectionHandler::sendRawData):
(WebKit::WebRTCPeerConnectionHandler::closeDataChannel):

Source/WebCore:

Adding WebRTCDataChannel.

Test: fast/mediastream/RTCPeerConnection-datachannel.html

* WebCore.gypi:
* platform/chromium/support/WebRTCDataChannel.cpp: Added.
(WebKit):
(ExtraDataContainer):
(WebKit::ExtraDataContainer::ExtraDataContainer):
(WebKit::ExtraDataContainer::extraData):
(WebKit::WebRTCDataChannel::WebRTCDataChannel):
(WebKit::WebRTCDataChannel::initialize):
(WebKit::WebRTCDataChannel::assign):
(WebKit::WebRTCDataChannel::reset):
(WebKit::WebRTCDataChannel::operator PassRefPtr<WebCore::RTCDataChannelDescriptor>):
(WebKit::WebRTCDataChannel::operator WebCore::RTCDataChannelDescriptor*):
(WebKit::WebRTCDataChannel::extraData):
(WebKit::WebRTCDataChannel::setExtraData):
(WebKit::WebRTCDataChannel::label):
(WebKit::WebRTCDataChannel::reliable):
(WebKit::WebRTCDataChannel::setBufferedAmount):
(WebKit::WebRTCDataChannel::readyStateChanged):
(WebKit::WebRTCDataChannel::dataArrived):
(WebKit::WebRTCDataChannel::error):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::negotiationNeeded):
(WebCore::RTCPeerConnectionHandlerChromium::didGenerateICECandidate):
(WebCore):
(WebCore::RTCPeerConnectionHandlerChromium::didChangeReadyState):
(WebCore::RTCPeerConnectionHandlerChromium::didChangeICEState):
(WebCore::RTCPeerConnectionHandlerChromium::didRemoveRemoteStream):

Source/WebKit/chromium:

Adding checks for RTCDataChannel.

* src/AssertMatchingEnums.cpp:

Tools:

Adding mock support for WebRTCDataChannel.

* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
(StringDataTask):
(StringDataTask::StringDataTask):
(CharPtrDataTask):
(CharPtrDataTask::CharPtrDataTask):
(DataChannelReadyStateTask):
(DataChannelReadyStateTask::DataChannelReadyStateTask):
(RTCPeerConnectionReadyStateTask):
(RTCPeerConnectionReadyStateTask::RTCPeerConnectionReadyStateTask):
(MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
(MockWebRTCPeerConnectionHandler::initialize):
(MockWebRTCPeerConnectionHandler::stop):
(MockWebRTCPeerConnectionHandler::openDataChannel):
(MockWebRTCPeerConnectionHandler::closeDataChannel):
(MockWebRTCPeerConnectionHandler::sendStringData):
(MockWebRTCPeerConnectionHandler::sendRawData):
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:
(MockWebRTCPeerConnectionHandler):

LayoutTests:

Adding tests for RTCDataChannel.

* fast/mediastream/RTCPeerConnection-datachannel-expected.txt: Added.
* fast/mediastream/RTCPeerConnection-datachannel.html: Added.

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

7 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Tue, 16 Oct 2012 20:36:20 +0000 (20:36 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

7 years agoUpdate indentation in *ResourceLoader headers to match modern WebKit style
beidson@apple.com [Tue, 16 Oct 2012 20:22:18 +0000 (20:22 +0000)]
Update indentation in *ResourceLoader headers to match modern WebKit style
https://bugs.webkit.org/show_bug.cgi?id=99487

Reviewed by Beth Dakin.

I'm going to be working on these classes and the indentation is driving me crazy.

* loader/MainResourceLoader.h:
(WebCore):
(MainResourceLoader):
(WebCore::MainResourceLoader::isLoadingMultipartContent):

* loader/NetscapePlugInStreamLoader.h:
(WebCore):
(NetscapePlugInStreamLoaderClient):
(WebCore::NetscapePlugInStreamLoaderClient::didFinishLoading):
(WebCore::NetscapePlugInStreamLoaderClient::wantsAllStreams):
(WebCore::NetscapePlugInStreamLoaderClient::~NetscapePlugInStreamLoaderClient):
(NetscapePlugInStreamLoader):

* loader/ResourceLoader.h:
(WebCore):
(ResourceLoader):
(WebCore::ResourceLoader::documentLoader):
(WebCore::ResourceLoader::originalRequest):
(WebCore::ResourceLoader::identifier):
(WebCore::ResourceLoader::didReceiveCachedMetadata):
(WebCore::ResourceLoader::willStopBufferingData):
(WebCore::ResourceLoader::shouldUseCredentialStorage):
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
(WebCore::ResourceLoader::didCancelAuthenticationChallenge):
(WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace):
(WebCore::ResourceLoader::receivedCancellation):
(WebCore::ResourceLoader::url):
(WebCore::ResourceLoader::handle):
(WebCore::ResourceLoader::sendResourceLoadCallbacks):
(WebCore::ResourceLoader::reachedTerminalState):
(WebCore::ResourceLoader::request):
(WebCore::ResourceLoader::cancelled):
(WebCore::ResourceLoader::defersLoading):

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

7 years agoUnreviewed, rebaseline 2 Chromium Mac test.
tony@chromium.org [Tue, 16 Oct 2012 20:20:01 +0000 (20:20 +0000)]
Unreviewed, rebaseline 2 Chromium Mac test.
Small differences due to using MESA.

* platform/chromium-mac/platform/chromium/virtual/gpu/fast/hidpi/focus-rings-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi-expected.png: Added.
* platform/chromium/TestExpectations:

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=99254
bdakin@apple.com [Tue, 16 Oct 2012 20:14:37 +0000 (20:14 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=99254
Make ScrollingTree an actual tree of nodes, and have it reflect the
ScrollingStateTree

Reviewed by Simon Fraser.

This patch finally makes the ScrollingTree over on the
ScrollingThread aware of the changes that we have been making to the
ScrollingStateTree.

First, it makes ScrollingTreeNode a much more generic class, similar
to ScrollingStateNode. It is an abstract class and we will add other
types of nodes such as ScrollingTreeFixedNodes that will inherit from
this class.

All of the scrolling functionality that was in ScrollingTreeNode has
been moved to ScrollingTreeScrollingNode. And likewise,
ScrollingTreeNodeMac has been re-named to
ScrollingTreeScrollingNodeMac.

And finally, instead of just updating and creating the root node,
ScrollingTree now recurses through the whole ScrollingStateTree to
create and update a full tree of nodes.

New files and moves files.
* WebCore.xcodeproj/project.pbxproj:

Add a getter for the children vector since we need to recurse it in
ScrollingTree.
* page/scrolling/ScrollingStateNode.h:
(WebCore::ScrollingStateNode::children):
(ScrollingStateNode):

m_rootNode is now a ScrollingTreeScrollingNode.
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::ScrollingTree):

Instead of just updating the root node, call two new functions that
will take care of updating the whole tree.
(WebCore::ScrollingTree::commitNewTreeState):

This function ecurses through the ScrollingStateTree and updates the
corresponding ScrollingTreeNodes.
(WebCore::ScrollingTree::updateNodesFromStateNode):

This function takes the ScrollingStateTree's list of removed nodes
and removes the corresponding nodes from the ScrollingTree. It will
destroy the nodes after removing it as long as it's not the root
node. I think it's the safest choice for now to never remove the root
node.
(WebCore::ScrollingTree::removeDestroyedNodes):

ScrollingTree now keeps a HashMap mapping ScrollingNodeIDs to
ScrollingTreeNodes.
* page/scrolling/ScrollingTree.h:

All of the scrolling-related functionality has been moved from this
class to new class ScrollingTreeScrollingNode. And some basic tree
traversal functionality has been added.
* page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::ScrollingTreeNode):
(WebCore::ScrollingTreeNode::appendChild):
(WebCore::ScrollingTreeNode::removeChild):
* page/scrolling/ScrollingTreeNode.h:
(WebCore):
(ScrollingTreeNode):
(WebCore::ScrollingTreeNode::scrollingNodeID):
(WebCore::ScrollingTreeNode::setScrollingNodeID):
(WebCore::ScrollingTreeNode::parent):
(WebCore::ScrollingTreeNode::setParent):
(WebCore::ScrollingTreeNode::scrollingTree):

This class contains all of the scrolling-related work that used to be
done in ScrollingTreeNode.
* page/scrolling/ScrollingTreeScrollingNode.cpp: Added.
(WebCore):
(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::~ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::update):
* page/scrolling/ScrollingTreeScrollingNode.h: Added.
(WebCore):
(ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::shouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingTreeScrollingNode::viewportRect):
(WebCore::ScrollingTreeScrollingNode::contentsSize):
(WebCore::ScrollingTreeScrollingNode::horizontalScrollElasticity):
(WebCore::ScrollingTreeScrollingNode::verticalScrollElasticity):
(WebCore::ScrollingTreeScrollingNode::hasEnabledHorizontalScrollbar):
(WebCore::ScrollingTreeScrollingNode::hasEnabledVerticalScrollbar):
(WebCore::ScrollingTreeScrollingNode::canHaveScrollbars):
(WebCore::ScrollingTreeScrollingNode::scrollOrigin):

I noticed this whitespace error and had to fix it.
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::detachFromStateTree):

Include ScrollingTreeScrollingNodeMac.h instead of
ScrollingTreeNodeMac.h
* page/scrolling/mac/ScrollingTreeMac.mm:

This class was just re-named.
* page/scrolling/mac/ScrollingTreeNodeMac.h: Removed.
* page/scrolling/mac/ScrollingTreeNodeMac.mm: Removed.
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.h: Copied from page/scrolling/mac/ScrollingTreeNodeMac.h.
(ScrollingTreeScrollingNodeMac):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm: Copied from page/scrolling/mac/ScrollingTreeNodeMac.mm.
(WebCore::ScrollingTreeScrollingNode::create):
(WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
(WebCore::ScrollingTreeScrollingNodeMac::~ScrollingTreeScrollingNodeMac):
(WebCore::ScrollingTreeScrollingNodeMac::update):
(WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
(WebCore::ScrollingTreeScrollingNodeMac::allowsHorizontalStretching):
(WebCore::ScrollingTreeScrollingNodeMac::allowsVerticalStretching):
(WebCore::ScrollingTreeScrollingNodeMac::stretchAmount):
(WebCore::ScrollingTreeScrollingNodeMac::pinnedInDirection):
(WebCore::ScrollingTreeScrollingNodeMac::canScrollHorizontally):
(WebCore::ScrollingTreeScrollingNodeMac::canScrollVertically):
(WebCore::ScrollingTreeScrollingNodeMac::shouldRubberBandInDirection):
(WebCore::ScrollingTreeScrollingNodeMac::absoluteScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::immediateScrollBy):
(WebCore::ScrollingTreeScrollingNodeMac::immediateScrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNodeMac::startSnapRubberbandTimer):
(WebCore::ScrollingTreeScrollingNodeMac::stopSnapRubberbandTimer):
(WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
(WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::scrollBy):
(WebCore::ScrollingTreeScrollingNodeMac::scrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
(WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):

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

7 years agoAdd a new layer type for the page tiled cache layer
simon.fraser@apple.com [Tue, 16 Oct 2012 20:00:07 +0000 (20:00 +0000)]
Add a new layer type for the page tiled cache layer
https://bugs.webkit.org/show_bug.cgi?id=99491

Reviewed by Dean Jackson.

In preparation for using tile cache layers in place of CATiledLayer,
add a new PlatformCALayer layer type LayerTypePageTileCacheLayer,
since the page tile cache will have some different behavior from
other tile cache layers.

Generalize code that was looking at LayerTypeTileCacheLayer to use
usesTileCacheLayer() if it applies to both types of tile caches.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::recursiveCommitChanges): Show the tile
wash for tiled layers as well as layers with transforms (the tile
wash is just for debugging).
(WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
* platform/graphics/ca/PlatformCALayer.h:
(WebCore::PlatformCALayer::usesTileCacheLayer):
(PlatformCALayer):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::PlatformCALayer):
(PlatformCALayer::~PlatformCALayer):
(PlatformCALayer::tiledBacking):
* platform/graphics/mac/WebLayer.mm:
(drawLayerContents): Avoid double-drawing the repaint counter in tile cache layers.

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

7 years agoAn feImage that tries to render itself should be stopped
schenney@chromium.org [Tue, 16 Oct 2012 19:48:18 +0000 (19:48 +0000)]
An feImage that tries to render itself should be stopped
https://bugs.webkit.org/show_bug.cgi?id=94652

Reviewed by Eric Seidel.

Source/WebCore:

An SVG feImage filter element will accept, as the src to render, an
SVG document that makes use of the feImage itself. This causes the
feImage to try to draw itself while already in the process of drawing
itself. Various problems arise from this. The invariant we wish to
maintain is that no element in the src tree of an feImage element
refers to that feImage.

This patch adds a flag to all FilterData objects that tracks whether or
not the filter is currently applying itself, and avoids applying the
filter recursively.

While it may seem better to catch this problem when the src is set, or
when the filter is built, that turns out to be challenging and
inefficient. Say we choose to test when the src atttribute is set. To
do so would require looking through all of the DOM nodes that will be
rendered for the src, finding all resources used, and checking if any
of them make use fo the feImage element that we are setting the source
for. The infrastructure is not in place to do that, and it would
involve walking a potentially very large portion of the DOM in order
to detect a very rare situation. Note that it is not enough just to
walk the DOM directly under the src; we also need to recursively follow any
resource links to see if they use the feImage (e.g. patterns or
masks or use or ...).

If we instead try to use the renderer node to find self referencing,
we need to recursively walk a potentially very large render tree,
tracing all resources in search of the feImage. This would need to be
done every time the filter is built, which is again a significant
overhead for a situation that is very unlikely to occur. And we do not
have methods that make it easy to find feImage filter effect nodes; they are
hidden behind filter resource nodes.

Hence the runtime check to catch the problem. The check must be in
FilterData and RenderSVGResourceFilter code because we must prevent
the destruction of the feImage when we encounter it recursively.

This patch also renames FilterData::builded to FilterData::isBuilt.

Test: svg/filters/feImage-self-referencing.html

* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::ApplyingFilterEffectGuard): Guard to ensure that, in the future, we always
clear the isApplying flag even if the postApplyResource method returns early.
(WebCore::RenderSVGResourceFilter::applyResource): Do not apply a resource that is already applying and
rename builded to isBuilt.
(WebCore::RenderSVGResourceFilter::postApplyResource): Mark a resource as applying and clear after
it is done. Abort if a resource is already applying when the method begins. Rename builded to isBuilt.
(WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): Rename builded to isBuilt.
* rendering/svg/RenderSVGResourceFilter.h:
(WebCore::FilterData::FilterData):
(FilterData): Add isApplying and rename builded to isBuilt.

LayoutTests:

Ref-test to verify that an feImage that tries to draw itself will not
crash. This test must be render in order to verify the result. Do not
convert to dumpAstext.

* svg/filters/feImage-self-referencing-expected.html: Added.
* svg/filters/feImage-self-referencing.html: Added.

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

7 years agosendResourceLoadCallbacks() is poorly named
japhet@chromium.org [Tue, 16 Oct 2012 19:45:46 +0000 (19:45 +0000)]
sendResourceLoadCallbacks() is poorly named
https://bugs.webkit.org/show_bug.cgi?id=99482

Reviewed by Alexey Proskuryakov.

In both CachedResource and ResourceLoader, rename sendResourceLoadCallbacks()
to shouldSendResourceLoadCallbacks() to better indicate that it is a simple getter.

No new tests, simple renaming.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache):
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::shouldSendResourceLoadCallbacks):
* loader/cache/CachedResource.h:
(WebCore::CachedResource::shouldSendResourceLoadCallbacks):

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

7 years agoRename some AudioNodes
crogers@google.com [Tue, 16 Oct 2012 19:43:53 +0000 (19:43 +0000)]
Rename some AudioNodes
https://bugs.webkit.org/show_bug.cgi?id=99358

Reviewed by Daniel Bates.

Source/WebCore:

Here's a list of the node names, showing the changing ones:
    AudioBufferSourceNode
    MediaElementAudioSourceNode
    MediaStreamAudioSourceNode
    JavaScriptAudioNode ------------> ScriptProcessorNode
    RealtimeAnalyserNode ------------> AnalyserNode
    AudioGainNode ------------> GainNode
    DelayNode
    BiquadFilterNode
    AudioPannerNode ------------> PannerNode
    ConvolverNode
    AudioChannelSplitter ------------> ChannelSplitterNode
    AudioChannelMerger ------------> ChannelMergerNode
    DynamicsCompressorNode
    Oscillator ------------> OscillatorNode

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Modules/webaudio/AnalyserNode.cpp: Renamed from Source/WebCore/Modules/webaudio/RealtimeAnalyserNode.cpp.
* Modules/webaudio/AnalyserNode.idl: Renamed from Source/WebCore/Modules/webaudio/RealtimeAnalyserNode.idl.
* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::setPannerNode):
* Modules/webaudio/AudioBufferSourceNode.h:
(AudioBufferSourceNode):
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createJavaScriptNode):
(WebCore::AudioContext::createPanner):
(WebCore::AudioContext::createAnalyser):
(WebCore::AudioContext::createGainNode):
(WebCore::AudioContext::createChannelSplitter):
(WebCore::AudioContext::createChannelMerger):
(WebCore::AudioContext::createOscillator):
* Modules/webaudio/AudioContext.h:
(WebCore):
(AudioContext):
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/ChannelMergerNode.cpp: Renamed from Source/WebCore/Modules/webaudio/AudioChannelMerger.cpp.
* Modules/webaudio/ChannelMergerNode.h: Renamed from Source/WebCore/Modules/webaudio/AudioChannelMerger.h.
(WebCore):
(ChannelMergerNode):
* Modules/webaudio/ChannelMergerNode.idl: Renamed from Source/WebCore/Modules/webaudio/AudioChannelMerger.idl.
* Modules/webaudio/ChannelSplitterNode.cpp: Renamed from Source/WebCore/Modules/webaudio/AudioChannelSplitter.cpp.
* Modules/webaudio/ChannelSplitterNode.h: Renamed from Source/WebCore/Modules/webaudio/AudioChannelSplitter.h.
(WebCore):
(ChannelSplitterNode):
* Modules/webaudio/ChannelSplitterNode.idl: Renamed from Source/WebCore/Modules/webaudio/AudioChannelSplitter.idl.
* Modules/webaudio/DOMWindowWebAudio.idl:
* Modules/webaudio/GainNode.cpp: Renamed from Source/WebCore/Modules/webaudio/AudioGainNode.cpp.
* Modules/webaudio/GainNode.h: Renamed from Source/WebCore/Modules/webaudio/AudioGainNode.h.
* Modules/webaudio/GainNode.idl: Renamed from Source/WebCore/Modules/webaudio/AudioGainNode.idl.
* Modules/webaudio/OscillatorNode.cpp: Renamed from Source/WebCore/Modules/webaudio/Oscillator.cpp.
* Modules/webaudio/OscillatorNode.h: Renamed from Source/WebCore/Modules/webaudio/Oscillator.h.
* Modules/webaudio/OscillatorNode.idl: Renamed from Source/WebCore/Modules/webaudio/Oscillator.idl.
* Modules/webaudio/PannerNode.cpp: Renamed from Source/WebCore/Modules/webaudio/AudioPannerNode.cpp.
* Modules/webaudio/PannerNode.h: Renamed from Source/WebCore/Modules/webaudio/AudioPannerNode.h.
(WebCore):
* Modules/webaudio/PannerNode.idl: Renamed from Source/WebCore/Modules/webaudio/AudioPannerNode.idl.
* Modules/webaudio/ScriptProcessorNode.cpp: Renamed from Source/WebCore/Modules/webaudio/JavaScriptAudioNode.cpp.
* Modules/webaudio/ScriptProcessorNode.h: Renamed from Source/WebCore/Modules/webaudio/JavaScriptAudioNode.h.
(WebCore):
* Modules/webaudio/ScriptProcessorNode.idl: Renamed from Source/WebCore/Modules/webaudio/JavaScriptAudioNode.idl.
* Modules/webaudio/WaveTable.cpp:
(WebCore::WaveTable::createSine):
(WebCore::WaveTable::createSquare):
(WebCore::WaveTable::createSawtooth):
(WebCore::WaveTable::createTriangle):
(WebCore::WaveTable::generateBasicWaveform):
* Target.pri:
* UseJSC.cmake:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSScriptProcessorNodeCustom.cpp: Renamed from Source/WebCore/bindings/js/JSJavaScriptAudioNodeCustom.cpp.
(WebCore):
(WebCore::JSScriptProcessorNode::visitChildren):
* dom/EventTarget.h:
(WebCore):
* dom/EventTargetFactory.in:

Tools:

* Scripts/do-webcore-rename:

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

7 years ago[Texmap] Refactor TextureMapperShaderManager to be clearer
noam.rosenthal@nokia.com [Tue, 16 Oct 2012 19:13:46 +0000 (19:13 +0000)]
[Texmap] Refactor TextureMapperShaderManager to be clearer
https://bugs.webkit.org/show_bug.cgi?id=86048

Reviewed by Martin Robinson.

Previous implementation of TextureMapperShaderManager was very verbose, calling for too
many casts and ambiguous ownership.
This refactor does the following:
1. TextureMapperShaderProgram is one class without subclasses.
2. Uniform/Attribute accessors are generated by special macros (TEXMAP_DECLARE_...) that
   generate both the C++ access function, as well as the GLSL name of the variable. This
   allows adding/removing variables from a shader without adding broiler-plate code like
   before.

After this change TextureMapperShaderManager has only one responsibility - dealing with
TextureMapperGL's built-in shaders and their lifecycle. Preparing filters etc. is done
in TextureMapperGL.

This is a refactor without new functionality. It has been verified to not break any existing
relevant test.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawBorder):
(WebCore::TextureMapperGL::drawQuad):
(WebCore::TextureMapperGL::drawTextureRectangleARB):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawTextureWithAntialiasing):
(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
(WebCore::TextureMapperGL::beginClip):
    Use the MACRO-generated uniform accessors.

(WebCore):
(WebCore::keyForFilterType):
(WebCore::getPassesRequiredForFilter):
(WebCore::gauss):
(WebCore::gaussianKernel):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawFiltered):
(WebCore::BitmapTextureGL::applyFilters):
    Move the filter logic to TextureMapperGL

* platform/graphics/texmap/TextureMapperShaderManager.cpp:
(WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgram::getLocation):
(ShaderSpec):
(WebCore::ShaderSpec::ShaderSpec):
(WebCore::getShaderSpec):
(WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
(WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
(WebCore::TextureMapperShaderManager::getShaderProgram):
* platform/graphics/texmap/TextureMapperShaderManager.h:
(WebCore):
(WebCore::TextureMapperShaderProgram::programID):
(WebCore::TextureMapperShaderProgram::context):
(WebCore::TextureMapperShaderProgram::create):
(TextureMapperShaderProgram):
(TextureMapperShaderManager):
    See description.

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

7 years agoRemove unused WTF_NEW_HASHMAP_ITERATORS_INTERFACE #define
enne@google.com [Tue, 16 Oct 2012 19:06:20 +0000 (19:06 +0000)]
Remove unused WTF_NEW_HASHMAP_ITERATORS_INTERFACE #define
https://bugs.webkit.org/show_bug.cgi?id=99367

Reviewed by James Robinson.

Does what it says on the tin.

* wtf/HashTraits.h:

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

7 years ago[chromium/mac] Make spelling indicator HighDPI
thakis@chromium.org [Tue, 16 Oct 2012 19:04:04 +0000 (19:04 +0000)]
[chromium/mac] Make spelling indicator HighDPI
https://bugs.webkit.org/show_bug.cgi?id=99417

Reviewed by Stephen White.

Source/WebCore:

This is the mac version of http://trac.webkit.org/changeset/130940
Since the mac and non-mac code are very similar again, merge the two
code paths again.

Covered by editing/spelling/(inline-spelling|grammar)-markers-hidpi.html

* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::drawLineForDocumentMarker):

LayoutTests:

New baselines.

* platform/chromium-mac/editing/spelling/inline-spelling-markers-hidpi-expected.png :
* platform/chromium-mac/editing/spelling/grammar-markers-hidpi-expected.png :

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

7 years agoRemove expected fails for tests that need rebaseline after http://trac.webkit.org...
danakj@chromium.org [Tue, 16 Oct 2012 18:52:08 +0000 (18:52 +0000)]
Remove expected fails for tests that need rebaseline after trac.webkit.org/changeset/131358

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

7 years agoin a column flexbox, input overflows the box when stretched
tony@chromium.org [Tue, 16 Oct 2012 18:44:37 +0000 (18:44 +0000)]
in a column flexbox, input overflows the box when stretched
https://bugs.webkit.org/show_bug.cgi?id=99273

Reviewed by Ojan Vafai.

Source/WebCore:

Fix a bug where we didn't properly subtract padding and border when overriding the child size.
We didn't see this because of a performance optimization in RenderBox where we stretch children.
Also apply this performance optimization in new flexbox for form controls.

Test: css3/flexbox/stretch-input-in-column.html

* rendering/RenderBox.cpp:
(WebCore::flexboxChildHasStretchAlignment):
(WebCore::isStretchingVerticalFlexboxChild):
(WebCore::RenderBox::sizesLogicalWidthToFitContent): Apply performance optimization to form controls in new flexbox.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Properly subtract border and padding.

LayoutTests:

Add a ref test since we're testing form rendering. Make sure that we get the
right behavior without the performance optimization (e.g., in multiline flexbox).

* css3/flexbox/stretch-input-in-column-expected.html: Added.
* css3/flexbox/stretch-input-in-column.html: Added.

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

7 years ago[Qt] Unreviewed gardening, unskip a now passing test.
ossy@webkit.org [Tue, 16 Oct 2012 18:38:11 +0000 (18:38 +0000)]
[Qt] Unreviewed gardening, unskip a now passing test.

* platform/qt/TestExpectations:

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

7 years agoREGRESSION (r128787): Fixed position div causes other elements to not update correctly
simon.fraser@apple.com [Tue, 16 Oct 2012 18:29:38 +0000 (18:29 +0000)]
REGRESSION (r128787): Fixed position div causes other elements to not update correctly
https://bugs.webkit.org/show_bug.cgi?id=98579

Reviewed by Beth Dakin.

Source/WebCore:

RenderLayers cache repaint rects which are computed relative to the repaint container.
Repaint containers depend on whether a RenderLayerBacking has its own backing store,
so if that changes, we need to recompute repaint rects for all descendants.

Test: compositing/repaint/requires-backing-repaint.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::setRequiresOwnBackingStore):

LayoutTests:

Repaint test that scrolls an overflow element until its content layers overlap some
other composited element. Only the pixel result is interesting.

* compositing/repaint/requires-backing-repaint-expected.png: Added.
* compositing/repaint/requires-backing-repaint-expected.txt: Added.
* compositing/repaint/requires-backing-repaint.html: Added.

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

7 years ago[GStreamer] GstBuffer ref race in WebKitWebAudioSrcLoop
zandobersek@gmail.com [Tue, 16 Oct 2012 18:20:12 +0000 (18:20 +0000)]
[GStreamer] GstBuffer ref race in WebKitWebAudioSrcLoop
https://bugs.webkit.org/show_bug.cgi?id=95833

Reviewed by Philippe Normand.

The render bus used in GStreamer's implementation of AudioDestination no longer
allocates memory for each of its channels. Rather than that, when looping, the
data is rendered into a channel-specific GstBuffer. Each buffer is then chained
to the appropriate GstPad, as has been the case before.

No new tests - there are tests covering this change but they are not yet working
on the GTK port or any other GStreamer implementation of Web Audio.

* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(_WebKitWebAudioSourcePrivate): Remove an unused member variable.
(webkit_web_audio_src_init): Remove an unnecessary line.
(webKitWebAudioSrcConstructed): Ditto.
(webKitWebAudioSrcLoop):

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

7 years agoPre-process CSSGrammar.y before running through bison.
tony@chromium.org [Tue, 16 Oct 2012 18:04:01 +0000 (18:04 +0000)]
Pre-process CSSGrammar.y before running through bison.
https://bugs.webkit.org/show_bug.cgi?id=94290

Patch by Pablo Flouret <pablof@motorola.com> on 2012-10-16
Reviewed by Tony Chang.

.:

* Source/cmake/WebKitMacros.cmake:
    Use WebCore/css/makegrammar.pl to generate bison grammar files.

Source/WebCore:

Running CSSGrammar.y through a preprocessor allows the use of feature
defines in all places of the yacc file (i.e. not just in C blocks).
Mostly useful to be able to keep every part of a feature under feature
flags for self-documenting purposes.

No new tests, CSSGrammar.y should be generated correctly and everything
should keep working as before.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
    Modify build systems to use makegrammar.pl to generate the .y files
    and run those through bison.

* WebCore.gyp/WebCore.gyp:
    Add a new action to preprocess the CSSGrammar.y.in file before the
    bison rule is run.

* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
    Add the new .y.in / .y.includes files.

* css/CSSGrammar.y.in: Renamed from Source/WebCore/css/CSSGrammar.y.
    Also moved the top declarations section that has includes, defines,
    etc. to its own file. These shouldn't be touched by the first
    pass of the preprocessor. And changed the existing ENABLE(FEATURE)
    ifdefs to ENABLE_FEATURE since the ENABLE() macro is not available
    yet.
* css/CSSGrammar.y.includes: Added.
    The aforementioned declarations header section. After the .y.in file
    is processed it will be concatenated with this one to make the
    CSSGrammar.y file.

* css/makegrammar.pl:
    Modify the script to handle .y.in files.

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

7 years agoImplement testRunner.dumpSelectionRect() in WebKitTestRunner
rakuco@webkit.org [Tue, 16 Oct 2012 17:51:53 +0000 (17:51 +0000)]
Implement testRunner.dumpSelectionRect() in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=69545

Reviewed by Simon Fraser.

Source/WebCore:

* WebCore.exp.in:

Source/WebKit2:

* Shared/API/c/WKImage.h: Add another option that controls whether
the selection rectangle should be painted onto the snapshot.
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toSnapshotOptions): Add a case for the new option
mentioned above.
* Shared/ImageOptions.h: More plumbing for the option above.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scaledSnapshotWithOptions): Draw a red rectangle
around the selection area when
SnapshotOptionsPaintSelectionRectangle is set.

Tools:

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dump): Set the
kWKSnapshotOptionsPaintSelectionRectangle option if
testRunner.dumpSelectionRect() is called.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::dumpSelectionRect):
(WTR::TestRunner::shouldDumpSelectionRect):
(TestRunner):

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

7 years agoAdd missing MIPS functions to assembler.
commit-queue@webkit.org [Tue, 16 Oct 2012 17:51:22 +0000 (17:51 +0000)]
Add missing MIPS functions to assembler.
https://bugs.webkit.org/show_bug.cgi?id=98856

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2012-10-16
Reviewed by Oliver Hunt.

Implement missing functions in MacroAssemblerMIPS and MIPSAssembler.

* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::lb):
(MIPSAssembler):
(JSC::MIPSAssembler::lh):
(JSC::MIPSAssembler::cvtds):
(JSC::MIPSAssembler::cvtsd):
(JSC::MIPSAssembler::vmov):
* assembler/MacroAssemblerMIPS.h:
(MacroAssemblerMIPS):
(JSC::MacroAssemblerMIPS::load8Signed):
(JSC::MacroAssemblerMIPS::load16Signed):
(JSC::MacroAssemblerMIPS::moveDoubleToInts):
(JSC::MacroAssemblerMIPS::moveIntsToDouble):
(JSC::MacroAssemblerMIPS::loadFloat):
(JSC::MacroAssemblerMIPS::loadDouble):
(JSC::MacroAssemblerMIPS::storeFloat):
(JSC::MacroAssemblerMIPS::storeDouble):
(JSC::MacroAssemblerMIPS::addDouble):
(JSC::MacroAssemblerMIPS::convertFloatToDouble):
(JSC::MacroAssemblerMIPS::convertDoubleToFloat):

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

7 years ago[Qt] Implement fastBoundingPath/boundingPath distinction.
allan.jensen@digia.com [Tue, 16 Oct 2012 17:44:55 +0000 (17:44 +0000)]
[Qt] Implement fastBoundingPath/boundingPath distinction.
https://bugs.webkit.org/show_bug.cgi?id=99471

Reviewed by Noam Rosenthal.

Tested by existing test: svg/custom/getBBox-path.svg

* platform/graphics/Path.cpp:
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::fastBoundingRect):
(WebCore::Path::boundingRect):

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