[EFL][WK2] Add ewk_security_origin and ewk_storage_manager APIs
https://bugs.webkit.org/show_bug.cgi?id=92827

Patch by Jihye Kang <jye.kang@samsung.com> on 2012-11-02
Reviewed by Gyuyoung Kim.

Add ewk_security_origin APIs to get security origin.
These APIs will be used to get host, protocol and port of security
origin.
Add ewk_storage_manager to manage web storage and
ewk_storage_manager_origins_get to get origins list of web storage.
Add Unit tests for ewk_storage_manager and ewk_security_origin APIs.

* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::storageManager):
(ewk_context_storage_manager_get):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
(Ewk_Context):
* UIProcess/API/efl/ewk_security_origin.cpp: Added.
(Ewk_Security_Origin::Ewk_Security_Origin):
(Ewk_Security_Origin::host):
(Ewk_Security_Origin::protocol):
(Ewk_Security_Origin::port):
(ewk_security_origin_ref):
(ewk_security_origin_unref):
(ewk_security_origin_host_get):
(ewk_security_origin_protocol_get):
(ewk_security_origin_port_get):
* UIProcess/API/efl/ewk_security_origin.h: Added.
* UIProcess/API/efl/ewk_security_origin_private.h: Added.
(Ewk_Security_Origin):
(Ewk_Security_Origin::create):
* UIProcess/API/efl/ewk_storage_manager.cpp: Added.
(Ewk_Storage_Manager::Ewk_Storage_Manager):
(Ewk_Storage_Manager::getStorageOrigins):
(Ewk_Storage_Manager::createOriginList):
(_Ewk_Storage_Origins_Async_Get_Context):
(_Ewk_Storage_Origins_Async_Get_Context::_Ewk_Storage_Origins_Async_Get_Context):
(getStorageOriginsCallback):
(ewk_storage_manager_origins_get):
* UIProcess/API/efl/ewk_storage_manager.h: Added.
* UIProcess/API/efl/ewk_storage_manager_private.h: Added.
(Ewk_Storage_Manager):
(Ewk_Storage_Manager::create):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Added.
(getStorageOriginsCallback):
(TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133274 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: NMI instrument ShadowRoot. It gives us ~400k on plus.google.com
https://bugs.webkit.org/show_bug.cgi?id=100866

Reviewed by Yury Semikhatsky.

Plain vanilla memory instrumentation code for HTMLInputElement which has a ElementShadow.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* dom/DocumentOrderedMap.cpp:
(WebCore::DocumentOrderedMap::reportMemoryUsage):
(WebCore):
* dom/DocumentOrderedMap.h:
(DocumentOrderedMap):
* dom/Element.cpp:
(WebCore::Element::reportMemoryUsage):
(WebCore):
* dom/Element.h:
* dom/ElementRareData.cpp: Added.
(WebCore):
(WebCore::ElementRareData::reportMemoryUsage):
* dom/ElementRareData.h:
(ElementRareData):
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::reportMemoryUsage):
(WebCore):
* dom/ElementShadow.h:
(ElementShadow):
* dom/Node.cpp:
(WebCore::Node::reportMemoryUsage):
* dom/NodeRareData.cpp: Added.
(WebCore):
(WebCore::NodeListsNodeData::reportMemoryUsage):
(WebCore::NodeRareData::reportMemoryUsage):
* dom/NodeRareData.h:
(NodeListsNodeData):
(NodeRareData):
* dom/ShadowRoot.cpp:
(WebCore):
(WebCore::ShadowRoot::reportMemoryUsage):
* dom/ShadowRoot.h:
(ShadowRoot):
* dom/TreeScope.cpp:
(WebCore::TreeScope::reportMemoryUsage):
(WebCore):
* dom/TreeScope.h:
(TreeScope):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::reportMemoryUsage):
(WebCore):
* html/HTMLFormControlElement.h:
(HTMLFormControlElement):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::reportMemoryUsage):
(WebCore):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::reportMemoryUsage):
(WebCore):
* html/HTMLTextFormControlElement.h:
(HTMLTextFormControlElement):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133275 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][Mac][Win] Unreviewed build fix after r133182
https://bugs.webkit.org/show_bug.cgi?id=100995

