WebKit-https.git
7 years ago[HTMLTemplateElement] Change template.dat serialization format
rafaelw@chromium.org [Wed, 13 Feb 2013 02:20:24 +0000 (02:20 +0000)]
[HTMLTemplateElement] Change template.dat serialization format
https://bugs.webkit.org/show_bug.cgi?id=109635

Reviewed by Eric Seidel.

The serialization format now uses 'content' instead of '#document-fragment' to
denote template contents.

* html5lib/resources/template.dat:
* resources/dump-as-markup.js:
(Markup._get):

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

7 years ago[iOS] Enable PAGE_VISIBILITY_API
commit-queue@webkit.org [Wed, 13 Feb 2013 02:13:50 +0000 (02:13 +0000)]
[iOS] Enable PAGE_VISIBILITY_API
https://bugs.webkit.org/show_bug.cgi?id=109399

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-02-12
Reviewed by David Kilzer.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

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

7 years agoUpdate a comment in NetworkProcess to be more accurate.
beidson@apple.com [Wed, 13 Feb 2013 02:10:45 +0000 (02:10 +0000)]
Update a comment in NetworkProcess to be more accurate.

Rubberstamped by Sam Weinig.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didClose):

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

7 years agoMove ElementAttributeData into Element.cpp/h
akling@apple.com [Wed, 13 Feb 2013 01:43:54 +0000 (01:43 +0000)]
Move ElementAttributeData into Element.cpp/h
<http://webkit.org/b/109610>

Reviewed by Anders Carlsson.

Removed ElementAttributeData.cpp/h and moved the class itself into Element headquarters.
In the near future, Element should be the only client of this class, and thus it won't
be necessary for other classes to know anything about it.

* dom/ElementAttributeData.cpp: Removed.
* dom/ElementAttributeData.h: Removed.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
* dom/DocumentSharedObjectPool.cpp:
* dom/Element.cpp:
* dom/Element.h:
* workers/SharedWorker.cpp:
* Modules/webdatabase/DatabaseManager.cpp: Add ExceptionCode.h since Element.h doesn't pull it in anymore.

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

7 years agoUnreviewed. Build fix for VS2010 WebKit solution.
roger_fong@apple.com [Wed, 13 Feb 2013 01:37:18 +0000 (01:37 +0000)]
Unreviewed. Build fix for VS2010 WebKit solution.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

7 years agoSecItemShim should be a WorkQueueMessageReceiver
andersca@apple.com [Wed, 13 Feb 2013 01:28:03 +0000 (01:28 +0000)]
SecItemShim should be a WorkQueueMessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=109636

Reviewed by Sam Weinig.

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
Add a helper function for dispatching a work queue message receiver message.

(CoreIPC::Connection::processIncomingMessage):
Check if there are any work queue message receivers registered for this message.

* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::shared):
Use dispatch_once instead of the AtomicallyInitializedStatic macro.

(WebKit::SecItemShim::SecItemShim):
Initialize the queue.

(WebKit::SecItemShim::secItemResponse):
Remove the connection parameter.

(WebKit::SecItemShim::initializeConnection):
Register the shim object as a work queue message receiver.

* Shared/mac/SecItemShim.h:
Inherit from WorkQueueMessageReceiver.

* Shared/mac/SecItemShim.messages.in:
Remove LegacyReceiver and DispatchOnConnectionQueue.

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

7 years agoRenamed SpecObjectMask to SpecObject.
fpizlo@apple.com [Wed, 13 Feb 2013 01:25:27 +0000 (01:25 +0000)]
Renamed SpecObjectMask to SpecObject.

Rubber stamped by Mark Hahnenberg.

"SpecObjectMask" is a weird name considering that a bunch of the other speculated
types are also masks, but don't have "Mask" in the name.

* bytecode/SpeculatedType.h:
(JSC):
(JSC::isObjectSpeculation):
(JSC::isObjectOrOtherSpeculation):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):

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

7 years agoRemove webintents from TestExpectations files
thakis@chromium.org [Wed, 13 Feb 2013 01:13:13 +0000 (01:13 +0000)]
Remove webintents from TestExpectations files
https://bugs.webkit.org/show_bug.cgi?id=109620

Reviewed by James Robinson.

* platform/chromium/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt-5.0-mac-wk2/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

7 years agoMake Plug-in XPC services "join existing sessions"
weinig@apple.com [Wed, 13 Feb 2013 01:10:23 +0000 (01:10 +0000)]
Make Plug-in XPC services "join existing sessions"
<rdar://problem/13196448>

Reviewed by Mark Rowe.

* PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist:
* PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist:
* PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:

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

7 years agoUpdate WebKitDirs.pm for new Windows paths
bfulgham@webkit.org [Wed, 13 Feb 2013 01:00:15 +0000 (01:00 +0000)]
Update WebKitDirs.pm for new Windows paths
https://bugs.webkit.org/show_bug.cgi?id=107714

Reviewed by Daniel Bates.

* Scripts/webkitdirs.pm: For each existing Windows environment
variable, also include creation of the 'new' variables. The
'old' variables will be removed in a future update.
(windowsSourceSourceDir): New helper routine to return the
actual 'Source' folder of the WebKit source tree.

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

7 years agoCrash when scrolling soon after page starts loading
simon.fraser@apple.com [Wed, 13 Feb 2013 00:58:38 +0000 (00:58 +0000)]
Crash when scrolling soon after page starts loading
https://bugs.webkit.org/show_bug.cgi?id=109631
<rdar://problem/13157533&13159627&13196727>

Reviewed by Anders Carlsson.

Make the scrolling tree more robust when the root state node,
and/or scrolling node are null. This can happen if we try to
handle a wheel event before we've done the first scrolling
tree commit.

* page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::commit): Handle the case where
m_rootStateNode is null. We'll still commit, but the state tree
will have no state nodes.
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::handleWheelEvent): Null-check m_rootNode.
(WebCore::ScrollingTree::commitNewTreeState): Handle a null root node.
(WebCore::ScrollingTree::updateTreeFromStateNode): If the rood state node
is null, just clear the map and null out the root scrolling node.
* page/scrolling/ScrollingTree.h: m_debugInfoLayer was unused.
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::ensureRootStateNodeForFrameView): It may be possible
to get here before we've registered the root scroll layer, in which case scrollLayerID()
will be 0. Assert to see if this can ever happen.
(WebCore::ScrollingCoordinatorMac::scrollingStateTreeAsText): Handle case of rootStateNode()
being null.

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

7 years agoAdd skeleton of the OfflineStorageProcess
weinig@apple.com [Wed, 13 Feb 2013 00:58:00 +0000 (00:58 +0000)]
Add skeleton of the OfflineStorageProcess
https://bugs.webkit.org/show_bug.cgi?id=109615

Reviewed by Anders Carlsson.

This adds the skeleton of a new process to contain Database and Local Storage
backends in (hence, offline storage). We're adding a new process, rather than
using the Network or UIProcesses, to allow us to tightly sandbox these activities
away from networking and full filesystem access.

* Configurations/OfflineStorageProcess.xcconfig: Added.
* Configurations/OfflineStorageService.Development.xcconfig: Added.
* Configurations/OfflineStorageService.xcconfig: Added.
* DerivedSources.make:
* OfflineStorageProcess: Added.
* OfflineStorageProcess/EntryPoint: Added.
* OfflineStorageProcess/EntryPoint/mac: Added.
* OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Added.
* OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
* OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Added.
* OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Added.
* OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Added.
* OfflineStorageProcess/OfflineStorageProcess.cpp: Added.
* OfflineStorageProcess/OfflineStorageProcess.h: Added.
* OfflineStorageProcess/OfflineStorageProcess.messages.in: Added.
* OfflineStorageProcess/mac: Added.
* OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Added.
(WebKit::OfflineStorageProcess::initializeProcessName):
(WebKit::OfflineStorageProcess::initializeSandbox):
* OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Added.
* Shared/OfflineStorage: Added.
* Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Added.
* Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Added.

* Scripts/webkit2/messages.py:
(struct_or_class):
Added OfflineStorageProcessCreationParameters.

* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoTeach more WTF string classes about vectors with inline capacity
eric@webkit.org [Wed, 13 Feb 2013 00:41:05 +0000 (00:41 +0000)]
Teach more WTF string classes about vectors with inline capacity
https://bugs.webkit.org/show_bug.cgi?id=109617

Reviewed by Benjamin Poulain.

The HTML and WebVTT parsers use constructions like:
AtomicString name(m_name.data(), m_name.size())
all over the place because they use inline capacity
on the parse vectors for performance.

This change just add the necessary template variants
to the related String constructors/methods in WTF so that
this parser code can just pass the vector directly instead.

I'll do the actual parser cleanups in follow-up patches to keep things simple.

* wtf/text/AtomicString.h:
(AtomicString):
(WTF::AtomicString::AtomicString):
* wtf/text/StringImpl.h:
(StringImpl):
(WTF::StringImpl::create8BitIfPossible):
* wtf/text/WTFString.h:
(String):
(WTF::String::make8BitFrom16BitSource):
(WTF):
(WTF::append):

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

7 years ago[EFL][WK2] Fix build warning after r142579
commit-queue@webkit.org [Wed, 13 Feb 2013 00:23:39 +0000 (00:23 +0000)]
[EFL][WK2] Fix build warning after r142579
https://bugs.webkit.org/show_bug.cgi?id=109547

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-02-12
Reviewed by Alexey Proskuryakov.

Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.

* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):

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

7 years agoSynchronize setting of panner node model and processing
rtoy@google.com [Wed, 13 Feb 2013 00:10:45 +0000 (00:10 +0000)]
Synchronize setting of panner node model and processing
https://bugs.webkit.org/show_bug.cgi?id=109599

Reviewed by Chris Rogers.

No new tests.

* Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::process):
(WebCore::PannerNode::setPanningModel):
* Modules/webaudio/PannerNode.h:

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

7 years agoUnreviewed. Remove webintents from TestExpectations on mac - directory no longer...
dino@apple.com [Tue, 12 Feb 2013 23:53:44 +0000 (23:53 +0000)]
Unreviewed. Remove webintents from TestExpectations on mac - directory no longer exists.

* platform/mac/TestExpectations:

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

7 years agoAdd class name for snapshotted plugin based on dimensions
dino@apple.com [Tue, 12 Feb 2013 23:53:15 +0000 (23:53 +0000)]
Add class name for snapshotted plugin based on dimensions
https://bugs.webkit.org/show_bug.cgi?id=108369

Reviewed by Simon Fraser.

As the size of the plugin changes, the Shadow Root for the snapshot
might want to toggle different interfaces. Expose "tiny", "small",
"medium" and "large" classes on the Shadow. (The dimensions are
currently chosen fairly arbitrarily).

Because we only know the dimensions after layout, we set up
a post layout task to add the class. Luckily there already was
a post layout task for plugins - I just updated it to handle
both real and snapshotted plugins. This involved modifying
the list of RenderEmbeddedObjects in FrameView to take generic
RenderObjects, and decide which type they are when calling
the update method.

* html/HTMLPlugInImageElement.cpp: Some new dimensions for the various size thresholds.
(WebCore::classNameForShadowRootSize): New static function that returns a class name
    after examining the size of the object.
(WebCore::HTMLPlugInImageElement::updateSnapshotInfo): Sets the class name for
    the shadow root. This is called in the post layout task.
(WebCore::shouldPlugInShowLabelAutomatically): Use new size names.
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Ditto.
* html/HTMLPlugInImageElement.h:
(HTMLPlugInImageElement): New method updateSnapshotInfo.

* page/FrameView.cpp:
(WebCore::FrameView::addWidgetToUpdate): Change RenderEmbeddedObject* to RenderObject*.
(WebCore::FrameView::removeWidgetToUpdate): Ditto
(WebCore::FrameView::updateWidget): Branch based on EmbeddedObject vs SnapshottedPlugIn. Call
    plugin snapshot update if necessary.
(WebCore::FrameView::updateWidgets): Handle both EmbeddedObject and SnapshottedPlugIn cases.
* page/FrameView.h: Change RenderEmbeddedObject* to RenderObject* for post layout widget updates.

* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::layout): New virtual override. If size has changed, ask the
    FrameView to recalculate size after layout.
* rendering/RenderSnapshottedPlugIn.h: New layout() method.

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

7 years agoFix signedness in WebTestProxy
alecflett@chromium.org [Tue, 12 Feb 2013 23:53:00 +0000 (23:53 +0000)]
Fix signedness in WebTestProxy
https://bugs.webkit.org/show_bug.cgi?id=109623

Reviewed by Adam Barth.

Fix signedness problem, using size_t instead of int.

* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:

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

7 years agoImplement script MIME restrictions for X-Content-Type-Options: nosniff
mkwst@chromium.org [Tue, 12 Feb 2013 23:44:51 +0000 (23:44 +0000)]
Implement script MIME restrictions for X-Content-Type-Options: nosniff
https://bugs.webkit.org/show_bug.cgi?id=71851

Reviewed by Adam Barth.

Source/WebCore:

This patch adds support for 'X-Content-Type-Options: nosniff' when
deciding whether or not to execute a given chunk of JavaScript. If the
header is present, script will only execute if it matches a predefined
set of MIME types[1] that are deemed "executable". Scripts served with
types that don't match the list will not execute.

IE introduced this feature, and Gecko is working on an implementation[2]
now. There's been some discussion on the WHATWG list about formalizing
the specification for this feature[3], but nothing significant has been
decided.

