WebPageProxy::setCursor does not check that the view is still in an active window
https://bugs.webkit.org/show_bug.cgi?id=94427

Reviewed by Alexey Proskuryakov.

The Web process may ask to change the cursor when the view is in an active window, but
if by the time the UI process receives the message, the view is no longer in a window or the
window is not active , then the cursor should not change.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setCursor): Added a check that the view is in an active window before
allowing the page to change the cursor.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125979 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: load network panel lazily
https://bugs.webkit.org/show_bug.cgi?id=94414

Reviewed by Vsevolod Vlasov.

Source/WebCore:

This change removes access to WebInspector.panels.network and loads it lazily.

* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl):
(WebInspector.ConsoleMessageImpl.prototype.clone):
* inspector/front-end/ConsoleModel.js:
(WebInspector.ConsoleMessage.create):
(WebInspector.ConsoleDispatcher.prototype.messageAdded):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleMessage.create):
* inspector/front-end/NetworkLog.js:
(WebInspector.NetworkLog):
(WebInspector.NetworkLog.prototype._onRequestStarted):
(WebInspector.NetworkLog.prototype._onLoad):
(WebInspector.NetworkLog.prototype.requestForId):
* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView):
* inspector/front-end/ScriptSnippetModel.js:
(WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
(WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
* inspector/front-end/externs.js:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector._panelDescriptors):
(WebInspector._showAnchorLocation):

Source/WebKit/chromium:

* WebKit.gyp:

LayoutTests:

* http/tests/inspector/inspector-test.js:
(initialize_InspectorTest.InspectorTest.navigate):
(initialize_InspectorTest.InspectorTest._innerReloadPage):
* http/tests/inspector/network-test.js:
* http/tests/inspector/network/async-xhr-json-mime-type.html:
* http/tests/inspector/network/cached-resource-destroyed-moved-to-storage.html:
* http/tests/inspector/network/cached-resource-destroyed-too-big-discarded.html:
* http/tests/inspector/network/download.html:
* http/tests/inspector/network/network-cachedresources-with-same-urls.html:
* http/tests/inspector/network/network-clear-cache.html-disabled:
* http/tests/inspector/network/network-clear-cookies.html-disabled:
* http/tests/inspector/network/network-content-replacement-embed.html:
* http/tests/inspector/network/network-content-replacement-xhr.html:
* http/tests/inspector/network/network-cyrillic-xhr.html:
* http/tests/inspector/network/network-disable-cache-memory.html:
* http/tests/inspector/network/network-disable-cache-xhrs.html:
* http/tests/inspector/network/network-disabling-check-no-memory-leak.html:
* http/tests/inspector/network/network-embed.html:
* http/tests/inspector/network/network-empty-xhr.html:
* http/tests/inspector/network/network-iframe-load-and-delete.html:
* http/tests/inspector/network/network-image-404.html:
* http/tests/inspector/network/network-initiator-from-console.html:
* http/tests/inspector/network/network-preview-json.html:
* http/tests/inspector/network/network-request-revision-content.html:
* http/tests/inspector/network/network-shared-worker.html:
* http/tests/inspector/network/network-sidebar-width.html:
* http/tests/inspector/network/network-size-chunked.html:
* http/tests/inspector/network/network-size-sync.html:
* http/tests/inspector/network/network-size.html:
* http/tests/inspector/network/network-worker.html:
* http/tests/inspector/network/network-xhr-async-double.html:
* http/tests/inspector/network/network-xhr-async.html:
* http/tests/inspector/network/network-xhr-same-url-as-main-resource.html:
* http/tests/inspector/network/network-xhr-sync.html:
* http/tests/inspector/network/request-parameters-decoding.html:
* http/tests/inspector/network/x-frame-options-deny.html:
* http/tests/inspector/resource-har-pages.html:
* http/tests/inspector/resource-tree/resource-tree-mimetype.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125980 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Add additional fields to WebGestureEvent
https://bugs.webkit.org/show_bug.cgi?id=94238

Patch by Rick Byers <rbyers@chromium.org> on 2012-08-19
Reviewed by James Robinson.

Add a union to WebGestureEvent with per-event-type data, as a first
step to eliminating the overloaded delta fields.

* public/WebInputEvent.h:
(WebGestureEvent):
(WebKit::WebGestureEvent::WebGestureEvent):
* src/WebInputEvent.cpp:
(SameSizeAsWebGestureEvent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125981 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The current state of the call frame should be taken into account in the DFG for both predictions and proofs
https://bugs.webkit.org/show_bug.cgi?id=94412

Reviewed by Geoffrey Garen.

This ensures that no matter how smart the DFG gets, it'll always know through
which entrypoint OSR will try to enter, and with which values it will attempt
to do so. For prologue OSR, this has no effect other than adding the current
arguments to the argument predictions. For loop OSR, this makes our treatment
of the loop slightly more conservative - just conservative enough to ensure
that OSR succeeds.

* bytecode/CodeBlock.cpp:
(JSC::ProgramCodeBlock::compileOptimized):
(JSC::EvalCodeBlock::compileOptimized):
(JSC::FunctionCodeBlock::compileOptimized):
* bytecode/CodeBlock.h:
(CodeBlock):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::initialize):
* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::setMostSpecific):
(AbstractValue):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::fixVariableAccessPredictions):
(JSC::DFG::ByteCodeParser::parse):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
(JSC::DFG::tryCompile):
(JSC::DFG::tryCompileFunction):
* dfg/DFGDriver.h:
(DFG):
(JSC::DFG::tryCompile):
(JSC::DFG::tryCompileFunction):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::Graph):
(Graph):
* jit/JITDriver.h:
(JSC::jitCompileIfAppropriate):
(JSC::jitCompileFunctionIfAppropriate):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* runtime/Executable.cpp:
(JSC::EvalExecutable::compileOptimized):
(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::compileOptimized):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::compileOptimizedForCall):
(JSC::FunctionExecutable::compileOptimizedForConstruct):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):
* runtime/Executable.h:
(EvalExecutable):
(ProgramExecutable):
(FunctionExecutable):
(JSC::FunctionExecutable::compileOptimizedFor):
* runtime/ExecutionHarness.h:
(JSC::prepareForExecution):
(JSC::prepareFunctionForExecution):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125982 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSP 1.1: Add 'plugin-types' and 'form-action' DOM API.
https://bugs.webkit.org/show_bug.cgi?id=94415