Remove two methods' OVERRIDE and virtual modifiers, because they cannot be found in any base class.
Also relocate their prototypes, because they mix with the overridden ones.

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

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Middle click closes an editor and pastes selection into current editor on Linux
https://bugs.webkit.org/show_bug.cgi?id=100743

Reviewed by Alexander Pavlov.

Editor now consumes all middle mouse button mouse ups except for the ones in the main panel.
TabbedPane now consumes all middle mouse button mouse ups as well.
Navigator view does not pass focus anymore if element was selected with middle mouse button.

* inspector/front-end/DefaultTextEditor.js:
(.preventDefaultOnMouseUp):
(.consumeMouseUp):
* inspector/front-end/NavigatorView.js:
(WebInspector.NavigatorSourceTreeElement.prototype.ondblclick):
* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPane):
(WebInspector.TabbedPane.prototype.onMouseUp):
(WebInspector.TabbedPane.prototype.onMouseClick):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Common ref and unref functions for EFL WK2 objects
https://bugs.webkit.org/show_bug.cgi?id=100751

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

Added common Ewk_Object class with ref/unref API also added several aux functions for safe
Ewk_Object conversion. Used new approach on ewk_back_forward_list_item as example.

* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(Ewk_Back_Forward_List::getFromCacheOrCreate):
(Ewk_Back_Forward_List::createEinaList):
* UIProcess/API/efl/ewk_back_forward_list_item.cpp:
(EwkBackForwardListItem::EwkBackForwardListItem):
(EwkBackForwardListItem::url):
(EwkBackForwardListItem::title):
(EwkBackForwardListItem::originalURL):
(ewk_back_forward_list_item_url_get):
(ewk_back_forward_list_item_title_get):
(ewk_back_forward_list_item_original_url_get):
* UIProcess/API/efl/ewk_back_forward_list_item.h:
* UIProcess/API/efl/ewk_back_forward_list_item_private.h:
(EwkBackForwardListItem):
(EwkBackForwardListItem::create):
* UIProcess/API/efl/ewk_back_forward_list_private.h:
* UIProcess/API/efl/ewk_object.cpp: Copied from Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h.
(ewk_object_ref):
(ewk_object_unref):
* UIProcess/API/efl/ewk_object.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h.
* UIProcess/API/efl/ewk_object_private.h: Added.
(Ewk_Object):
(Ewk_Object::~Ewk_Object):
(ewk_object_is_of_type):
(ewk_object_cast_check):
(ewk_object_cast):
* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
(freeEinaList):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Compilation warning in Node.cpp when USERSELECT_ALL is disabled
https://bugs.webkit.org/show_bug.cgi?id=101025

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-02
Reviewed by Ryosuke Niwa.

The parameter 'treatment' is not used when USERSELECT_ALL is disabled.

* dom/Node.cpp:
(WebCore::Node::rendererIsEditable):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Add HTTP authentication support to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=100953

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

Add HTTP authentication support to MiniBrowser. An authentication
dialog now pops up to ask the user for credentials whenever
a Web site requires authentication.

* MiniBrowser/efl/main.c:
(auth_popup_close):
(on_auth_cancel):
(on_auth_ok):
(on_authentication_request):
(window_create):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: [JSC] implement WorkerScriptDebugServer
https://bugs.webkit.org/show_bug.cgi?id=99801

Patch by Peter Wang <peter.wang@torchmobile.com.cn> on 2012-11-02
Reviewed by Yury Semikhatsky.