This implementation's list of acceptible MIME types differs from IE's:
it matches the list of supported JavaScript MIME types defined in
MIMETypeRegistry::initializeSupportedJavaScriptMIMETypes()[4]. In
particular, the VBScript types are not accepted, and
'text/javascript1.{1,2,3}' are accepted, along with 'text/livescript'.

This feature is locked tightly behind the ENABLE_NOSNIFF flag, which is
currently only enabled on the Chromium port.

[1]: http://msdn.microsoft.com/en-us/library/gg622941(v=vs.85).aspx
[2]: https://bugzilla.mozilla.org/show_bug.cgi?id=471020
[3]: http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-November/037974.html
[4]: http://trac.webkit.org/browser/trunk/Source/WebCore/platform/MIMETypeRegistry.cpp?rev=142086#L307

Tests: http/tests/security/contentTypeOptions/invalid-content-type-options-allowed.html
       http/tests/security/contentTypeOptions/nosniff-script-allowed.html
       http/tests/security/contentTypeOptions/nosniff-script-blocked.html
       http/tests/security/contentTypeOptions/nosniff-script-without-content-type-allowed.html

* dom/ScriptElement.cpp:
(WebCore::ScriptElement::executeScript):
    Before executing script, ensure that it shouldn't be blocked due to
    its MIME type. If it is blocked, write an error message to the
    console.
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::mimeType):
    Make scripts' MIME type available outside the context of
    CachedScript in order to correctly populate error messages we write
    to the console in ScriptElement::executeScript
(WebCore):
(WebCore::CachedScript::mimeTypeAllowedByNosniff):
* loader/cache/CachedScript.h:
(CachedScript):
    A new method which checks the resource's HTTP headers to set the
    'nosniff' disposition, and compares the resource's MIME type against
    the list of allowed executable types. Returns true iff the script
    is allowed.
* platform/network/HTTPParsers.cpp:
(WebCore):
(WebCore::parseContentTypeOptionsHeader):
* platform/network/HTTPParsers.h:
    Adds a new enum which relates the sniffable status of the resource,
    and a method to parse the HTTP header.

LayoutTests:

* http/tests/security/contentTypeOptions/invalid-content-type-options-allowed-expected.txt: Added.
* http/tests/security/contentTypeOptions/invalid-content-type-options-allowed.html: Added.
* http/tests/security/contentTypeOptions/nosniff-script-allowed-expected.txt: Added.
* http/tests/security/contentTypeOptions/nosniff-script-allowed.html: Added.
* http/tests/security/contentTypeOptions/nosniff-script-blocked-expected.txt: Added.
* http/tests/security/contentTypeOptions/nosniff-script-blocked.html: Added.
* http/tests/security/contentTypeOptions/nosniff-script-without-content-type-blocked-expected.txt: Added.
* http/tests/security/contentTypeOptions/nosniff-script-without-content-type-blocked.html: Added.
* http/tests/security/contentTypeOptions/resources/script-with-header.pl: Added.
    New tests!
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:
    Skip the new tests on platforms where ENABLE_NOSNIFF isn't yet
    enabled (everything other than Chromium).

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

7 years ago[BlackBerry] Assume setScrollingOrZooming() to be called on the WebKit thread.
jpetsovits@rim.com [Tue, 12 Feb 2013 23:38:00 +0000 (23:38 +0000)]
[BlackBerry] Assume setScrollingOrZooming() to be called on the WebKit thread.
https://bugs.webkit.org/show_bug.cgi?id=109614
Internal PR 294513

Reviewed by Rob Buis.
Internally reviewed by Arvid Nilsson.

With this further simplification of threading assumptions,
we can get rid of atomic integer access as well as the
backing store mutex which was otherwise unused.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
(BlackBerry::WebKit::BackingStorePrivate::~BackingStorePrivate):
(BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
(BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
(BlackBerry::WebKit::BackingStorePrivate::isScrollingOrZooming):
(BlackBerry::WebKit::BackingStorePrivate::setScrollingOrZooming):
* Api/BackingStore_p.h:
(BackingStorePrivate):

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

7 years agoAdd alias
rtoy@google.com [Tue, 12 Feb 2013 23:35:39 +0000 (23:35 +0000)]
Add alias

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

7 years agoDFG CFA doesn't filter precisely enough for CompareStrictEq
fpizlo@apple.com [Tue, 12 Feb 2013 23:23:45 +0000 (23:23 +0000)]
DFG CFA doesn't filter precisely enough for CompareStrictEq
https://bugs.webkit.org/show_bug.cgi?id=109618

Reviewed by Mark Hahnenberg.

The backend speculates object for this case, but the CFA was filtering on
(SpecCell & ~SpecString) | SpecOther.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):

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

7 years ago[EFL][WK2] Reenable ewk_auth_request API tests
ch.dumez@sisa.samsung.com [Tue, 12 Feb 2013 23:10:31 +0000 (23:10 +0000)]
[EFL][WK2] Reenable ewk_auth_request API tests
https://bugs.webkit.org/show_bug.cgi?id=108451

Reviewed by Benjamin Poulain.

ewk_auth_request API tests were temporarily disabled after
the C API for resource loading was removed from WebKit2.
This patches updates the tests so that they no longer rely
on the resource loading events and renables them.

This patch also corrects the naming of the static variables
in the test to follow more closely the WebKit coding style.

* PlatformEfl.cmake:
* UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
(serverCallback):
(TEST_F):
(onLoadFinished):

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

7 years ago[BlackBerry] Eliminate the direct rendering option.
jpetsovits@rim.com [Tue, 12 Feb 2013 23:09:10 +0000 (23:09 +0000)]
[BlackBerry] Eliminate the direct rendering option.
https://bugs.webkit.org/show_bug.cgi?id=109608
RIM PR 293298

Reviewed by Rob Buis.
Internally reviewed by Arvid Nilsson.

It added a lot of complexity and we're not going to use it anymore.
This patch removes direct rendering functionality from
WebKit/blackberry together with the assumption that blitting on the
WebKit thread is possible or acceptable. It now isn't anymore.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
(BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
(BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
(BlackBerry::WebKit::BackingStorePrivate::slowScroll):
(BlackBerry::WebKit::BackingStorePrivate::scroll):
(BlackBerry::WebKit::BackingStorePrivate::shouldPerformRenderJobs):
(BlackBerry::WebKit::BackingStorePrivate::render):
(BlackBerry::WebKit::BackingStorePrivate::renderAndBlitImmediately):
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
(BlackBerry::WebKit::BackingStorePrivate::fillWindow):
(BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
(BlackBerry::WebKit::BackingStorePrivate::clearWindow):
(BlackBerry::WebKit::BackingStorePrivate::setScrollingOrZooming):
(BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
* Api/BackingStore.h:
* Api/BackingStore_p.h:
(BackingStorePrivate):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
(BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::scheduleCompositingRun):
* Api/WebPageCompositor.cpp:
(BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
* Api/WebPage_p.h:
(WebPagePrivate):
* Api/WebSettings.cpp:
(WebKit):
* Api/WebSettings.h:
* WebKitSupport/RenderQueue.cpp:
(BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
(BlackBerry::WebKit::RenderQueue::renderScrollZoomJobs):
* WebKitSupport/SurfacePool.cpp:
(BlackBerry::WebKit::SurfacePool::initialize):

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

7 years agoUnreviewed chromium rebaseline for r142638, garden-o-matic screwed up the original...
eae@chromium.org [Tue, 12 Feb 2013 22:56:29 +0000 (22:56 +0000)]
Unreviewed chromium rebaseline for r142638, garden-o-matic screwed up the original rebaseline :(

* platform/chromium-mac-lion/fast/dom/Window/webkitConvertPoint-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/dom/Window/webkitConvertPoint-expected.txt: Added.
* platform/chromium-win-xp/fast/dom/Window: Added.
* platform/chromium-win-xp/fast/dom/Window/webkitConvertPoint-expected.txt: Added.

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

7 years agoThreaded HTML parser should pass the remaining fast/tokenizer tests
abarth@webkit.org [Tue, 12 Feb 2013 22:44:25 +0000 (22:44 +0000)]
Threaded HTML parser should pass the remaining fast/tokenizer tests
https://bugs.webkit.org/show_bug.cgi?id=109607

Reviewed by Eric Seidel.

This patch fixes some edge cases involving document.write. Previously,
we would drop input characters on the floor if the tokenizer wasn't
able to consume them synchronously. In this patch, we send the unparsed
characters to the background thread for consumption after rewinding the
input stream.

* html/parser/BackgroundHTMLInputStream.cpp:
(WebCore::BackgroundHTMLInputStream::rewindTo):
* html/parser/BackgroundHTMLInputStream.h:
(BackgroundHTMLInputStream):
* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::resumeFrom):
* html/parser/BackgroundHTMLParser.h:
(Checkpoint):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::canTakeNextToken):
(WebCore::HTMLDocumentParser::didFailSpeculation):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::finish):
* html/parser/HTMLInputStream.h:
(WebCore::HTMLInputStream::closeWithoutMarkingEndOfFile):
(HTMLInputStream):

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

7 years agoIntroduce a WorkQueueMessageReceiver class as a replacement for QueueClient
andersca@apple.com [Tue, 12 Feb 2013 22:17:36 +0000 (22:17 +0000)]
Introduce a WorkQueueMessageReceiver class as a replacement for QueueClient
https://bugs.webkit.org/show_bug.cgi?id=109612

Reviewed by Andreas Kling.

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::addWorkQueueMessageReceiver):
(CoreIPC):
(CoreIPC::Connection::removeWorkQueueMessageReceiver):
(CoreIPC::Connection::addWorkQueueMessageReceiverOnConnectionWorkQueue):
(CoreIPC::Connection::removeWorkQueueMessageReceiverOnConnectionWorkQueue):
* Platform/CoreIPC/Connection.h:
(Connection):

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

7 years ago[BlackBerry] CSS animations stop running during zoom
commit-queue@webkit.org [Tue, 12 Feb 2013 21:59:18 +0000 (21:59 +0000)]
[BlackBerry] CSS animations stop running during zoom
https://bugs.webkit.org/show_bug.cgi?id=109606

Patch by Andrew Lo <anlo@rim.com> on 2013-02-12
Reviewed by Rob Buis.
Internally reviewed by Jakob Petsovits.

Internal PR 286160.
New BackingStore API for suspending/resuming geometry updates.

This is needed because we want to allow render jobs to continue during
zoom, but we don't want to allow geometry updates during zoom.

Prevent scroll/zoom render jobs from being added to the queue if
the tile is outside the expanded content rect.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
(BlackBerry::WebKit::BackingStorePrivate::suspendGeometryUpdates):
(WebKit):
(BlackBerry::WebKit::BackingStorePrivate::resumeGeometryUpdates):
(BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
(BlackBerry::WebKit::BackingStore::suspendGeometryUpdates):
(BlackBerry::WebKit::BackingStore::resumeGeometryUpdates):
* Api/BackingStore.h:
* Api/BackingStore_p.h:
(BackingStorePrivate):
* WebKitSupport/RenderQueue.cpp:
(BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):

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

7 years agoUnreviewed buildfix for !ENABLE(INSPECTOR) platforms after r142654.
ossy@webkit.org [Tue, 12 Feb 2013 21:36:28 +0000 (21:36 +0000)]
Unreviewed buildfix for !ENABLE(INSPECTOR) platforms after r142654.

* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::scriptsEnabled):

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

7 years agoTypo fix after r142663.
ossy@webkit.org [Tue, 12 Feb 2013 21:32:15 +0000 (21:32 +0000)]
Typo fix after r142663.

* GNUmakefile.list.am:

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

7 years agoRemove remaining traces of Web Intents
ch.dumez@sisa.samsung.com [Tue, 12 Feb 2013 21:21:32 +0000 (21:21 +0000)]
Remove remaining traces of Web Intents
https://bugs.webkit.org/show_bug.cgi?id=109586

Reviewed by Eric Seidel.

.:

Remove references to Web Intents from CMake files as the functionality
was removed in r142549.

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

Source/WebCore:

Remove remaining traces of Web Intents as the functionality was
removed in r142549.

No new tests, no behavior change for layout tests.

* GNUmakefile.features.am.in:
* html/HTMLTagNames.in:

Source/WebKit/blackberry:

Remove remaining traces of Web Intents from Blackberry port
configuration as the functionality was removed in r142549.

* WebCoreSupport/AboutDataEnableFeatures.in:

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

7 years ago[WK2] Unreviewed trivial buildfix after r142630 and r142651.
ossy@webkit.org [Tue, 12 Feb 2013 21:19:37 +0000 (21:19 +0000)]
[WK2] Unreviewed trivial buildfix after r142630 and r142651.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching):
* UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
(WebKit::PluginProcessProxy::platformGetLaunchOptions):
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformGetLaunchOptions):

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

7 years agoAdding myself to watch lists.
luiz@webkit.org [Tue, 12 Feb 2013 21:17:54 +0000 (21:17 +0000)]
Adding myself to watch lists.

Unreviewed.

* Scripts/webkitpy/common/config/watchlist:

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

7 years agoREGRESSION(r136967): Combination of float and clear yields to bad layout
robert@webkit.org [Tue, 12 Feb 2013 21:06:07 +0000 (21:06 +0000)]
REGRESSION(r136967): Combination of float and clear yields to bad layout
https://bugs.webkit.org/show_bug.cgi?id=109476

Reviewed by Levi Weintraub.

Source/WebCore:

Test: fast/block/margin-collapse/self-collapsing-block-with-float-children.html

The change made at http://trac.webkit.org/changeset/136967 only needs to worry about the first floated
child of a self-collapsing block. The ones that follow are not affected by its margins.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):

LayoutTests:

* fast/block/margin-collapse/self-collapsing-block-with-float-children-expected.txt: Added.
* fast/block/margin-collapse/self-collapsing-block-with-float-children.html: Added.

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

7 years agoUnreviewed rebaseline for r142638.
eae@chromium.org [Tue, 12 Feb 2013 21:03:17 +0000 (21:03 +0000)]
Unreviewed rebaseline for r142638.

* platform/chromium-linux-x86/fast/dom/Window: Removed.
* platform/chromium-linux-x86/fast/dom/Window/webkitConvertPoint-expected.txt: Removed.
* platform/chromium-linux/fast/dom/Window/webkitConvertPoint-expected.txt: Removed.
* platform/chromium-mac/fast/dom/Window/webkitConvertPoint-expected.txt:
* platform/chromium-win/fast/dom/Window/webkitConvertPoint-expected.txt: Added.
* platform/chromium/TestExpectations:
* platform/mac-lion/accessibility: Added.
* platform/mac-lion/accessibility/table-attributes-expected.txt: Added.
* platform/mac-lion/accessibility/table-cell-spans-expected.txt: Added.
* platform/mac-lion/accessibility/table-sections-expected.txt: Added.
* platform/mac-lion/fast/dom/Window: Added.
* platform/mac-lion/fast/dom/Window/webkitConvertPoint-expected.txt: Added.
* platform/mac-wk2/accessibility/table-cell-spans-expected.txt: Added.
* platform/mac-wk2/fast/dom/Window: Added.
* platform/mac-wk2/fast/dom/Window/webkitConvertPoint-expected.txt: Added.
* platform/mac/accessibility/image-link-expected.txt:
* platform/mac/accessibility/internal-link-anchors2-expected.txt:
* platform/mac/accessibility/table-detection-expected.txt:
* platform/mac/fast/dom/Window/webkitConvertPoint-expected.txt:

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

7 years agoASSERTION FAILED: !object || object->isBox(), UNKNOWN in WebCore::RenderListItem...
leviw@chromium.org [Tue, 12 Feb 2013 21:01:37 +0000 (21:01 +0000)]
ASSERTION FAILED: !object || object->isBox(), UNKNOWN in WebCore::RenderListItem::positionListMarker
https://bugs.webkit.org/show_bug.cgi?id=108699

Reviewed by Abhishek Arya.

Source/WebCore:

RenderListItems performs special management of its children to maintain list markers. Splitting a flow
through a list item results in assumptions made inside RenderListItem failing, so for now, avoid splitting
flows when inside one.

Test: fast/multicol/span/list-multi-column-crash.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::containingColumnsBlock):