Patch by Mike West <mkwst@chromium.org> on 2012-08-19
Reviewed by Adam Barth.

Source/WebCore:

Experimental implementations of the new 'plugin-types' and 'form-action'
directives recently landed, but we neglected to add DOM API endpoints to
query their state. Those APIs have been added to the specification[1],
and this patch brings our implementation up to date.

Tests: http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowformaction.html
       http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowplugintype.html

* page/DOMSecurityPolicy.cpp:
(isAllowed):
    As a drive-by, change a parameter from a KURL to a String to match
    the actual template. There's no reason to stringify an empty URL
    when we can just use an empty string instead.
(isAllowedWithType):
    Call out to the ContentSecurityPolicy object to check the protected
    resource's ability to load a given media type.
(WebCore::DOMSecurityPolicy::allowsFormAction):
    Call out to the ContentSecurityPolicy object to check the protected
    resource's ability to submit a form to the given URL.
(WebCore):
(WebCore::DOMSecurityPolicy::allowsPluginType):
    Pipes the plugin type through 'isAllowedWithType' for resolution.
* page/DOMSecurityPolicy.h:
    Add the 'allowsPluginType' and 'allowsFormAction' methods.
(DOMSecurityPolicy):
* page/DOMSecurityPolicy.idl:
    Add the 'allowsPluginType' and 'allowsFormAction' methods.

LayoutTests:

* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowformaction-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowformaction.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowplugintype-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowplugintype.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove RefPtr from SearchInputType::m_resultsButton and SearchInputType::m_cancelButton
https://bugs.webkit.org/show_bug.cgi?id=94339

Reviewed by Kent Tamura.

To avoid reference cycles of RefPtr<Node>s, we want to remove unnecessary
RefPtr<Node>s. The rationale is described in bug 94324.

SearchInputType::m_resultsButton and SearchInputType::m_cancelButton do not
need to be RefPtr<Node>s, because they are guaranteed to point to the shadow
DOM tree of the SearchInputType node, which is guaranteed to exist in the
subtree of the SearchInputType node.

No tests. No change in behavior.

* html/SearchInputType.cpp:
(WebCore::SearchInputType::SearchInputType):
(WebCore::SearchInputType::createShadowSubtree):
(WebCore::SearchInputType::resultsButtonElement):
(WebCore::SearchInputType::cancelButtonElement):
(WebCore::SearchInputType::destroyShadowSubtree):
(WebCore::SearchInputType::subtreeHasChanged):
* html/SearchInputType.h:
(SearchInputType):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125984 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove RefPtr from HTMLProgressElement::m_value
https://bugs.webkit.org/show_bug.cgi?id=94336

Reviewed by Kent Tamura.