To implement Worker Inspector for JSC.
The virtual function "runEventLoopWhilePaused" is defined, since there are different ways to block
the JS running in worker-context and normal page-context.
The function "isContentScript" now is virtual because the original invoked functions are useless
and cause problem in worker-context.
In function "WebCore::WorkerScriptController::attachDebugger", we invoke "initScriptIfNeeded" to
ensure the JSGloblalObject exist in the case of attaching Debugger before executing the worker
JS code (Pause on start).

No new test case.

* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
(WebCore):
* bindings/js/PageScriptDebugServer.h:
(PageScriptDebugServer):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::isContentScript):
(WebCore::ScriptDebugServer::pauseIfNeeded):
* bindings/js/ScriptDebugServer.h:
(JSC):
(ScriptDebugServer):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::attachDebugger):
(WebCore):
(WebCore::WorkerScriptController::detachDebugger):
* bindings/js/WorkerScriptController.h:
(WorkerScriptController):
* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
(WebCore):
(WebCore::WorkerScriptDebugServer::addListener):
(WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
(WebCore::WorkerScriptDebugServer::removeListener):
(WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
* bindings/js/WorkerScriptDebugServer.h:
(WorkerScriptDebugServer):
(WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
(WebCore::WorkerScriptDebugServer::isContentScript):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133281 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a common base class for date/time input types without inline editing behavior
https://bugs.webkit.org/show_bug.cgi?id=101031

Reviewed by Hajime Morita.

Add BaseChooserOnlyDateAndTimeInputType class, which will support
DateTimeChooserClient, and date/time input types inherit it if
!ENABLE(INPUT_MULTIPLE_FIELDS_UI).

No new tests. This doesn't change any behavior.

* CMakeLists.txt: Add BaseChooserOnlyDateAndTimeInputType.{cpp,h}.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* html/BaseChooserOnlyDateAndTimeInputType.cpp: Added.
* html/BaseChooserOnlyDateAndTimeInputType.h: Added.

* html/DateInputType.h: Inherit BaseChooserOnlyDateAndTimeInputType if
!ENABLE(INPUT_MULTIPLE_FIELDS_UI).
* html/DateTimeInputType.h: Ditto.
* html/DateTimeLocalInputType.h: Ditto.
* html/MonthInputType.h: Ditto.
* html/TimeInputType.h: Ditto.
* html/WeekInputType.h: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133282 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Revert QCocoaNativeInterface workaround from r131720.
https://bugs.webkit.org/show_bug.cgi?id=100842

Reviewed by Simon Hausmann.

After updating Qt5 on the buildbots, the workaround
introduced in r131720 is not needed anymore.

* platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133283 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Introduce ENABLE_DATE_AND_TIME_INPUT_TYPES, and clarify usage of other related flags
https://bugs.webkit.org/show_bug.cgi?id=101007

Reviewed by Kentaro Hara.

Source/WebCore:

ChromeClient::openDateTimeChooser and Locale::formatDateTime are
necessary if one of date/time input types is enabled and even if
ENABLE_INPUT_MULTIPLE_FIELDS_UI is disabled. So they should be wrapped
with ENABLE(DATE_AND_TIME_INPUT_TYPES).

The following clases are used only for ChromeClient::openDateTimeChooser.
They should be wrapped with the same flag.
  - class DateTimeChooser
  - class DateTiemChooserClient

The following classes/functions are used for
Locale::formatDateTime. They should be wrapped with the same flag.
  - Locale::dateFormat
  - Locale::monthFormat
  - Locale::timeFormat
  - Locale::shortTimeFormat
  - Locale::monthLabels
  - Locale::shortMonthLabels
  - Locale::standAloneMonthLabels
  - Locale::shortStandAloneMonthLabels
  - class DateTimeFormat

Also, we change the meaning of ENABLE_CALENDAR_PICKER. It meant
 1) <input> supports calendar picker UI, and
 2) WebCore/Resources/pagepopups/ is used for the calendar UI implementation.
Now ENABLE_CALENDAR_PICKER means only 2.

No new tests because of no behavior changes.

* html/BaseDateAndTimeInputType.h: This is necessary only if date/time
input types are enabled because this is a common super class of
date/time InputType classes.
* html/BaseDateAndTimeInputType.cpp: Ditto.
* html/BaseChooserOnlyDateAndTimeInputType.cpp: Ditto.
* html/BaseChooserOnlyDateAndTimeInputType.h: Ditto.

* page/ChromeClient.h: Change the flag for openDateTimeChooser, and add a comment.
* loader/EmptyClients.cpp: Follow the openDateTimeChooser flag change.
* loader/EmptyClients.h: Ditto.
* platform/DateTimeChooser.h:
This is needed only if ChromeClient::openDateTimeChooser is available.
* platform/DateTimeChooserClient.h: Ditto.

* platform/LocalizedStrings.h:
weekFormatInLDML is necessary if ENABLE(INPUT_TYPE_WEEK) regardless of
ENABLE(INPUT_MULTIPLE_FIELDS_UI).

* platform/text/PlatformLocale.h:
Change the condition for Locale::formatDateTime and the code used by
Locale::formatDateTime.
* platform/text/PlatformLocale.cpp:
(WebCore::Locale::formatDateTime):
This is necessary even if !ENABLE(INPUT_MULTIPLE_FIELDS_UI), to produce
localized representations of date/time values.
* platform/text/LocaleICU.cpp:
Change the condition for the code used by Locale::formatDateTime.
* platform/text/LocaleICU.h: Ditto.
* platform/text/LocaleNone.cpp: Ditto.
* platform/text/mac/LocaleMac.h: Ditto.
* platform/text/mac/LocaleMac.mm: Ditto.
* platform/text/win/LocaleWin.cpp: Ditto.
* platform/text/win/LocaleWin.h: Ditto.
* platform/text/DateTimeFormat.cpp: Ditto.
* platform/text/DateTimeFormat.h: Ditto.

* html/BaseMultipleFieldsDateAndTimeInputType.h:
Remove some #if-#endif for a picker indicator element because
ENABLE_CALENDAR_PICKER meaning is changed.
* html/BaseMultipleFieldsDateAndTimeInputType.cpp: Ditto.

* html/shadow/PickerIndicatorElement.cpp: CALENDAR_PICKER ->
INPUT_MULTIPLE_FIELDS_UI because ENABLE_CALENDAR_PICKER meaning is changed.
* html/shadow/PickerIndicatorElement.h: Ditto.
* rendering/RenderDetailsMarker.cpp: Ditto.
* rendering/RenderDetailsMarker.h: Ditto.
* rendering/RenderTheme.h: Ditto.
* rendering/RenderThemeChromiumCommon.cpp: Ditto.
* rendering/RenderThemeChromiumCommon.h: Ditto.
* rendering/RenderThemeChromiumMac.h: Ditto.
* rendering/RenderThemeChromiumSkia.h: Ditto.

Source/WebKit/chromium:

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::openDateTimeChooser):
Follow the ChromeClient::openDateTimeChooser flag change.
Also, add an empty implemenatation for Android.
* src/ChromeClientImpl.h:
Follow the ChromeClient::openDateTimeChooser flag change.
* src/DateTimeChooserImpl.cpp: Wrapped with
ENABLE(INPUT_MULTIPLE_FIELDS_UI). This class is not used in Android.
* src/DateTimeChooserImpl.h: Ditto.
* src/LocalizedStrings.cpp: Follow the LocalizedString.h change.