LayoutTests:

* fast/multicol/span/list-multi-column-crash-expected.txt: Added.
* fast/multicol/span/list-multi-column-crash.html: Added.

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

7 years agoChange the queue client base class to be private everywhere
andersca@apple.com [Tue, 12 Feb 2013 20:56:57 +0000 (20:56 +0000)]
Change the queue client base class to be private everywhere
https://bugs.webkit.org/show_bug.cgi?id=109604

Reviewed by Andreas Kling.

Move connection queue client registration inside of the respective queue client classes.

Also, it's too late to add queue clients in ChildProcessProxy::didFinishLaunching, so do this in
ChildProcessProxy::connectionWillOpen instead.

Finally, assert that queue clients are only being added and removed from the client thread.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeConnection):
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::addQueueClient):
(CoreIPC::Connection::removeQueueClient):
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::initializeConnection):
(WebKit):
* Shared/mac/SecItemShim.h:
(SecItemShim):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::connectionWillOpen):
(WebKit):
(WebKit::NetworkProcessProxy::connectionWillClose):
(WebKit::NetworkProcessProxy::didFinishLaunching):
* UIProcess/Network/NetworkProcessProxy.h:
(NetworkProcessProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::didFinishLaunching):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::initializeConnection):
(WebKit):
* UIProcess/mac/SecItemShimProxy.h:
(SecItemShimProxy):
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::initializeConnection):
(WebKit):
* WebProcess/Plugins/PluginProcessConnectionManager.h:
(PluginProcessConnectionManager):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::initializeConnection):
(WebKit):
* WebProcess/WebPage/EventDispatcher.h:
(EventDispatcher):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):

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

7 years agoUnreviewed Windows build fix.
roger_fong@apple.com [Tue, 12 Feb 2013 20:56:06 +0000 (20:56 +0000)]
Unreviewed Windows build fix.

* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::Internals):

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

7 years agoWeb Inspector: JavaScript execution disabled by browser/UA should be notified to...
vivek.vg@samsung.com [Tue, 12 Feb 2013 20:45:44 +0000 (20:45 +0000)]
Web Inspector: JavaScript execution disabled by browser/UA should be notified to the front-end
https://bugs.webkit.org/show_bug.cgi?id=109402

Reviewed by Yury Semikhatsky.

Source/WebCore:

Whenever the UA/Browser changes the Script Execution state of a page, it should notify the
inspector front-end. Added the InspectorInstrumentation method didScriptExecutionStateChange
to achieve this. Also the state change triggered by the inspector should be ignored to avoid
infinite loop.

Test: inspector/script-execution-state-change-notification.html

* inspector/Inspector.json:
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::scriptsEnabledImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::scriptsEnabled):
(WebCore):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::setScriptExecutionDisabled):
(WebCore::InspectorPageAgent::scriptsEnabled):
(WebCore):
* inspector/InspectorPageAgent.h:
(InspectorPageAgent):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.PageDispatcher.prototype.javascriptDialogClosed):
(WebInspector.PageDispatcher.prototype.scriptsEnabled):
* page/Settings.cpp:
(WebCore::Settings::setScriptEnabled):

LayoutTests:

Tests that whenever Script Execution state is changed outside inspector, its notified to the Inspector front-end.

* inspector/script-execution-state-change-notification-expected.txt: Added.
* inspector/script-execution-state-change-notification.html: Added.

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

7 years ago[Chromium] IndexedDB/Worker crash during shutdown
jsbell@chromium.org [Tue, 12 Feb 2013 20:23:04 +0000 (20:23 +0000)]
[Chromium] IndexedDB/Worker crash during shutdown
https://bugs.webkit.org/show_bug.cgi?id=109467

Reviewed by Tony Chang.

If the message queue has already been terminated, don't bother scheduling
a new error event that will never be delivered. Speculative fix for the
issue, which only repros in multiprocess ports and so far only on some
platforms.

* src/IDBFactoryBackendProxy.cpp:
(WebKit::IDBFactoryBackendProxy::allowIndexedDB): Early exit.

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

7 years agoCache timer heap pointer to timers
antti@apple.com [Tue, 12 Feb 2013 20:14:06 +0000 (20:14 +0000)]
Cache timer heap pointer to timers
https://bugs.webkit.org/show_bug.cgi?id=109597

Reviewed by Andreas Kling.

Accessing timer heap through thread global storage is slow (~0.1% in PLT3). We can cache the heap pointer to
each TimerBase. There are not huge numbers of timers around so memory is not an issue and many timers are heavily reused.

* platform/Timer.cpp:
(WebCore::threadGlobalTimerHeap):
(WebCore::TimerHeapReference::operator=):
(WebCore::TimerHeapIterator::checkConsistency):
(WebCore::TimerBase::TimerBase):
(WebCore::TimerBase::checkHeapIndex):
(WebCore::TimerBase::setNextFireTime):
* platform/Timer.h:
(WebCore::TimerBase::timerHeap):
(TimerBase):

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

7 years agoAdd WKContext API to retrieve basic network process statistics
beidson@apple.com [Tue, 12 Feb 2013 20:12:53 +0000 (20:12 +0000)]
Add WKContext API to retrieve basic network process statistics
https://bugs.webkit.org/show_bug.cgi?id=109329

Reviewed by Sam Weinig.

This patch adds a WKContextGetStatisticsWithOptions which allows the client to ask for
certain types of statistics.

It also expands the "get statistics" callback mechanism to allow for a statistics request
to be answered by multiple child processes.

That mechanism still has some rough edges but will eventually allow for getting statistics
from multiple web processes, as well.

* NetworkProcess/HostRecord.cpp:
(WebKit::HostRecord::pendingRequestCount):
(WebKit::HostRecord::activeLoadCount):
* NetworkProcess/HostRecord.h:

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::getNetworkProcessStatistics):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:

* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::hostsPendingCount):
(WebKit::NetworkResourceLoadScheduler::loadsPendingCount):
(WebKit::NetworkResourceLoadScheduler::hostsActiveCount):
(WebKit::NetworkResourceLoadScheduler::loadsActiveCount):
* NetworkProcess/NetworkResourceLoadScheduler.h:

* Shared/Authentication/AuthenticationManager.h:
(WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount):
* Shared/Downloads/DownloadManager.h:

* UIProcess/API/C/WKContext.cpp:
(WKContextGetStatistics):
(WKContextGetStatisticsWithOptions):
* UIProcess/API/C/WKContext.h:

* UIProcess/StatisticsRequest.cpp: Added.
(WebKit::StatisticsRequest::StatisticsRequest):
(WebKit::StatisticsRequest::~StatisticsRequest):
(WebKit::StatisticsRequest::addOutstandingRequest):
(WebKit::addToDictionaryFromHashMap):
(WebKit::createDictionaryFromHashMap):
(WebKit::StatisticsRequest::completedRequest):
* UIProcess/StatisticsRequest.h: Added.
(WebKit::StatisticsRequest::create):

* UIProcess/WebContext.cpp:
(WebKit::WebContext::networkingProcessConnection):
(WebKit::WebContext::getStatistics):
(WebKit::WebContext::requestWebContentStatistics):
(WebKit::WebContext::requestNetworkingStatistics):
(WebKit::WebContext::didGetStatistics):
* UIProcess/WebContext.h:
* UIProcess/WebContext.messages.in:

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

* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoFix the gyp build of JavaScriptCore.
mrobinson@webkit.org [Tue, 12 Feb 2013 19:56:08 +0000 (19:56 +0000)]
Fix the gyp build of JavaScriptCore.

* JavaScriptCore.gypi: Added some missing DFG files to the source list.

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

7 years agoUnreviewed, rolling out r142387.
commit-queue@webkit.org [Tue, 12 Feb 2013 19:46:11 +0000 (19:46 +0000)]
Unreviewed, rolling out r142387.
http://trac.webkit.org/changeset/142387
https://bugs.webkit.org/show_bug.cgi?id=109601

caused all layout and jscore tests on windows to fail
(Requested by kling on #webkit).

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

* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
* bytecode/UnlinkedCodeBlock.h:
(UnlinkedCodeBlock):

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

7 years agoBackgroundHTMLParser::resumeFrom should take a struct
abarth@webkit.org [Tue, 12 Feb 2013 19:39:38 +0000 (19:39 +0000)]
BackgroundHTMLParser::resumeFrom should take a struct
https://bugs.webkit.org/show_bug.cgi?id=109598

Reviewed by Eric Seidel.

This patch is purely a syntatic change that paves the way for fixing
the partial-entity document.write tests. To fix those tests, we'll need
to pass more information to resumeFrom, but we're hitting the argument
limits in Functional.h. Rather than adding yet more arguments, this
patch moves to a single argument that's a struct.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::resumeFrom):
* html/parser/BackgroundHTMLParser.h:
(Checkpoint):
(BackgroundHTMLParser):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::didFailSpeculation):

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

7 years agorootRenderer in FrameView is really RenderView
esprehn@chromium.org [Tue, 12 Feb 2013 19:35:01 +0000 (19:35 +0000)]
rootRenderer in FrameView is really RenderView
https://bugs.webkit.org/show_bug.cgi?id=109510

Reviewed by Eric Seidel.

The global function rootRenderer(FrameView*) is really just a way
to get the RenderView from the Frame so replace it with a renderView()
method and replace usage of the word "root" with renderView so it's
obvious the root we're talking about is the renderView. This is an
important distinction to make since we also have rootRenderer in the code
for the documentElement()'s renderer and we also have a "layout root" which
is entirely different.

No new tests, just refactoring.

* page/FrameView.cpp:
(WebCore::FrameView::rootRenderer): Removed.
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::adjustViewSize):
(WebCore::FrameView::updateCompositingLayersAfterStyleChange):
(WebCore::FrameView::updateCompositingLayersAfterLayout):
(WebCore::FrameView::clearBackingStores):
(WebCore::FrameView::restoreBackingStores):
(WebCore::FrameView::usesCompositedScrolling):
(WebCore::FrameView::layerForHorizontalScrollbar):
(WebCore::FrameView::layerForVerticalScrollbar):
(WebCore::FrameView::layerForScrollCorner):
(WebCore::FrameView::tiledBacking):
(WebCore::FrameView::scrollLayerID):
(WebCore::FrameView::layerForOverhangAreas):
(WebCore::FrameView::flushCompositingStateForThisFrame):
(WebCore::FrameView::hasCompositedContent):
(WebCore::FrameView::enterCompositingMode):
(WebCore::FrameView::isSoftwareRenderable):
(WebCore::FrameView::didMoveOnscreen):
(WebCore::FrameView::willMoveOffscreen):
(WebCore::FrameView::layout):
(WebCore::FrameView::embeddedContentBox):
(WebCore::FrameView::contentsInCompositedLayer):
(WebCore::FrameView::scrollContentsFastPath):
(WebCore::FrameView::scrollContentsSlowPath):
(WebCore::FrameView::maintainScrollPositionAtAnchor):
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::repaintFixedElementsAfterScrolling):
(WebCore::FrameView::updateFixedElementsAfterScrolling):
(WebCore::FrameView::visibleContentsResized):
(WebCore::FrameView::scheduleRelayoutOfSubtree):
(WebCore::FrameView::needsLayout):
(WebCore::FrameView::setNeedsLayout):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::updateControlTints):
(WebCore::FrameView::paintContents):
(WebCore::FrameView::forceLayoutForPagination):
(WebCore::FrameView::adjustPageHeightDeprecated):
(WebCore::FrameView::resetTrackedRepaints):
(WebCore::FrameView::isVerticalDocument):
(WebCore::FrameView::isFlippedDocument):
* page/FrameView.h:
(WebCore::FrameView::renderView): Added.

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