To avoid reference cycles of RefPtr<Node>s, we want to remove
unnecessary RefPtr<Node>s. The rationale is described in bug 94324.

HTMLProgressElement::m_value does not need to be a RefPtr<Node>, because
it is guaranteed to point to a shadow DOM tree of the HTMLProgressElement
node, which is guaranteed to exist in the subtree of the HTMLProgressElement node.

No tests. No change in behavior.

* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::HTMLProgressElement):
(WebCore::HTMLProgressElement::createShadowSubtree):
* html/HTMLProgressElement.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Tests] time-multiple-fields-appearance-basic.html and time-multiple-fields-appearance-pseudo-elements.html are failed on Chromium Windows
https://bugs.webkit.org/show_bug.cgi?id=94297

Reviewed by Kent Tamura.

This patch updates a logic for detcting multiple fields time input UI
has second field or not.

* fast/forms/time-multiple-fields/resources/time-multiple-fields-appearance.js:
(checkHasShortFormat): Added "<br>" between input elements to avoid rounding error
on calculating rendering width of input elements. When input elements are rendered on
same baseline, width of first one is 126px and second is 125px.
* platform/chromium/TestExpectations: Changed bug id of entries Chromium-Mac specific bug entry, bug 94339.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125986 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Gardening for fast/forms/range/thumbslider-no-parent-slider.html
https://bugs.webkit.org/show_bug.cgi?id=94334

Unreviewed gardening.

Slider thumb can not be displayed without parent slider because
current theme of EFL does not display slider thumb separately.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-08-19

* platform/efl/TestExpectations:
* platform/efl/fast/forms/range/thumbslider-no-parent-slider-expected.png: Removed.
* platform/efl/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125987 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DOM mutation against including <link> shouldn't trigger pending HTML parser.
https://bugs.webkit.org/show_bug.cgi?id=93641

Reviewed by Ryosuke Niwa.

Source/WebCore:

HTMLLinkElement::removedFrom() invoked Document::removePendingSheet(), which can trigger
HTMLParser that can mutate DOM tree. DOM mutation reentrancy on like this is problematic and
should be prohibited.

This change add an variation of Document::removePendingSheet() which postpones the notification
which triggers DOM mutation, and flush such pending notifications at the end of ongoing mutation.

Test: http/tests/loading/remove-child-triggers-parser.html

* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeRemovalNotifier::notify): Flushed pending notifications at the end.
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::removePendingSheet): Added RemovePendingSheetNotificationType parameter.
(WebCore):
(WebCore::Document::didRemoveAllPendingStylesheet): Extracted from removePendingSheet()
* dom/Document.h:
(Document):
(WebCore::Document::setNeedsNotifyRemoveAllPendingStylesheet): A flag setter.
(WebCore::Document::notifyRemovePendingSheetIfNeeded):
(WebCore):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::removedFrom): Switched to use "notification later" version of removePendingSheet()
(WebCore::HTMLLinkElement::removePendingSheet): Added RemovePendingSheetNotificationType parameter.
* html/HTMLLinkElement.h:

LayoutTests:

Note that the test content need to be such cryptic because HTML parser is involving the
captured bug and adding explanations can affect the behavior then mask the bug.

* http/tests/loading/remove-child-triggers-parser-expected.txt: Added.
* http/tests/loading/remove-child-triggers-parser.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125988 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: parse CSS attribute -webkit-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=94024

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-08-19
Reviewed by Dirk Schulze.

Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/

Tests: css3/compositing/blend-mode-property-parsing-invalid.html
       css3/compositing/blend-mode-property-parsing.html
       css3/compositing/blend-mode-property.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore):
(WebCore::RenderLayerBacking::updateLayerBlendMode):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::setBlendMode):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

LayoutTests: parse CSS attribute -webkit-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=94024

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-08-19
Reviewed by Dirk Schulze.

Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/

* css3/compositing: Added.
* css3/compositing/blend-mode-property-expected.txt: Added.
* css3/compositing/blend-mode-property-parsing-expected.txt: Added.
* css3/compositing/blend-mode-property-parsing-invalid-expected.txt: Added.
* css3/compositing/blend-mode-property-parsing-invalid.html: Added.
* css3/compositing/blend-mode-property-parsing.html: Added.
* css3/compositing/blend-mode-property.html: Added.
* css3/compositing/script-tests: Added.
* css3/compositing/script-tests/blend-mode-property-parsing-invalid.js: Added.
(testInvalidFilterRule):
* css3/compositing/script-tests/blend-mode-property-parsing.js: Added.
(jsWrapperClass):
(shouldBeType):
(testFilterRule):
* css3/compositing/script-tests/blend-mode-property.js: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125989 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove the static Strings used for outputting values of CSS_ATTR, CSS_COUNTER, CSS_RECT
https://bugs.webkit.org/show_bug.cgi?id=94420