Source/WTF:

* wtf/Platform.h:
Add ENABLE_DATE_AND_TIME_INPUT_TYPES.  It's a union of
ENABLE_INPUT_TYPE_{DATE,DATETIME,DATETIMELOCAL,MONTH,TIME,WEEK}.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133284 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] WTR: Make sure that eventSender.mouseDown sends a press event for the second press
https://bugs.webkit.org/show_bug.cgi?id=101033

Reviewed by Simon Hausmann.

eventSender.mouseDown doesn't work properly since r133153 where
MouseButtonDblClick events aren't interpreted as Press events anymore.
The problem is that mouseDown sends a DblClick event instead of a Press,
while the correct way is to send both events.

Since QQuickWebView isn't doing anything with DblClick events anymore,
simply send Press events all the time and let WebCore figure out
where the double clicks are.

* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
(WTR::EventSenderProxy::updateClickCountForButton):
(WTR::EventSenderProxy::mouseDown):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133285 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Only resolve attribute-derived style once per shared ElementAttributeData.
<http://webkit.org/b/100990>

Reviewed by Antti Koivisto.

Track the serialization of the "style" attribute, and the dirtiness of the presentation attribute style
on ElementAttributeData instead of in Node flags.

This allows us to avoid duplicate work for ElementAttributeData that are shared between multiple elements,
since the state is no longer per-Element.