7 years ago[GTK][Introspection] GObject bindings for DataTransferItemList - one add() method...
commit-queue@webkit.org [Tue, 12 Feb 2013 19:27:17 +0000 (19:27 +0000)]
[GTK][Introspection] GObject bindings for DataTransferItemList - one add() method must be removed from .idl
https://bugs.webkit.org/show_bug.cgi?id=109180

Patch by Tomas Popela <tpopela@redhat.com> on 2013-02-12
Reviewed by Xan Lopez.

When compiling WebKit with --enable-introspection and generating GObject bindings
for DataTransferItemList we must disable one add() method, because GObject is
based on C and C does not allow two functions with the same name.

No tests needed.

* bindings/scripts/CodeGeneratorGObject.pm:

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

7 years agoBackground size width specified in viewport percentage units not working
commit-queue@webkit.org [Tue, 12 Feb 2013 19:13:56 +0000 (19:13 +0000)]
Background size width specified in viewport percentage units not working
https://bugs.webkit.org/show_bug.cgi?id=109536

Patch by Uday Kiran <udaykiran@motorola.com> on 2013-02-12
Reviewed by Antti Koivisto.

Source/WebCore:

Corrected the check for viewport percentage unit while calculating
background image width.

Test: fast/backgrounds/size/backgroundSize-viewportPercentage-width.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateFillTileSize):

LayoutTests:

Added a test for background image width specified in viewport percentage unit.

* fast/backgrounds/size/backgroundSize-viewportPercentage-width-expected.html: Added.
* fast/backgrounds/size/backgroundSize-viewportPercentage-width.html: Added.

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

7 years agoBuild fix.
andersca@apple.com [Tue, 12 Feb 2013 19:04:23 +0000 (19:04 +0000)]
Build fix.

Add back the files to the Xcode project that were removed in r142580.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:

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

7 years ago[chromium] move text dump generation to TestRunner library
jochen@chromium.org [Tue, 12 Feb 2013 18:50:43 +0000 (18:50 +0000)]
[chromium] move text dump generation to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=109575

Reviewed by Adam Barth.

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebKit):
(WebTestRunner::WebTestDelegate::captureHistoryForWindow):
* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestCommon.cpp: Copied from Tools/DumpRenderTree/chromium/TestRunner/src/TestCommon.h.
(WebTestRunner::normalizeLayoutTestURL):
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestCommon.h:
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::checkResponseMimeType):
(WebTestRunner):
(WebTestRunner::TestRunner::shouldDumpAsText):
(WebTestRunner::TestRunner::shouldGeneratePixelResults):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebPermissions.cpp:
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::captureTree):
(WebTestRunner):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::dump):
(TestShell::captureHistoryForWindow):
* DumpRenderTree/chromium/TestShell.h:
(TestShell):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::captureHistoryForWindow):
* DumpRenderTree/chromium/WebViewHost.h:

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

7 years agoHeap-use-after-free in WebCore::DeleteButtonController::enable
inferno@chromium.org [Tue, 12 Feb 2013 18:49:38 +0000 (18:49 +0000)]
Heap-use-after-free in WebCore::DeleteButtonController::enable
https://bugs.webkit.org/show_bug.cgi?id=109447

Reviewed by Ryosuke Niwa.

RefPtr frame pointer since it can get deleted due to mutation events
fired inside AppendNodeCommand::doUnapply.

No new tests. Testcase is hard to minimize due to recursive
calls with DOMNodeRemovedFromDocument mutation event.

* editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::unapply):
(WebCore::EditCommandComposition::reapply):

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

7 years agoRemove HTMLTokenTypes header (and split out AtomicHTMLToken.h from HTMLToken.h)
eric@webkit.org [Tue, 12 Feb 2013 18:43:15 +0000 (18:43 +0000)]
Remove HTMLTokenTypes header (and split out AtomicHTMLToken.h from HTMLToken.h)
https://bugs.webkit.org/show_bug.cgi?id=109525

Reviewed by Adam Barth.

We no longer need a separate HTMLTokenTypes class now that NEW_XML is gone.
However, to remove HTMLTokenTypes, I had to split AtomicHTMLToken.h from
HTMLToken.h (to fix a circular dependancy).

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::addSource):
* html/parser/AtomicHTMLToken.h: Added.
(WebCore):
(AtomicHTMLToken):
(WebCore::AtomicHTMLToken::create):
(WebCore::AtomicHTMLToken::forceQuirks):
(WebCore::AtomicHTMLToken::type):
(WebCore::AtomicHTMLToken::name):
(WebCore::AtomicHTMLToken::setName):
(WebCore::AtomicHTMLToken::selfClosing):
(WebCore::AtomicHTMLToken::getAttributeItem):
(WebCore::AtomicHTMLToken::attributes):
(WebCore::AtomicHTMLToken::characters):
(WebCore::AtomicHTMLToken::charactersLength):
(WebCore::AtomicHTMLToken::isAll8BitData):
(WebCore::AtomicHTMLToken::comment):
(WebCore::AtomicHTMLToken::publicIdentifier):
(WebCore::AtomicHTMLToken::systemIdentifier):
(WebCore::AtomicHTMLToken::clearExternalCharacters):
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
(WebCore::AtomicHTMLToken::initializeAttributes):
* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::simulateTreeBuilder):
* html/parser/CompactHTMLToken.cpp:
(WebCore::CompactHTMLToken::CompactHTMLToken):
* html/parser/CompactHTMLToken.h:
(WebCore::CompactHTMLToken::type):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertDoctype):
(WebCore::HTMLConstructionSite::insertComment):
(WebCore::HTMLConstructionSite::insertCommentOnDocument):
(WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
(WebCore::HTMLConstructionSite::insertForeignElement):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
(WebCore::HTMLDocumentParser::constructTreeFromHTMLToken):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLMetaCharsetParser.cpp:
(WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::isStartTag):
(WebCore::isStartOrEndTag):
(WebCore::HTMLPreloadScanner::processToken):
* html/parser/HTMLSourceTracker.cpp:
(WebCore::HTMLSourceTracker::start):
(WebCore::HTMLSourceTracker::sourceForToken):
* html/parser/HTMLStackItem.h:
(WebCore::HTMLStackItem::HTMLStackItem):
* html/parser/HTMLToken.h:
(WebCore::HTMLToken::clear):
(WebCore::HTMLToken::isUninitialized):
(WebCore::HTMLToken::type):
(WebCore::HTMLToken::makeEndOfFile):
(WebCore::HTMLToken::data):
(WebCore::HTMLToken::name):
(WebCore::HTMLToken::appendToName):
(WebCore::HTMLToken::forceQuirks):
(WebCore::HTMLToken::setForceQuirks):
(WebCore::HTMLToken::beginDOCTYPE):
(WebCore::HTMLToken::publicIdentifier):
(WebCore::HTMLToken::systemIdentifier):
(WebCore::HTMLToken::setPublicIdentifierToEmptyString):
(WebCore::HTMLToken::setSystemIdentifierToEmptyString):
(WebCore::HTMLToken::appendToPublicIdentifier):
(WebCore::HTMLToken::appendToSystemIdentifier):
(WebCore::HTMLToken::selfClosing):
(WebCore::HTMLToken::setSelfClosing):
(WebCore::HTMLToken::beginStartTag):
(WebCore::HTMLToken::beginEndTag):
(WebCore::HTMLToken::addNewAttribute):
(WebCore::HTMLToken::appendToAttributeName):
(WebCore::HTMLToken::appendToAttributeValue):
(WebCore::HTMLToken::attributes):
(WebCore::HTMLToken::eraseValueOfAttribute):
(WebCore::HTMLToken::ensureIsCharacterToken):
(WebCore::HTMLToken::characters):
(WebCore::HTMLToken::appendToCharacter):
(WebCore::HTMLToken::comment):
(WebCore::HTMLToken::beginComment):
(WebCore::HTMLToken::appendToComment):
(WebCore::HTMLToken::eraseCharacters):
(HTMLToken):
* html/parser/HTMLTokenTypes.h: Removed.
* html/parser/HTMLTokenizer.cpp:
(WebCore::AtomicHTMLToken::usesName):
(WebCore::AtomicHTMLToken::usesAttributes):
(WebCore::HTMLTokenizer::flushBufferedEndTag):
(WebCore::HTMLTokenizer::nextToken):
* html/parser/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
(WebCore::HTMLTokenizer::haveBufferedCharacterToken):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processToken):
(WebCore::HTMLTreeBuilder::processDoctypeToken):
(WebCore::HTMLTreeBuilder::processFakeStartTag):
(WebCore::HTMLTreeBuilder::processFakeEndTag):
(WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
(WebCore):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
(WebCore::HTMLTreeBuilder::processEndTagForInRow):
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
(WebCore::HTMLTreeBuilder::defaultForBeforeHead):
(WebCore::HTMLTreeBuilder::defaultForInHead):
(WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
(WebCore::HTMLTreeBuilder::defaultForAfterHead):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
(WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
(WebCore::HTMLTreeBuilder::processTokenInForeignContent):
* html/parser/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::updateTokenizerState):
* html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::insertFakePreElement):
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::filterToken):
(WebCore::XSSAuditor::filterScriptToken):
(WebCore::XSSAuditor::filterObjectToken):
(WebCore::XSSAuditor::filterParamToken):
(WebCore::XSSAuditor::filterEmbedToken):
(WebCore::XSSAuditor::filterAppletToken):
(WebCore::XSSAuditor::filterIframeToken):
(WebCore::XSSAuditor::filterMetaToken):
(WebCore::XSSAuditor::filterBaseToken):
(WebCore::XSSAuditor::filterFormToken):

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

7 years agoHandle error recovery in @supports
commit-queue@webkit.org [Tue, 12 Feb 2013 18:40:48 +0000 (18:40 +0000)]
Handle error recovery in @supports
https://bugs.webkit.org/show_bug.cgi?id=103934

Patch by Pablo Flouret <pablof@motorola.com> on 2013-02-12
Reviewed by Antti Koivisto.

Source/WebCore:

Tests 021, 024, 031, and 033 in
http://hg.csswg.org/test/file/5f94e4b03ed9/contributors/opera/submitted/css3-conditional
fail because there's no explicit error recovery in @support's grammar.
Opera and Firefox pass the tests.

No new tests, modified css3/supports{,-cssom}.html

* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::createSupportsRule):
(WebCore::CSSParser::markSupportsRuleHeaderEnd):
(WebCore::CSSParser::popSupportsRuleData):
* css/CSSParser.h:

LayoutTests:

* css3/supports-cssom.html:
* css3/supports-expected.txt:
* css3/supports.html:

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

7 years ago[Mac] guard against NULL languages array
eric.carlson@apple.com [Tue, 12 Feb 2013 18:34:43 +0000 (18:34 +0000)]
[Mac] guard against NULL languages array
https://bugs.webkit.org/show_bug.cgi?id=109595

Reviewed by Dean Jackson.

No new tests, existing tests won't crash if this is correct.

* page/CaptionUserPreferencesMac.mm:
(WebCore::CaptionUserPreferencesMac::preferredLanguages):

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

7 years agoTransformState::move should not round offset to int
eae@chromium.org [Tue, 12 Feb 2013 17:40:28 +0000 (17:40 +0000)]
TransformState::move should not round offset to int
https://bugs.webkit.org/show_bug.cgi?id=108266

Source/WebCore:

Reviewed by Simon Fraser.

Currently TransformState::move rounds the offset to the nearest
integer values, this results in operations using TransformState
to compute a position to misreport the location, specifically
Element:getBoundingClientRect and repaint rects. Sizes are
handled correctly and do not have the same problem.

Tests: fast/sub-pixel/boundingclientrect-subpixel-margin.html
       fast/sub-pixel/clip-rect-box-consistent-rounding.html

* page/FrameView.cpp:
(WebCore::FrameView::convertFromRenderer):
Change to use pixel snapping instead of enclosing box. All other
code paths use pixelSnappedIntRect to align the rects to device
pixels however this used enclosingIntRect (indirectly through
the FloatQuad::enclosingBoundingBox call).
Without the rounding in TransformState this causes repaint rects
for elements on subpixel bounds to be too large by up to one
pixel on each axis. For normal repaints this isn't really a
problem but in scrollContentsSlowPath it can result in moving
too large a rect.

* platform/graphics/transforms/TransformState.cpp:
(WebCore::TransformState::translateTransform):
(WebCore::TransformState::translateMappedCoordinates):
Change to take a LayoutSize instead of an IntSize.