Reviewed by Kentaro Hara.

Use the new StringBuilder::appendLiteral() instead of keeping some WTF::String in
memory.

The patch reduces memory usage.
It also reduces the binary size (-1672 bytes on x86_64).
I did not measure any difference in performance.

* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::customCssText):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125990 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use initialization from literal for HTML Input type names
https://bugs.webkit.org/show_bug.cgi?id=94421

Reviewed by Kent Tamura.

AtomicString's initialization from literal is faster and use less memory.

* html/InputType.cpp:
(WebCore::InputTypeNames::button):
(WebCore::InputTypeNames::checkbox):
(WebCore::InputTypeNames::color):
(WebCore::InputTypeNames::date):
(WebCore::InputTypeNames::datetime):
(WebCore::InputTypeNames::datetimelocal):
(WebCore::InputTypeNames::email):
(WebCore::InputTypeNames::file):
(WebCore::InputTypeNames::hidden):
(WebCore::InputTypeNames::image):
(WebCore::InputTypeNames::month):
(WebCore::InputTypeNames::number):
(WebCore::InputTypeNames::password):
(WebCore::InputTypeNames::radio):
(WebCore::InputTypeNames::range):
(WebCore::InputTypeNames::reset):
(WebCore::InputTypeNames::search):
(WebCore::InputTypeNames::submit):
(WebCore::InputTypeNames::telephone):
(WebCore::InputTypeNames::text):
(WebCore::InputTypeNames::time):
(WebCore::InputTypeNames::url):
(WebCore::InputTypeNames::week):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125991 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Do not allocate SQLiteDatabase's m_openErrorMessage until its needed
https://bugs.webkit.org/show_bug.cgi?id=94434

Reviewed by Andreas Kling.

Previously, m_openErrorMessage was initialized from a static literal string whenever
the database is not open.

This patch changes the way we use m_openErrorMessage to only allocate a string in the
few cases where we need it. If there is no error message, we fallback to the previous
default string.

The goal is to prevent allocating the string unless needed. That saves initialization time
and memory.

* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::SQLiteDatabase):
(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::lastErrorMsg):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125992 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Move m_windowShell from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94438

Reviewed by Adam Barth.

m_windowShell should be owned by ScriptController.
After this change, I can move a bunch of V8Proxy methods
that access windowShell() from V8Proxy to ScriptController.

No tests. No change in behavior.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::ScriptController):
* bindings/v8/ScriptController.h:
(WebCore):
(WebCore::ScriptController::windowShell):
(ScriptController):
* bindings/v8/V8Binding.h:
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::V8Proxy):
(WebCore::V8Proxy::windowShell):
(WebCore):
* bindings/v8/V8Proxy.h:
(WebCore):
(WebCore::V8Proxy::frame):
(V8Proxy):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Put webkit compositor binding files in separate conditionally included gyp section
https://bugs.webkit.org/show_bug.cgi?id=94392

Patch by James Robinson <jamesr@chromium.org> on 2012-08-19
Reviewed by Dirk Pranke.

This allows the use_libcc_for_compositor gyp variable to control whether the webkit bindings are pulled from the
WebKit repository or an external target.

* WebKit.gyp:
* WebKit.gypi:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Rename SafeAllocation to V8ObjectConstructor
https://bugs.webkit.org/show_bug.cgi?id=94436

Reviewed by Adam Barth.

For clarification.

No tests. No change in behavior.

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/ScriptFunctionCall.cpp:
(WebCore::ScriptFunctionCall::construct):
* bindings/v8/V8Binding.cpp:
(WebCore::createRawTemplate):
* bindings/v8/V8Binding.h:
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::installDOMWindow):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/V8NPObject.cpp:
(WebCore::createV8ObjectForNPObject):
* bindings/v8/V8ObjectConstructor.cpp: Renamed from Source/WebCore/bindings/v8/SafeAllocation.cpp.
(WebCore):
(WebCore::V8ObjectConstructor::isValidConstructorMode):
* bindings/v8/V8ObjectConstructor.h: Renamed from Source/WebCore/bindings/v8/SafeAllocation.h.
(WebCore):
(ConstructorMode):
(WebCore::ConstructorMode::ConstructorMode):
(WebCore::ConstructorMode::~ConstructorMode):
(WebCore::ConstructorMode::current):
(V8ObjectConstructor):
(WebCore::V8ObjectConstructor::newInstance):
* bindings/v8/V8PerContextData.cpp:
(WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
* bindings/v8/custom/V8InjectedScriptManager.cpp:
(WebCore::createInjectedScriptHostV8Wrapper):
* bindings/v8/custom/V8ScriptProfileCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
(WebCore::toV8):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125995 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Tests] time-multiple-fields-appearance-basic.html and time-multiple-fields-appearance-pseudo-elements.html are failed on Chromium Mac
https://bugs.webkit.org/show_bug.cgi?id=94439