I've left the presentation attribute cache in there for now, since it covers two additional cases:

    - Elements with the same attributes in different order.
    - Elements with the same presentation attributes, but with differing non-presentation attributes.

It's likely that we're not gaining much from it anymore, but that's a topic for another patch.

* dom/Node.h:
* dom/ElementAttributeData.h:
(WebCore::ElementAttributeData::presentationAttributeStyle):
(WebCore::ElementAttributeData::setPresentationAttributeStyle):
(WebCore::ElementAttributeData::styleAttributeIsDirty):
(WebCore::ElementAttributeData::setStyleAttributeIsDirty):
(WebCore::ElementAttributeData::presentationAttributeStyleIsDirty):
(WebCore::ElementAttributeData::setPresentationAttributeStyleIsDirty):
(ElementAttributeData):
(WebCore::ElementAttributeData::ElementAttributeData):
* dom/Element.cpp:
(WebCore::Element::getAttribute):
* dom/Element.h:
(WebCore::Element::styleAttributeIsDirty):
(WebCore::Element::updateInvalidAttributes):
* dom/StyledElement.cpp:
(WebCore::StyledElement::updateStyleAttribute):
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::styleAttributeChanged):
(WebCore::StyledElement::inlineStyleChanged):
* dom/StyledElement.h:
(WebCore::StyledElement::invalidateStyleAttribute):

    Move the "attribute style dirty" and "style attribute valid" node flags to ElementAttributeData
    and change them to both use dirty semantics.

* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::cloneDataFrom):

    Share the presentation attribute style between cloned elements initially.

* dom/StyledElement.h:
(WebCore::StyledElement::presentationAttributeStyle):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::sweepMatchedPropertiesCache):
(WebCore::StyleResolver::matchAllRules):
(WebCore::StyleResolver::canShareStyleWithElement):
* dom/ElementAttributeData.cpp:
(WebCore::MutableElementAttributeData::MutableElementAttributeData):
(WebCore::ElementAttributeData::reportMemoryUsage):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):

    Renamed StyledElement::attributeStyle() to presentationAttributeStyle(). The old name was too
    easily confused with "style attribute".

* dom/StyledElement.cpp:
(WebCore::StyledElement::rebuildPresentationAttributeStyle):

    Renamed from updateAttributeStyle().

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133286 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Unreviewed pixel expectations gardening.

* platform/efl/TestExpectations: Skip some css3-text-decoration
tests which depend on pending features.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133287 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Fix compilation errors
https://bugs.webkit.org/show_bug.cgi?id=101027

Reviewed by Yury Semikhatsky.

* inspector/InjectedScriptSource.js:
(.):
* inspector/front-end/NativeMemorySnapshotView.js:
(WebInspector.NativeSnapshotNode.prototype._createSizeCell):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133288 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Use MutexLocker instead of lock()/unlock().
https://bugs.webkit.org/show_bug.cgi?id=101015

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-02
Reviewed by Kenneth Rohde Christiansen.