(WebCore::TransformState::move):
(WebCore::TransformState::applyAccumulatedOffset):
* platform/graphics/transforms/TransformState.h:
Remove rounding logic and use original, more precise, value.

* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::mapToContainer):
Remove rounding logic and use original, more precise, value.

LayoutTests:

Reviewed by Simon Fraser.

Add new tests for Element::boundingClientRect and clip rects for
elements on subpixel boundaries.

* fast/dom/Window/webkitConvertPoint.html:
* platform/chromium-linux/fast/dom/Window/webkitConvertPoint-expected.txt:
Update test and expectations to take new rounding into account.

* fast/sub-pixel/boundingclientrect-subpixel-margin-expected.txt: Added.
* fast/sub-pixel/boundingclientrect-subpixel-margin.html: Added.
Add test ensuring that boundingClientRect returns accurate and
precise (as opposed to rounded) metrics.

* fast/sub-pixel/clip-rect-box-consistent-rounding-expected.html: Added.
* fast/sub-pixel/clip-rect-box-consistent-rounding.html: Added.
Add test ensuring that clip rects and elements use consistent rounding.

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

7 years agoRollout r142618, it broke all the Mac builds.
jberlin@webkit.org [Tue, 12 Feb 2013 17:37:39 +0000 (17:37 +0000)]
Rollout r142618, it broke all the Mac builds.

Source/WebCore:

* inspector/HeapGraphSerializer.cpp:
(WebCore::HeapGraphSerializer::HeapGraphSerializer):
(WebCore::HeapGraphSerializer::pushUpdate):
(WebCore::HeapGraphSerializer::reportNode):
(WebCore::HeapGraphSerializer::toNodeId):
(WebCore::HeapGraphSerializer::addRootNode):
* inspector/HeapGraphSerializer.h:
(WebCore):
(HeapGraphSerializer):
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):

Tools:

* TestWebKitAPI/TestWebKitAPI.gypi:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/HeapGraphSerializerTest.cpp: Removed.
* TestWebKitAPI/win/TestWebKitAPI.vcproj:

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

7 years agoDFG CompareEq optimization should be retuned
fpizlo@apple.com [Tue, 12 Feb 2013 17:34:00 +0000 (17:34 +0000)]
DFG CompareEq optimization should be retuned
https://bugs.webkit.org/show_bug.cgi?id=109545

Reviewed by Mark Hahnenberg.

- Made the object-to-object equality case work again by hoisting the if statement
  for it. Previously, object-to-object equality would be compiled as
  object-to-object-or-other.

- Added AbstractState guards for most of the type checks that the object equality
  code uses.

Looks like a hint of a speed-up on all of the things.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compare):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):

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

7 years ago[HTMLTemplateElement] <template> inside of <head> may not create <body> if EOF is hit
rafaelw@chromium.org [Tue, 12 Feb 2013 17:05:48 +0000 (17:05 +0000)]
[HTMLTemplateElement] <template> inside of <head> may not create <body> if EOF is hit
https://bugs.webkit.org/show_bug.cgi?id=109338

Reviewed by Adam Barth.

Source/WebCore:

This patch adds the logic to clear the stack of open elements back to the first <template> when EOF
is hit. This allows a <body> to be generated if the initial <template> was opened inside of <head>.

Tests added to html5lib.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore):
(WebCore::HTMLTreeBuilder::popAllTemplates):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processEndOfFile):
* html/parser/HTMLTreeBuilder.h:
(HTMLTreeBuilder):

LayoutTests:

* html5lib/resources/template.dat:

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

7 years ago[GTK] Remove the enable-debug-feature configuration option
mrobinson@webkit.org [Tue, 12 Feb 2013 17:04:08 +0000 (17:04 +0000)]
[GTK] Remove the enable-debug-feature configuration option
https://bugs.webkit.org/show_bug.cgi?id=109539

Reviewed by Philippe Normand.

Remove the --enable-debug-feature option from configuration. It doesn't
do anything that --enable-debug doesn't.

* Source/autotools/PrintBuildConfiguration.m4: Remove references to --enable-debug-features.
* Source/autotools/ReadCommandLineArguments.m4: Ditto.
* Source/autotools/SetupAutoconfHeader.m4: Ditto.
* Source/autotools/SetupAutomake.m4: Ditto.

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

7 years agoBuild fix after r142540 and r142518
jberlin@webkit.org [Tue, 12 Feb 2013 16:59:11 +0000 (16:59 +0000)]
Build fix after r142540 and r142518

* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::didReceivePluginProcessConnectionManagerMessageOnConnectionWorkQueue):
This function was added to the header in r142518 but not implemented in that revision.
It wasn't a problem until r142540 started using it.
Add a stub implementation for it.

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

7 years agoASSERTION FAILED: i < size(), UNKNOWN in WebCore::AccessibilityMenuListPopup::didUpda...
dmazzoni@google.com [Tue, 12 Feb 2013 16:58:39 +0000 (16:58 +0000)]
ASSERTION FAILED: i < size(), UNKNOWN in WebCore::AccessibilityMenuListPopup::didUpdateActiveOption
https://bugs.webkit.org/show_bug.cgi?id=109452

Reviewed by Chris Fleizach.

Source/WebCore:

Send the accessibility childrenChanged notification in
HTMLSelectElement::setRecalcListItems instead of in childrenChanged
so that all possible codepaths are caught.

Test: accessibility/insert-selected-option-into-select-causes-crash.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::childrenChanged):
(WebCore::HTMLSelectElement::setRecalcListItems):

LayoutTests:

Add test to ensure a crash doesn't happen if a selected option
is added to a select element, which was triggering a code path where
the DOM has added a new child of the select but the accessibility
object never got updated.

* accessibility/insert-selected-option-into-select-causes-crash-expected.txt: Added.
* accessibility/insert-selected-option-into-select-causes-crash.html: Added.

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

7 years agoMake PluginProcessProxy a ChildProcessProxy.
beidson@apple.com [Tue, 12 Feb 2013 16:55:47 +0000 (16:55 +0000)]
Make PluginProcessProxy a ChildProcessProxy.
https://bugs.webkit.org/show_bug.cgi?id=109513

Reviewed by Anders Carlsson.

* Shared/ChildProcessProxy.h: Inherit from ThreadSafeRefCounted.
* UIProcess/Network/NetworkProcessProxy.h: Don't inherit from RefCounted.
* UIProcess/WebProcessProxy.h: Don't inherit from ThreadSafeRefCounted
* UIProcess/Plugins/PluginProcessProxy.h: Don't inherit from RefCounted, do inherit from ChildProcessProxy

Rely on ChildProcessProxy for process launcher management and launch options:
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::PluginProcessProxy):
(WebKit::PluginProcessProxy::getLaunchOptions):
(WebKit::PluginProcessProxy::getPluginProcessConnection):
(WebKit::PluginProcessProxy::getSitesWithData):
(WebKit::PluginProcessProxy::clearSiteData):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformGetLaunchOptions):
(WebKit::PluginProcessProxy::getPluginProcessSerialNumber):

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

7 years agoBUILD FIX (r142576): WK1 build fails when ENABLE(DELETION_UI) is off
ddkilzer@apple.com [Tue, 12 Feb 2013 16:45:26 +0000 (16:45 +0000)]
BUILD FIX (r142576): WK1 build fails when ENABLE(DELETION_UI) is off
<https://bugs.webkit.org/show_bug.cgi?id=109534>

Fixes the following build failure:

    WebEditorClient.mm:243:23: error: out-of-line definition of 'shouldShowDeleteInterface' does not match any declaration in 'WebEditorClient'
    bool WebEditorClient::shouldShowDeleteInterface(HTMLElement* element)
                          ^~~~~~~~~~~~~~~~~~~~~~~~~

* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::shouldShowDeleteInterface): Protect with
ENABLE(DELETION_UI) macro.

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

7 years ago <rdar://problem/13196331> NetworkProcess deny mach-lookup com.apple.PowerMana...
ap@apple.com [Tue, 12 Feb 2013 16:18:22 +0000 (16:18 +0000)]
    <rdar://problem/13196331> NetworkProcess deny mach-lookup com.apple.PowerManagement.control

        Reviewed by Sam Weinig.

        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:

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

7 years agoWeb Inspector: for event listener provide handler function value in protocol and...
commit-queue@webkit.org [Tue, 12 Feb 2013 16:01:27 +0000 (16:01 +0000)]
Web Inspector: for event listener provide handler function value in protocol and in UI
https://bugs.webkit.org/show_bug.cgi?id=109284

Patch by Peter Rybin <prybin@chromium.org> on 2013-02-12
Reviewed by Yury Semikhatsky.

Source/WebCore:

The feature implies that we include a real handler function value into event listener description.
Protocol description, inspector DOM agent (with V8 and JSC backends) and front-end is patched accordingly.

* bindings/js/ScriptEventListener.cpp:
(WebCore::eventListenerHandler):
(WebCore):
(WebCore::eventListenerHandlerScriptState):
* bindings/js/ScriptEventListener.h:
(WebCore):
* bindings/v8/ScriptEventListener.cpp:
(WebCore::eventListenerHandler):
(WebCore):
(WebCore::eventListenerHandlerScriptState):
* bindings/v8/ScriptEventListener.h:
(WebCore):
* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
* inspector/InspectorDOMAgent.h:
(InspectorDOMAgent):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype.eventListeners):
* inspector/front-end/EventListenersSidebarPane.js:
(WebInspector.EventListenersSidebarPane.prototype.update):
(.):

LayoutTests:

Test is rebased.

* inspector/elements/event-listener-sidebar-expected.txt:
* inspector/elements/event-listeners-about-blank-expected.txt:

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

7 years agoWeb Inspector: add initial implementation of native memory graph to Timeline
yurys@chromium.org [Tue, 12 Feb 2013 15:56:28 +0000 (15:56 +0000)]
Web Inspector: add initial implementation of native memory graph to Timeline
https://bugs.webkit.org/show_bug.cgi?id=109578

Reviewed by Alexander Pavlov.

This change adds inital implementation of native memory graph UI. The graph
will be shown in the same place as DOM counters graph on the Timeline panel.

Added NativeMemoryGraph.js that reuses parts of DOM counters graph
implementation. MemoryStatistics.js was refactor to allow sharing
more code between DOM counters and native memory graph.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics):
(WebInspector.MemoryStatistics.prototype._createCurrentValuesBar):
(WebInspector.MemoryStatistics.prototype._createCounterUIList):
(WebInspector.MemoryStatistics.prototype._createCounterUIList.getNodeCount):
(WebInspector.MemoryStatistics.prototype._createCounterUIList.getListenerCount):
(WebInspector.MemoryStatistics.prototype._canvasHeight):
(WebInspector.MemoryStatistics.prototype._updateSize):
(WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
(WebInspector.MemoryStatistics.prototype._drawMarker):
* inspector/front-end/NativeMemoryGraph.js: Added.
(WebInspector.NativeMemoryGraph):
(WebInspector.NativeMemoryCounterUI):
(WebInspector.NativeMemoryCounterUI.prototype._hslToString):
(WebInspector.NativeMemoryCounterUI.prototype.updateCurrentValue):
(WebInspector.NativeMemoryCounterUI.prototype.clearCurrentValueAndMarker):
(WebInspector.NativeMemoryGraph.prototype._createCurrentValuesBar):
(WebInspector.NativeMemoryGraph.prototype._createCounterUIList.getCounterValue):
(WebInspector.NativeMemoryGraph.prototype._createCounterUIList):
(WebInspector.NativeMemoryGraph.prototype._canvasHeight):
(WebInspector.NativeMemoryGraph.prototype._onRecordAdded.addStatistics):
(WebInspector.NativeMemoryGraph.prototype._onRecordAdded):
(WebInspector.NativeMemoryGraph.prototype._draw):
(WebInspector.NativeMemoryGraph.prototype._clearCurrentValueAndMarker):
(WebInspector.NativeMemoryGraph.prototype._updateCurrentValue):
(WebInspector.NativeMemoryGraph.prototype._restoreImageUnderMarker):
(WebInspector.NativeMemoryGraph.prototype._saveImageUnderMarker):
(WebInspector.NativeMemoryGraph.prototype._drawMarker):
(WebInspector.NativeMemoryGraph.prototype._maxCounterValue):
(WebInspector.NativeMemoryGraph.prototype._resetTotalValues):
(WebInspector.NativeMemoryGraph.prototype.valueGetter):
(WebInspector.NativeMemoryGraph.prototype._drawGraph):
(WebInspector.NativeMemoryGraph.prototype._discardImageUnderMarker):
* inspector/front-end/TimelinePanel.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/timelinePanel.css:
(#memory-graphs-canvas-container.dom-counters .resources-dividers):
(.memory-category-value):

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

7 years agoUnreviewed. Fix Chromium compilation after r142618.
yurys@chromium.org [Tue, 12 Feb 2013 15:53:48 +0000 (15:53 +0000)]
Unreviewed. Fix Chromium compilation after r142618.

* TestWebKitAPI/Tests/WebCore/HeapGraphSerializerTest.cpp:
(TestWebKitAPI::HeapGraphReceiver::printNode):

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

7 years agoWeb Inspector: refactor some reusable functionality from BraceHighlighter
commit-queue@webkit.org [Tue, 12 Feb 2013 15:18:20 +0000 (15:18 +0000)]
Web Inspector: refactor some reusable functionality from BraceHighlighter
https://bugs.webkit.org/show_bug.cgi?id=109574

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-12
Reviewed by Pavel Feldman.

Source/WebCore:

New test: inspector/editor/text-editor-brace-highlighter.html

Extract functionality which, for given line and cursor position, will
return position for a brace that should be highlighted. Add a layout
test to verify brace highlighter funcionality.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.activeBraceColumnForCursorPosition):
(WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.handleSelectionChange):
* inspector/front-end/TextUtils.js:
(WebInspector.TextUtils.isOpeningBraceChar):
(WebInspector.TextUtils.isClosingBraceChar):
(WebInspector.TextUtils.isBraceChar):

LayoutTests:

Add layout test to verify brace highlighter functionality.

* inspector/editor/text-editor-brace-highlighter-expected.txt: Added.
* inspector/editor/text-editor-brace-highlighter.html: Added.

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

7 years ago[GTK] Add an optional moduleset with hard to get packages (including libsecret)
commit-queue@webkit.org [Tue, 12 Feb 2013 15:06:59 +0000 (15:06 +0000)]
[GTK] Add an optional moduleset with hard to get packages (including libsecret)
https://bugs.webkit.org/show_bug.cgi?id=109195

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-02-12
Reviewed by Philippe Normand.

Add an optional moduleset that includes libsecret. This moduleset will
be used to install some annoyingly hard to obtain dependencies on older
distributions.

* gtk/jhbuild-optional.modules: Added.
* gtk/jhbuild.modules: Add a reference to the new moduleset file.

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

7 years agoUnreviewed chromium expectation update.
atwilson@chromium.org [Tue, 12 Feb 2013 14:58:16 +0000 (14:58 +0000)]
Unreviewed chromium expectation update.
https://bugs.webkit.org/show_bug.cgi?id=109581

* platform/chromium/TestExpectations: mark debugger-script-preprocessor.html as crashy.

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

7 years agoWeb Inspector: Native Memory Instrumentation: reportLeaf method doesn't report the...
loislo@chromium.org [Tue, 12 Feb 2013 14:53:34 +0000 (14:53 +0000)]
Web Inspector: Native Memory Instrumentation: reportLeaf method doesn't report the leaf node properly.
https://bugs.webkit.org/show_bug.cgi?id=109554

Source/WebCore:

In some cases leaves have no pointer so with the old schema we can't generate nodeId for them because we
can't insert 0 into hashmap. It happens when we call addPrivateBuffer method.

Drive by fix: I introduced a client interface for the HeapGraphSerializer.
It helps me to do the tests for the serializer.

Reviewed by Yury Semikhatsky.

It is covered by newly added tests in TestWebKitAPI.

* inspector/HeapGraphSerializer.cpp:
(WebCore::HeapGraphSerializer::HeapGraphSerializer):
(WebCore::HeapGraphSerializer::pushUpdate):
(WebCore::HeapGraphSerializer::reportNode):
(WebCore::HeapGraphSerializer::toNodeId):
(WebCore::HeapGraphSerializer::addRootNode):
* inspector/HeapGraphSerializer.h:
(HeapGraphSerializerClient):
(WebCore::HeapGraphSerializerClient::~HeapGraphSerializerClient):
(HeapGraphSerializer):
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):