Reviewed by Kent Tamura.

Source/WebCore:

This patch disabled CSS selector for Firefox compatibility applied to
multiple fields time input UI, because it is supposed to apply text
field rather than multiple fields.

This patch allows us to have same appearance among Chromium-Linux,
Mac and Win.

No new tests. Following existing tests cover this change:
  fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
  fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly.html
  fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes.html
  fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements.html
  fast/forms/time-multiple-fields/time-multiple-fields-appearance-style.html

* css/themeWin.css: Exclude input[type="time"] selector if ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS
enabled.

LayoutTests:

This patch updates expected images of multiple fields time input UI for
Chromium-Linux and CSS selectors for expected HTML file for changing
of Source/WebCore/css/themeWin.css.

* fast/forms/time-multiple-fields/resources/time-multiple-fields-appearance.css:
(.host): Changed padding property.
(.ampmField): Remove wrong property.
(.hourField): ditto
(.millisecondField): ditto
(.minuteField): ditto
(.secondField): ditto
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly-expected.png:
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly-expected.txt:
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes-expected.png:
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes-expected.txt:
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-style-expected.png:
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-style-expected.txt:
* platform/chromium/TestExpectations: Remove Chromium-Mac disabled entries.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125996 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Forms] Set SpinButtonElement free from HTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=93941

Reviewed by Kent Tamura.

This patch removes dependency to HTMLInputElement from SpinButtonElement.

Functionalities used to be calling HTMLInputElement functions are
replaced to calling functions SpinButtonOwner class.

* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::focusAndSelectSpinButtonOwner): Moved functionality from SpinButtonElement::defaultEventHandler.
(WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents): Moved code from SpinButtonElement::willRespondToMouseClickEvents
(WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents): Moved code from SpinButtonElement::forwardEvent
* html/TextFieldInputType.h:
(TextFieldInputType):
* html/TimeInputType.cpp:
(WebCore::TimeInputType::DateTimeEditControlOwnerImpl::focusAndSelectEditControlOwner): Moved functionality from SpinButtonElement::defaultEventHandler.
(WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerFocused): Added for DateTimeEditElement::shouldSpinButtonRespondToWheelEvents.
* html/TimeInputType.h:
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::focusAndSelectSpinButtonOwner): Added for SpinButtonElementOwner class change.
(WebCore::DateTimeEditElement::shouldSpinButtonRespondToMouseEvents): ditto
(WebCore::DateTimeEditElement::shouldSpinButtonRespondToWheelEvents): ditto
* html/shadow/DateTimeEditElement.h:
(EditControlOwner): Added new virtual function declarations for SpinButtonElementOwner class change.
(DateTimeEditElement): Added new function declarations for SpinButtonElementOwner.
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::defaultEventHandler): Changed to use SpinButtonElementOwner instead of HTMLInputElement.
(WebCore::SpinButtonElement::forwardEvent): ditto
(WebCore::SpinButtonElement::willRespondToMouseMoveEvents): ditto
(WebCore::SpinButtonElement::willRespondToMouseClickEvents): ditto
(WebCore::SpinButtonElement::step): ditto
(WebCore::SpinButtonElement::shouldRespondToMouseEvents): Added helper function for calling SpinButtonOwner instance.
* html/shadow/SpinButtonElement.h:
(SpinButtonOwner): Added new virtual function declarations.
(SpinButtonElement):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125997 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Move V8Proxy::callFunction() to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94437

Reviewed by Adam Barth.

To kill V8Proxy, this patch moves callFunction() from V8Proxy to ScriptController.

No tests. No change in behavior.

* bindings/v8/DOMTransaction.cpp:
(WebCore::DOMTransaction::callFunction):
* bindings/v8/NPV8Object.cpp:
(_NPN_Invoke):
(_NPN_InvokeDefault):
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/v8/ScheduledAction.h:
(WebCore):
(ScheduledAction):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::callFunction):
(WebCore):
(WebCore::ScriptController::callFunctionEvenIfScriptDisabled):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8EventListener.cpp:
(WebCore::V8EventListener::callListenerFunction):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::callListenerFunction):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::openCallback):

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