Instead of lock()/unlock(), use MutexLocker in WorkQueue::performWork()
and WorkQueue::performTimerWork().

The locking scope will be more clear and simple with using MutexLocker.

* Platform/efl/WorkQueueEfl.cpp:
(WorkQueue::performWork):
(WorkQueue::insertTimerWorkItem):
(WorkQueue::performTimerWork):
(WorkQueue::dispatchAfterDelay):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
SVG classes cause layering violations in platform Font code
https://bugs.webkit.org/show_bug.cgi?id=98513

Reviewed by Eric Seidel.

Add a contained class to save and restore GlpyhPage state in FontFallbackList.
This allows us to remove the layering violation, and several methods, that
previously existed to support SVGTextRunRenderingContext.

No new tests because no change at all in functionality.

* platform/graphics/FontFallbackList.h:
(FontFallbackList):
(GlyphPagesStateSaver): New state save and restore class
(WebCore::FontFallbackList::GlyphPagesStateSaver::GlyphPagesStateSaver): Save GlyphPage state
(WebCore::FontFallbackList::GlyphPagesStateSaver::~GlyphPagesStateSaver): Restore GlyphPage state
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Shift to usage of the new class.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133290 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Console: remove obsolete ctrl-shift-m shortcut
https://bugs.webkit.org/show_bug.cgi?id=101036

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-02
Reviewed by Pavel Feldman.

Ctrl-shift-m on console dumps MemoryAgent.getDOMNodeCount
This functionality seems to be obsolete.

* inspector/front-end/ConsoleView.js: Removed shortcut and function.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133291 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Regression r130057: Improper preferred width calculation when an inline replaced object, wrapped in an inline flow, follows some text.
https://bugs.webkit.org/show_bug.cgi?id=99442

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-11-02
Reviewed by Levi Weintraub.

Source/WebCore:

Extra width is displayed after an inline replaced object that follows some
text (not ending in a whitespace) within an inline-block. This is due to
the end width (endMin) of the text object being carried forward (via inlineMin)
and added onto the next line containing the inline replaced object.

This was caused as a regression to, or rather became apparent post the fix
http://trac.webkit.org/changeset/130057 which fixed the block's preferred
width when a renderInline with width contained an inline replaced object.

Test: fast/block/block-with-inline-replaced-child-following-text.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
Introduced another flag (shouldBreakLineAfterText) which is set when
our current Text line (object) does not end in a whitespace, thereby
implying that there could be more text following, for which the end width
needs to be carried forward onto the next line.

In case the following object instead turns out to be an Inline Replaced
object, we should terminate our previous line and reset this extra width.
This is now being handled by checking for the shouldBreakLineAfterText
flag while processing Inline Replaced objects.

Once set, shouldBreakLineAfterText shall be reset only if we get another
Text object that ends in a whitespace, signifying the termination of
that text line. For all other cases, we persist with this flag through
the block's inline contents.

LayoutTests:

* fast/block/block-with-inline-replaced-child-following-text-expected.txt: Added.
* fast/block/block-with-inline-replaced-child-following-text.html: Added.
Test added for verifying the width of the inline-block when an inline replaced
object follows some text object which does not end in a whitespace.

The correct width of our containing box in this case should be 94px which is
determined by the min-width of our text (using ahem font) which is 64px +
the padding - 30px.

Prior to this fix, the trailing end-width from the text (64px) would be carried
onto the next line containing the inline replaced object. This would then make
that line's width as 64px (end width of text) + 30 px (padding) + 50px (width
of our image object) making it 144px in total. This would then incorrectly
define the width of our containing box.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133292 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix test calendar-picker-key-operations.html
https://bugs.webkit.org/show_bug.cgi?id=101020

Reviewed by Kent Tamura.

The test was wrong and failing.

* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations-expected.txt:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations.html:


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