Tools:

In some cases leaves have no pointer. As example when we report a leaf via addPrivateBuffer.
This patch has new set of tests for HeapGraphSerializer.

Reviewed by Yury Semikhatsky.

* TestWebKitAPI/TestWebKitAPI.gypi:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/HeapGraphSerializerTest.cpp: Added.
* TestWebKitAPI/win/TestWebKitAPI.vcproj:

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

7 years agoUnreviewed followup to r142606, the EFL port also enables the CSS image-set
zandobersek@gmail.com [Tue, 12 Feb 2013 14:51:07 +0000 (14:51 +0000)]
Unreviewed followup to r142606, the EFL port also enables the CSS image-set
feature so the new configuration option's default value should reflect that.

* Scripts/webkitperl/FeatureList.pm:

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

7 years agoJSC asserting with long parameter list functions in debug mode on ARM traditional
rgabor@webkit.org [Tue, 12 Feb 2013 14:40:40 +0000 (14:40 +0000)]
JSC asserting with long parameter list functions in debug mode on ARM traditional
https://bugs.webkit.org/show_bug.cgi?id=109565

Reviewed by Zoltan Herczeg.

Increase the value of sequenceGetByIdSlowCaseInstructionSpace to 80.

* jit/JIT.h:

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

7 years agoUnreviewed chromium rebaselines after r142586.
atwilson@chromium.org [Tue, 12 Feb 2013 14:33:18 +0000 (14:33 +0000)]
Unreviewed chromium rebaselines after r142586.

* platform/chromium-mac/fast/canvas/webgl/webgl-layer-update-expected.png: Added.

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

7 years agoWeb Inspector: Introduce version controller to migrate settings versions.
vsevik@chromium.org [Tue, 12 Feb 2013 14:29:10 +0000 (14:29 +0000)]
Web Inspector: Introduce version controller to migrate settings versions.
https://bugs.webkit.org/show_bug.cgi?id=109553

Reviewed by Yury Semikhatsky.

Source/WebCore:

This patch introduces version controller that could be used to migrate inspector settings.

Test: inspector/version-controller.html

* inspector/front-end/Settings.js:
(WebInspector.Settings):
(WebInspector.VersionController):
(WebInspector.VersionController.prototype.set _methodsToRunToUpdateVersion):
(WebInspector.VersionController.prototype._updateVersionFrom0To1):
* inspector/front-end/inspector.js:

LayoutTests:

* inspector/version-controller-expected.txt: Added.
* inspector/version-controller.html: Added.

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

7 years agoWeb Inspector: File system should produce more verbose error messages and recover...
vsevik@chromium.org [Tue, 12 Feb 2013 14:19:28 +0000 (14:19 +0000)]
Web Inspector: File system should produce more verbose error messages and recover from errors
https://bugs.webkit.org/show_bug.cgi?id=109571

Reviewed by Alexander Pavlov.

Error handler prints original file system call params now.
Added callbacks to error handler to recover from errors.

* inspector/front-end/FileSystemProjectDelegate.js:
(WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
(WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
(WebInspector.FileSystemUtils.errorMessage):
(.fileSystemLoaded):
(.fileEntryLoaded):
(.errorHandler):
(WebInspector.FileSystemUtils.requestFileContent):
(WebInspector.FileSystemUtils.setFileContent):
(WebInspector.FileSystemUtils._readDirectory):
(.innerCallback):
(WebInspector.FileSystemUtils._requestEntries):

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

7 years agoWeb Inspector: Get rid of unnecessary complexity in FileSystemUtil: remove _getDirect...
vsevik@chromium.org [Tue, 12 Feb 2013 14:17:04 +0000 (14:17 +0000)]
Web Inspector: Get rid of unnecessary complexity in FileSystemUtil: remove _getDirectory() method.
https://bugs.webkit.org/show_bug.cgi?id=109567

Reviewed by Alexander Pavlov.

The code in this method was redundant as the same result could be achieved by using File System API directly.

* inspector/front-end/FileSystemProjectDelegate.js:

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

7 years agoWeb Inspector: [SuggestBox] SuggestBox not hidden when prefix is empty and there...
apavlov@chromium.org [Tue, 12 Feb 2013 14:15:45 +0000 (14:15 +0000)]
Web Inspector: [SuggestBox] SuggestBox not hidden when prefix is empty and there is preceding input
https://bugs.webkit.org/show_bug.cgi?id=109568

Reviewed by Vsevolod Vlasov.

The suggestbox would get hidden in the case of empty input, yet it should get hidden
in the case of empty user-entered prefix (which is a wider notion.)

* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.complete):

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

7 years agoWeb Inspector: separate SuggestBox from TextPrompt
commit-queue@webkit.org [Tue, 12 Feb 2013 14:04:08 +0000 (14:04 +0000)]
Web Inspector: separate SuggestBox from TextPrompt
https://bugs.webkit.org/show_bug.cgi?id=109430

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-12
Reviewed by Alexander Pavlov.

Create WebInspector.SuggestBoxDelegate interface and
refactor TextPrompt to use this interface. Separate SuggestBox into
WebInspector.SuggestBox namespace and put it into its own file.

No new tests: no change in behaviour.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/SuggestBox.js: Added.
(WebInspector.SuggestBoxDelegate):
(WebInspector.SuggestBoxDelegate.prototype.applySuggestion):
(WebInspector.SuggestBoxDelegate.prototype.acceptSuggestion):
(WebInspector.SuggestBoxDelegate.prototype.userEnteredText):
(WebInspector.SuggestBox):
(WebInspector.SuggestBox.prototype.get visible):
(WebInspector.SuggestBox.prototype.get hasSelection):
(WebInspector.SuggestBox.prototype._onscrollresize):
(WebInspector.SuggestBox.prototype._updateBoxPositionWithExistingAnchor):
(WebInspector.SuggestBox.prototype._updateBoxPosition):
(WebInspector.SuggestBox.prototype._onboxmousedown):
(WebInspector.SuggestBox.prototype.hide):
(WebInspector.SuggestBox.prototype.removeFromElement):
(WebInspector.SuggestBox.prototype._applySuggestion):
(WebInspector.SuggestBox.prototype.acceptSuggestion):
(WebInspector.SuggestBox.prototype._selectClosest):
(WebInspector.SuggestBox.prototype.updateSuggestions):
(WebInspector.SuggestBox.prototype._onItemMouseDown):
(WebInspector.SuggestBox.prototype._createItemElement):
(WebInspector.SuggestBox.prototype._updateItems):
(WebInspector.SuggestBox.prototype._selectItem):
(WebInspector.SuggestBox.prototype._canShowBox):
(WebInspector.SuggestBox.prototype._rememberRowCountPerViewport):
(WebInspector.SuggestBox.prototype._completionsReady):
(WebInspector.SuggestBox.prototype.upKeyPressed):
(WebInspector.SuggestBox.prototype.downKeyPressed):
(WebInspector.SuggestBox.prototype.pageUpKeyPressed):
(WebInspector.SuggestBox.prototype.pageDownKeyPressed):
(WebInspector.SuggestBox.prototype.enterKeyPressed):
(WebInspector.SuggestBox.prototype.tabKeyPressed):
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.userEnteredText):
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.applySuggestion):
(WebInspector.TextPrompt.prototype._applySuggestion):
(WebInspector.TextPrompt.prototype.enterKeyPressed):
(WebInspector.TextPrompt.prototype.upKeyPressed):
(WebInspector.TextPrompt.prototype.downKeyPressed):
(WebInspector.TextPrompt.prototype.pageUpKeyPressed):
(WebInspector.TextPrompt.prototype.pageDownKeyPressed):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:

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

7 years ago[GTK] Enable CSS Variables feature in development builds
zandobersek@gmail.com [Tue, 12 Feb 2013 13:56:33 +0000 (13:56 +0000)]
[GTK] Enable CSS Variables feature in development builds
https://bugs.webkit.org/show_bug.cgi?id=109474

Reviewed by Martin Robinson.

Tools:

* Scripts/webkitperl/FeatureList.pm: Enable the feature on development
builds of the GTK port.

LayoutTests:

* platform/gtk/TestExpectations: Remove the expectations for tests that now pass.

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

7 years ago[TexMap] Apply frames-per-second debug counter to WK1.
bruno.abinader@basyskom.com [Tue, 12 Feb 2013 13:49:21 +0000 (13:49 +0000)]
[TexMap] Apply frames-per-second debug counter to WK1.
https://bugs.webkit.org/show_bug.cgi?id=109540

Reviewed by Noam Rosenthal.

Adds basysKom copyright info to TextureMapperFPSCounter header.

* platform/graphics/texmap/TextureMapperFPSCounter.cpp:
* platform/graphics/texmap/TextureMapperFPSCounter.h:

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

7 years agoUnreviewed, rolling out r142531.
commit-queue@webkit.org [Tue, 12 Feb 2013 13:27:45 +0000 (13:27 +0000)]
Unreviewed, rolling out r142531.
http://trac.webkit.org/changeset/142531
https://bugs.webkit.org/show_bug.cgi?id=109569

Causes html5lib/run-template layout test to crash. (Requested
by atwilson_ on #webkit).

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

Source/WebCore:

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processTemplateEndTag):
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
(WebCore::HTMLTreeBuilder::processEndOfFile):
* html/parser/HTMLTreeBuilder.h:
(HTMLTreeBuilder):

LayoutTests:

* html5lib/resources/template.dat:

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

7 years ago[GTK] Enable CSS image-set support in development builds
zandobersek@gmail.com [Tue, 12 Feb 2013 13:25:55 +0000 (13:25 +0000)]
[GTK] Enable CSS image-set support in development builds
https://bugs.webkit.org/show_bug.cgi?id=109475

Reviewed by Martin Robinson.

Source/WebCore:

No new tests - majority of the related tests now passes.

* GNUmakefile.features.am.in: Add the feature define for the CSS image-set feature
with the define value defaulting to 0. The value gets overridden with 1 in development
builds, meaning the feature is enabled under that configuration.

Tools:

* Scripts/webkitperl/FeatureList.pm: Add the configuration option for the feature.
Note that the Mac port also enables the feature but does so in Platform.h as the feature
is also enabled for the iOS port which can't at the moment be detected via webkitperl.

LayoutTests:

* platform/gtk/TestExpectations: Reclassify two failures that now fail due to
cursor images not loading while the other expectations are removed as the tests
now pass.
* platform/gtk/fast/css/image-set-value-not-removed-crash-expected.txt: Removed. The generic
expectation now matches the test output.

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

7 years ago[GTK] Enable DOM4 events constructors in development builds
zandobersek@gmail.com [Tue, 12 Feb 2013 13:23:44 +0000 (13:23 +0000)]
[GTK] Enable DOM4 events constructors in development builds
https://bugs.webkit.org/show_bug.cgi?id=109471

Reviewed by Martin Robinson.

Source/WebCore:

No new tests - the related tests now pass.

* GNUmakefile.features.am.in: Add the feature define for the DOM4 events
constructors feature, its value defaulting to 0. This value is overridden
with 1 in development builds, effectively enabling the feature.

Tools:

* Scripts/webkitperl/FeatureList.pm: Enable the feature for the GTK port as well.

LayoutTests:

* platform/gtk/TestExpectations: Remove the failure expectations, the related
tests now pass.

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

7 years agoUnreviewed build fix for the GTK port after r142595.
zandobersek@gmail.com [Tue, 12 Feb 2013 13:06:38 +0000 (13:06 +0000)]
Unreviewed build fix for the GTK port after r142595.
Adding the TextureMapperFPSCounter files to the list of build targets
in case of using the OpenGL texture mapper.

* GNUmakefile.list.am:

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

7 years agoWeb Inspector: fix closure compiler warnings in extension server and API
caseq@chromium.org [Tue, 12 Feb 2013 12:04:02 +0000 (12:04 +0000)]
Web Inspector: fix closure compiler warnings in extension server and API
https://bugs.webkit.org/show_bug.cgi?id=109563

Reviewed by Vsevolod Vlasov.

* inspector/front-end/ExtensionAPI.js: drive-by: make sure we fail if extensionServer is not defined in outer scope.
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype.):
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
* inspector/front-end/externs.js: add extensionServer

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

7 years agoUnreviewed -- suppress stray console message that emerged after r142486.
caseq@chromium.org [Tue, 12 Feb 2013 11:13:25 +0000 (11:13 +0000)]
Unreviewed -- suppress stray console message that emerged after r142486.

* inspector/extensions/extensions-events.html:

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

7 years agoRemove unnecessary variables from FeatureList.pm
zandobersek@gmail.com [Tue, 12 Feb 2013 11:08:16 +0000 (11:08 +0000)]
Remove unnecessary variables from FeatureList.pm
https://bugs.webkit.org/show_bug.cgi?id=109558

Reviewed by Daniel Bates.

A small cleanup, removing unused variables for which the related configuration
options were already removed.

* Scripts/webkitperl/FeatureList.pm:

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

7 years agoRemove ENABLE_XHR_RESPONSE_BLOB handling from various build systems
zandobersek@gmail.com [Tue, 12 Feb 2013 11:06:17 +0000 (11:06 +0000)]
Remove ENABLE_XHR_RESPONSE_BLOB handling from various build systems
https://bugs.webkit.org/show_bug.cgi?id=109481

Reviewed by Daniel Bates.

The ENABLE_XHR_RESPONSE_BLOB feature define was removed from the code
back in r120574. There are still occurrences of it in various build systems
which should all be removed as they are useless.

.:

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

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataEnableFeatures.in:

Source/WebKit/chromium:

* features.gypi:

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

7 years agoREGRESSION(r142576): It made fast/dom/Element/id-in-deletebutton.html fail on Qt.
rniwa@webkit.org [Tue, 12 Feb 2013 10:58:31 +0000 (10:58 +0000)]
REGRESSION(r142576): It made fast/dom/Element/id-in-deletebutton.html fail on Qt.
https://bugs.webkit.org/show_bug.cgi?id=109557

Build fix. Also move this test into platform/mac as done in r142559.

* fast/dom/Element/id-in-deletebutton-expected.txt: Removed.
* fast/dom/Element/id-in-deletebutton.html: Removed.
* platform/chromium-win/fast/dom/Element/id-in-deletebutton-expected.txt: Removed.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/editing/deleting/id-in-deletebutton-expected.txt: Copied from LayoutTests/fast/dom/Element/id-in-deletebutton-expected.txt.
* platform/mac/editing/deleting/id-in-deletebutton.html: Copied from LayoutTests/fast/dom/Element/id-in-deletebutton.html.
* platform/win/fast/dom/Element/id-in-deletebutton-expected.txt: Removed.
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:

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

7 years agoUnreviewed. Fix !ENABLE(INSPECTOR) builds after r142575
kadam@inf.u-szeged.hu [Tue, 12 Feb 2013 10:06:48 +0000 (10:06 +0000)]
Unreviewed. Fix !ENABLE(INSPECTOR) builds after r142575

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2013-02-12

* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::willDispatchEvent):

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

7 years agoWeb Inspector: move showWhitespace option into experiments
commit-queue@webkit.org [Tue, 12 Feb 2013 10:04:18 +0000 (10:04 +0000)]
Web Inspector: move showWhitespace option into experiments
https://bugs.webkit.org/show_bug.cgi?id=109552

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-12
Reviewed by Vsevolod Vlasov.

Source/WebCore:

Remove "show whitespace" setting and add it to experiments.

No new tests: fixed an existing test to verify changes.

* English.lproj/localizedStrings.js:
* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel):
(WebInspector.TextEditorMainPanel.prototype.wasShown):
(WebInspector.TextEditorMainPanel.prototype.willHide):
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/SettingsScreen.js:
(WebInspector.GenericSettingsTab):

LayoutTests:

Fix layout test to switch on experiment instead of toggling one of the
options.

* inspector/editor/text-editor-show-whitespace-expected.txt:
* inspector/editor/text-editor-show-whitespace.html:

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

7 years agoAdd error checking into OpenCL version of SVG filters.
commit-queue@webkit.org [Tue, 12 Feb 2013 09:40:39 +0000 (09:40 +0000)]
Add error checking into OpenCL version of SVG filters.
https://bugs.webkit.org/show_bug.cgi?id=107444

Patch by Tamas Czene <tczene@inf.u-szeged.hu> on 2013-02-12
Reviewed by Zoltan Herczeg.

In case of an error the program runs through all the remaining filters by doing nothing.
After that deletes the results of every filter and starts software rendering.

* platform/graphics/filters/FilterEffect.cpp:
(WebCore):
(WebCore::FilterEffect::applyAll): At software rendering this is a simple inline methode, but at OpenCL rendering it releases OpenCL things. If we have an error remove filter's results and start software rendering.
(WebCore::FilterEffect::clearResultsRecursive):
(WebCore::FilterEffect::openCLImageToImageBuffer):
(WebCore::FilterEffect::createOpenCLImageResult):
(WebCore::FilterEffect::transformResultColorSpace):
* platform/graphics/filters/FilterEffect.h:
(FilterEffect):
(WebCore::FilterEffect::applyAll):
* platform/graphics/gpu/opencl/FilterContextOpenCL.cpp:
(WebCore::FilterContextOpenCL::isFailed):
(WebCore):
(WebCore::FilterContextOpenCL::freeResources):
(WebCore::FilterContextOpenCL::destroyContext):
(WebCore::FilterContextOpenCL::compileTransformColorSpaceProgram):
(WebCore::FilterContextOpenCL::openCLTransformColorSpace):
(WebCore::FilterContextOpenCL::compileProgram):
(WebCore::FilterContextOpenCL::freeResource):
* platform/graphics/gpu/opencl/FilterContextOpenCL.h:
(WebCore::FilterContextOpenCL::FilterContextOpenCL):
(WebCore::FilterContextOpenCL::setInError):
(WebCore::FilterContextOpenCL::inError):
(FilterContextOpenCL):
(WebCore::FilterContextOpenCL::RunKernel::RunKernel):
(WebCore::FilterContextOpenCL::RunKernel::addArgument):
(WebCore::FilterContextOpenCL::RunKernel::run):
(RunKernel):
* platform/graphics/gpu/opencl/OpenCLFEColorMatrix.cpp:
(WebCore::FilterContextOpenCL::compileFEColorMatrix):
(WebCore::FEColorMatrix::platformApplyOpenCL):
* platform/graphics/gpu/opencl/OpenCLFETurbulence.cpp:
(WebCore::FilterContextOpenCL::compileFETurbulence):
(WebCore::FETurbulence::platformApplyOpenCL):
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::postApplyResource):

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

7 years ago[TexMap] Apply frames-per-second debug counter to WK1.
commit-queue@webkit.org [Tue, 12 Feb 2013 09:34:40 +0000 (09:34 +0000)]
[TexMap] Apply frames-per-second debug counter to WK1.
https://bugs.webkit.org/show_bug.cgi?id=109540

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-12
Reviewed by Noam Rosenthal.

Source/WebCore:

r142524 implemented frames-per-second debug counter on WK2. This patch
applies frames-per-second debug counter to WK1 also.

Visual debugging feature, no need for new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* platform/graphics/texmap/TextureMapper.h:
* platform/graphics/texmap/TextureMapperFPSCounter.cpp: Added.
(WebCore):
(WebCore::TextureMapperFPSCounter::TextureMapperFPSCounter):
(WebCore::TextureMapperFPSCounter::updateFPSAndDisplay):
* platform/graphics/texmap/TextureMapperFPSCounter.h: Added.
(WebCore):
(TextureMapperFPSCounter):
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore):
(WebCore::TextureMapperGL::drawNumber):
  Rename from drawRepaintCounter to drawNumber.
* platform/graphics/texmap/TextureMapperGL.h:
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::TextureMapperImageBuffer::drawNumber):
* platform/graphics/texmap/TextureMapperImageBuffer.h:
(TextureMapperImageBuffer):
* platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
(WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
* platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
(WebCore::CoordinatedBackingStore::drawRepaintCounter):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
  Move frames-per-second debug counter code to TextureMapperFPSCounter.
(WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

Source/WebKit/efl:

Make AcceleratedCompositingContextEfl use TextureMapperFPSCounter.

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::renderLayers):
* WebCoreSupport/AcceleratedCompositingContextEfl.h:
(AcceleratedCompositingContext):

Source/WebKit/gtk:

Make AcceleratedCompositingContext use TextureMapperFPSCounter.

* WebCoreSupport/AcceleratedCompositingContext.h:
* WebCoreSupport/AcceleratedCompositingContextGL.cpp:
(WebKit::AcceleratedCompositingContext::compositeLayersToContext):

Source/WebKit/qt:

Make TextureMapperLayerClientQt use TextureMapperFPSCounter.

* WebCoreSupport/TextureMapperLayerClientQt.cpp:
(TextureMapperLayerClientQt::renderCompositedLayers):
* WebCoreSupport/TextureMapperLayerClientQt.h:
(TextureMapperLayerClientQt):

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

7 years agoWeb Inspector: stack trace is cut at native bind if inspector is closed
yurys@chromium.org [Tue, 12 Feb 2013 09:20:48 +0000 (09:20 +0000)]
Web Inspector: stack trace is cut at native bind if inspector is closed
https://bugs.webkit.org/show_bug.cgi?id=109427

Reviewed by Pavel Feldman.

Source/WebCore:

Only top frame is collected instead of full stack trace when inspector
front-end is closed to avoid expensive operations when exceptions are
thrown.

Test: http/tests/inspector-enabled/console-exception-while-no-inspector.html

* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::addMessageToConsole):

LayoutTests:

Test that stack trace for uncaught exceptions is collected when inspector
front-end is closed.

* http/tests/inspector-enabled/console-exception-while-no-inspector-expected.txt: Added.
* http/tests/inspector-enabled/console-exception-while-no-inspector.html: Added.
* platform/chromium/http/tests/inspector-enabled/console-exception-while-no-inspector-expected.txt: Added.

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

7 years ago[chromium] move webrtc mocks to testrunner library
jochen@chromium.org [Tue, 12 Feb 2013 08:47:41 +0000 (08:47 +0000)]
[chromium] move webrtc mocks to testrunner library
https://bugs.webkit.org/show_bug.cgi?id=109041

Reviewed by Adam Barth.

Tools:

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/DumpRenderTree.cpp:
(WebKitSupportTestEnvironment):
(WebKitSupportTestEnvironment::mockPlatform):
(main):
* DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp:
(MockWebKitPlatformSupport::setInterfaces):
(MockWebKitPlatformSupport::createMediaStreamCenter):
(MockWebKitPlatformSupport::createRTCPeerConnectionHandler):
* DumpRenderTree/chromium/MockWebKitPlatformSupport.h:
(WebTestRunner):
(MockWebKitPlatformSupport):
* DumpRenderTree/chromium/TestRunner/public/WebTestInterfaces.h:
(WebKit):
* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebKit):
(WebTestRunner):
(WebTestRunner::WebTestProxy::showContextMenu):
(WebTestRunner::WebTestProxy::userMediaClient):
* DumpRenderTree/chromium/TestRunner/src/MockConstraints.cpp: Renamed from Tools/DumpRenderTree/chromium/MockConstraints.cpp.
(WebTestRunner::MockConstraints::verifyConstraints):
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/MockConstraints.h: Renamed from Tools/DumpRenderTree/chromium/MockConstraints.h.
(WebKit):
(WebTestRunner):
(MockConstraints):
* DumpRenderTree/chromium/TestRunner/src/MockWebMediaStreamCenter.cpp: Renamed from Tools/DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp.
(WebTestRunner):
(WebTestRunner::MockWebMediaStreamCenter::MockWebMediaStreamCenter):
(WebTestRunner::MockWebMediaStreamCenter::queryMediaStreamSources):
(WebTestRunner::MockWebMediaStreamCenter::didEnableMediaStreamTrack):
(WebTestRunner::MockWebMediaStreamCenter::didDisableMediaStreamTrack):
(WebTestRunner::MockWebMediaStreamCenter::didAddMediaStreamTrack):
(WebTestRunner::MockWebMediaStreamCenter::didRemoveMediaStreamTrack):
(WebTestRunner::MockWebMediaStreamCenter::didStopLocalMediaStream):
(MockWebAudioDestinationConsumer):
(WebTestRunner::MockWebAudioDestinationConsumer::~MockWebAudioDestinationConsumer):
(WebTestRunner::MockWebMediaStreamCenter::didCreateMediaStream):
* DumpRenderTree/chromium/TestRunner/src/MockWebMediaStreamCenter.h: Renamed from Tools/DumpRenderTree/chromium/MockWebMediaStreamCenter.h.
(WebKit):
(WebTestRunner):
(MockWebMediaStreamCenter):
(WebTestRunner::MockWebMediaStreamCenter::MockWebMediaStreamCenter):
* DumpRenderTree/chromium/TestRunner/src/MockWebRTCDTMFSenderHandler.cpp: Renamed from Tools/DumpRenderTree/chromium/MockWebRTCDTMFSenderHandler.cpp.
(WebTestRunner):
(DTMFSenderToneTask):
(WebTestRunner::DTMFSenderToneTask::DTMFSenderToneTask):
(WebTestRunner::MockWebRTCDTMFSenderHandler::MockWebRTCDTMFSenderHandler):
(WebTestRunner::MockWebRTCDTMFSenderHandler::setClient):
(WebTestRunner::MockWebRTCDTMFSenderHandler::currentToneBuffer):
(WebTestRunner::MockWebRTCDTMFSenderHandler::canInsertDTMF):
(WebTestRunner::MockWebRTCDTMFSenderHandler::insertDTMF):
* DumpRenderTree/chromium/TestRunner/src/MockWebRTCDTMFSenderHandler.h: Renamed from Tools/DumpRenderTree/chromium/MockWebRTCDTMFSenderHandler.h.
(WebTestRunner):
(MockWebRTCDTMFSenderHandler):
(WebTestRunner::MockWebRTCDTMFSenderHandler::taskList):
(WebTestRunner::MockWebRTCDTMFSenderHandler::clearToneBuffer):
* DumpRenderTree/chromium/TestRunner/src/MockWebRTCDataChannelHandler.cpp: Renamed from Tools/DumpRenderTree/chromium/MockWebRTCDataChannelHandler.cpp.
(WebTestRunner):
(DataChannelReadyStateTask):
(WebTestRunner::DataChannelReadyStateTask::DataChannelReadyStateTask):
(WebTestRunner::MockWebRTCDataChannelHandler::MockWebRTCDataChannelHandler):
(WebTestRunner::MockWebRTCDataChannelHandler::setClient):
(WebTestRunner::MockWebRTCDataChannelHandler::bufferedAmount):
(WebTestRunner::MockWebRTCDataChannelHandler::sendStringData):
(WebTestRunner::MockWebRTCDataChannelHandler::sendRawData):
(WebTestRunner::MockWebRTCDataChannelHandler::close):
* DumpRenderTree/chromium/TestRunner/src/MockWebRTCDataChannelHandler.h: Renamed from Tools/DumpRenderTree/chromium/MockWebRTCDataChannelHandler.h.
(WebTestRunner):
(MockWebRTCDataChannelHandler):
(WebTestRunner::MockWebRTCDataChannelHandler::taskList):
* DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.cpp: Renamed from Tools/DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp.
(WebTestRunner):
(RTCSessionDescriptionRequestSuccededTask):
(WebTestRunner::RTCSessionDescriptionRequestSuccededTask::RTCSessionDescriptionRequestSuccededTask):
(RTCSessionDescriptionRequestFailedTask):
(WebTestRunner::RTCSessionDescriptionRequestFailedTask::RTCSessionDescriptionRequestFailedTask):
(RTCStatsRequestSucceededTask):
(WebTestRunner::RTCStatsRequestSucceededTask::RTCStatsRequestSucceededTask):
(RTCVoidRequestTask):
(WebTestRunner::RTCVoidRequestTask::RTCVoidRequestTask):
(RTCPeerConnectionStateTask):
(WebTestRunner::RTCPeerConnectionStateTask::RTCPeerConnectionStateTask):
(RemoteDataChannelTask):
(WebTestRunner::RemoteDataChannelTask::RemoteDataChannelTask):
(WebTestRunner::MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
(WebTestRunner::MockWebRTCPeerConnectionHandler::initialize):
(WebTestRunner::MockWebRTCPeerConnectionHandler::createOffer):
(WebTestRunner::MockWebRTCPeerConnectionHandler::createAnswer):
(WebTestRunner::MockWebRTCPeerConnectionHandler::setLocalDescription):
(WebTestRunner::MockWebRTCPeerConnectionHandler::setRemoteDescription):
(WebTestRunner::MockWebRTCPeerConnectionHandler::localDescription):
(WebTestRunner::MockWebRTCPeerConnectionHandler::remoteDescription):
(WebTestRunner::MockWebRTCPeerConnectionHandler::updateICE):
(WebTestRunner::MockWebRTCPeerConnectionHandler::addICECandidate):
(WebTestRunner::MockWebRTCPeerConnectionHandler::addStream):
(WebTestRunner::MockWebRTCPeerConnectionHandler::removeStream):
(WebTestRunner::MockWebRTCPeerConnectionHandler::getStats):
(WebTestRunner::MockWebRTCPeerConnectionHandler::createDataChannel):
(WebTestRunner::MockWebRTCPeerConnectionHandler::createDTMFSender):
(WebTestRunner::MockWebRTCPeerConnectionHandler::stop):
* DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.h: Renamed from Tools/DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h.
(WebKit):
(WebTestRunner):
(MockWebRTCPeerConnectionHandler):
(WebTestRunner::MockWebRTCPeerConnectionHandler::taskList):
(WebTestRunner::MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.cpp:
(WebTestRunner::TestInterfaces::TestInterfaces):
(WebTestRunner::TestInterfaces::setDelegate):
(WebTestRunner::TestInterfaces::delegate):
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.h:
(TestInterfaces):
* DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp:
(WebTestRunner::WebTestInterfaces::createMediaStreamCenter):
(WebTestRunner):
(WebTestRunner::WebTestInterfaces::createWebRTCPeerConnectionHandler):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::userMediaClient):
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.cpp: Renamed from Tools/DumpRenderTree/chromium/WebUserMediaClientMock.cpp.
(WebTestRunner):
(UserMediaRequestTask):
(WebTestRunner::UserMediaRequestTask::UserMediaRequestTask):
(MockExtraData):
(WebTestRunner::WebUserMediaClientMock::WebUserMediaClientMock):
(WebTestRunner::WebUserMediaClientMock::requestUserMedia):
(WebTestRunner::WebUserMediaClientMock::cancelUserMediaRequest):
* DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.h: Renamed from Tools/DumpRenderTree/chromium/WebUserMediaClientMock.h.
(WebTestRunner):
(WebUserMediaClientMock):
(WebTestRunner::WebUserMediaClientMock::~WebUserMediaClientMock):
(WebTestRunner::WebUserMediaClientMock::taskList):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::initialize):
* DumpRenderTree/chromium/TestShell.h:
(TestShell):
* DumpRenderTree/chromium/WebViewHost.cpp:
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

LayoutTests:

Temporarily disable two WebRTC tests that fail due to a bug in
webkit_support's getCurrentTimeMillsecond.

* platform/chromium/TestExpectations:

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

7 years agoINPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input...
tkent@chromium.org [Tue, 12 Feb 2013 08:34:57 +0000 (08:34 +0000)]
INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input  should not move focus
https://bugs.webkit.org/show_bug.cgi?id=109544

Reviewed by Kentaro Hara.

Source/WebCore:

This is similar to Bug 108914, "Should not move focus if the element
already has focus." We fixed a focus() case in Bug 108914. However we
still have the problem in a case of focusing by mouse click.

The fix for Bug 108914 intercepted focus() function to change the
behavior. However focus-by-click doesn't call focus(), but calls
FocusController::setFocusedNode. To fix this problem, we introduce
oldFocusedNode argument to handleFocusEvent, and
BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent restores the
focus to oldFocusedNode if oldFocusedNode is one of sub-fields.
handleFocusEvent is called whenever the focused node is changed.

We don't need InputType::willCancelFocus any more because the new code
in handleFocusEvent covers it.

Tests: Update fast/forms/time-multiple-fields/time-multiple-fields-focus.html.

* html/HTMLTextFormControlElement.h:
(WebCore::HTMLTextFormControlElement::handleFocusEvent):
Add oldFocusedNode argument.
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
Pass oldFocusedNode to handleFocusEvent.

* html/HTMLInputElement.h:
(HTMLInputElement):
 - Add oldFocusedNode argument to handleFocusEvent.
 - Remove focus() override.
* html/HTMLInputElement.cpp: Remove focus() override.
(WebCore::HTMLInputElement::handleFocusEvent):
Pass oldFocusedNode to InputType::handleFocusEvent.
* html/InputType.cpp: Remove willCancelFocus.
(WebCore::InputType::handleFocusEvent):
Add oldFocusedNode argument.
* html/InputType.h:
(InputType): Ditto.
* html/PasswordInputType.cpp:
(WebCore::PasswordInputType::handleFocusEvent): Ditto.
* html/PasswordInputType.h:
(PasswordInputType): Ditto.

* html/BaseMultipleFieldsDateAndTimeInputType.h:
(BaseMultipleFieldsDateAndTimeInputType):
Remove willCancelFocus, and add oldFocusedNode argument to handleFocusEvent.
* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent):
Pass oldFocusedNode to DateTimeEditElement::focusByOwner if the
direction is FocusDirectionNone.

* html/shadow/DateTimeEditElement.h:
(DateTimeEditElement): Add oldFocusedNode argument to focusByOwner.
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::focusByOwner):
If oldFocusedNode is one of sub-fields, focus on it again.

LayoutTests:

* fast/forms/time-multiple-fields/time-multiple-fields-focus-expected.txt:
* fast/forms/time-multiple-fields/time-multiple-fields-focus.html:
Add test to click a delimiter.

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

7 years ago[Refactoring] Make m_selectorChecker in StyleResolver an on-stack object.
tasak@google.com [Tue, 12 Feb 2013 08:07:54 +0000 (08:07 +0000)]
[Refactoring] Make m_selectorChecker in StyleResolver an on-stack object.
https://bugs.webkit.org/show_bug.cgi?id=108595

Reviewed by Eric Seidel.

StyleResolver uses SelectorChecker's mode to change its resolving mode.
However it is a state of StyleResolver. StyleResolver should have the
mode and make SelectorChecker instance on a stack while required.

No new tests, just refactoring.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::fastCheckRightmostSelector):
(WebCore::SelectorChecker::fastCheck):
(WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
(WebCore::SelectorChecker::matchesFocusPseudoClass):
Changed to static class function, because these methods never use
"this".
(WebCore):
* css/SelectorChecker.h:
(SelectorChecker):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::collectMatchingRules):
Now, matchesFocusPseudoClass is not a static method of
SelectorChecker, so replaced "m_selectorChecker." with
"SelectorChecker::".
(WebCore::StyleResolver::sortAndTransferMatchedRules):
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
Use m_mode instead of m_selectorChecker.mode().
Also use document()->inQuirksMode() instead of
m_selectoChecker.strictParsing().
(WebCore::StyleResolver::ruleMatches):
(WebCore::StyleResolver::checkRegionSelector):
Created an on-stack SelectorChecker object and used it to check
selectors.
* css/StyleResolver.h:
(WebCore::StyleResolver::State::State):
Added m_mode, this keeps m_selectorChecker's mode.
(State):
(StyleResolver):
Removed m_selectorChecker.

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

7 years agoDisabling WebFrameTest.ReplaceMisspelledRange on Android because it crashes
jochen@chromium.org [Tue, 12 Feb 2013 08:03:18 +0000 (08:03 +0000)]
Disabling WebFrameTest.ReplaceMisspelledRange on Android because it crashes
https://bugs.webkit.org/show_bug.cgi?id=109548

Unreviewed gardening.

* tests/WebFrameTest.cpp:

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

7 years agowebkit-patch upload regenerates the WebCore ChangeLog every time it's called
commit-queue@webkit.org [Tue, 12 Feb 2013 07:58:03 +0000 (07:58 +0000)]
webkit-patch upload regenerates the WebCore ChangeLog every time it's called
https://bugs.webkit.org/show_bug.cgi?id=108983

Patch by Timothy Loh <timloh@chromium.com> on 2013-02-11
Reviewed by Ryosuke Niwa.

This patch puts the behaviour from Bug 74358 behind the flag (default=OFF)
`--update-changelogs', and removes the flag `--no-prepare-changelogs'.
The flag name change from prepare to update is since we still want to
prepare changelogs in the default case when none currently exist.

* Scripts/webkitpy/tool/commands/commandtest.py:
(CommandsTest.assert_execute_outputs):
* Scripts/webkitpy/tool/steps/options.py:
(Options):
* Scripts/webkitpy/tool/steps/preparechangelog.py:
(PrepareChangeLog.options):
(PrepareChangeLog.run):

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