WebKit-https.git
8 years agoUnreviewed. Adding myself to committers list.
kadam@inf.u-szeged.hu [Thu, 23 Aug 2012 08:08:55 +0000 (08:08 +0000)]
Unreviewed. Adding myself to committers list.

* Scripts/webkitpy/common/config/committers.py:

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

8 years ago[EFL] Use vertical slider theme when the slider is vertical
commit-queue@webkit.org [Thu, 23 Aug 2012 07:54:41 +0000 (07:54 +0000)]
[EFL] Use vertical slider theme when the slider is vertical
https://bugs.webkit.org/show_bug.cgi?id=93838

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-08-23
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Applied vertical slider theme to the vertical sliders. The height
of the vertical slider is wrong when it's applied horizontal
slider theme.

And do not resize slider when its size is not specified. It's natural
to use the default value of renderer.

No new tests. It's covered by existing range and datalist tests.

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::adjustSliderTrackStyle):

LayoutTests:

Updated expected result because theme of the slider is changed.

The size of the renderSlider is changed to 129x12 from 129x11
because it has the slider thumb 12x12 and it is not resized when
the size is not specified.

* platform/efl/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* platform/efl/fast/forms/box-shadow-override-expected.png:
* platform/efl/fast/forms/box-shadow-override-expected.txt:
* platform/efl/fast/forms/datalist/input-appearance-range-with-datalist-expected.png: Added.
* platform/efl/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png: Added.
* platform/efl/fast/forms/input-appearance-height-expected.png:
* platform/efl/fast/forms/input-appearance-height-expected.txt:
* platform/efl/fast/forms/range/input-appearance-range-expected.png:
* platform/efl/fast/forms/range/input-appearance-range-expected.txt:
* platform/efl/fast/forms/range/slider-padding-expected.png:
* platform/efl/fast/forms/range/slider-padding-expected.txt:
* platform/efl/fast/forms/range/slider-thumb-shared-style-expected.png:
* platform/efl/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/efl/fast/repaint/slider-thumb-drag-release-expected.txt:

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

8 years agoUnreviewed gardening.
zandobersek@gmail.com [Thu, 23 Aug 2012 07:37:50 +0000 (07:37 +0000)]
Unreviewed gardening.

After the TextTrackCue constructor was updated in r126350 the
expected constructor length is 3. Updating fast/js/constructor-length.html
to reflect that.

* fast/js/constructor-length.html:

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

8 years ago[V8] Remove almost all #include "V8Proxy.h"
haraken@chromium.org [Thu, 23 Aug 2012 07:35:47 +0000 (07:35 +0000)]
[V8] Remove almost all #include "V8Proxy.h"
https://bugs.webkit.org/show_bug.cgi?id=94777

Reviewed by Adam Barth.

No tests. No change in behavior.

* bindings/v8/NPV8Object.cpp:
* bindings/v8/PageScriptDebugServer.cpp:
* bindings/v8/ScheduledAction.cpp:
* bindings/v8/ScriptController.cpp:
* bindings/v8/ScriptInstance.cpp:
* bindings/v8/ScriptObject.cpp:
* bindings/v8/ScriptRunner.cpp:
* bindings/v8/SerializedScriptValue.cpp:
* bindings/v8/V8AbstractEventListener.cpp:
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8BindingMacros.h:
(WebCore):
* bindings/v8/V8Collection.h:
* bindings/v8/V8DOMWindowShell.cpp:
* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/V8EventListener.cpp:
* bindings/v8/V8GCController.cpp:
* bindings/v8/V8LazyEventListener.cpp:
* bindings/v8/V8NPObject.cpp:
* bindings/v8/V8NPUtils.cpp:
* bindings/v8/V8Proxy.h:
(WebCore):
* bindings/v8/V8Utilities.cpp:
* bindings/v8/WorkerContextExecutionProxy.cpp:
* bindings/v8/WorkerScriptController.cpp:
* bindings/v8/custom/V8ArrayBufferCustom.cpp:
* bindings/v8/custom/V8ArrayBufferViewCustom.h:
* bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
* bindings/v8/custom/V8AudioContextCustom.cpp:
* bindings/v8/custom/V8BlobCustom.cpp:
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
* bindings/v8/custom/V8ClipboardCustom.cpp:
* bindings/v8/custom/V8ConsoleCustom.cpp:
* bindings/v8/custom/V8CoordinatesCustom.cpp:
* bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
* bindings/v8/custom/V8DOMFormDataCustom.cpp:
* bindings/v8/custom/V8DataViewCustom.cpp:
* bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
* bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
* bindings/v8/custom/V8DocumentCustom.cpp:
* bindings/v8/custom/V8DocumentLocationCustom.cpp:
* bindings/v8/custom/V8EntryCustom.cpp:
* bindings/v8/custom/V8EntrySyncCustom.cpp:
* bindings/v8/custom/V8EventCustom.cpp:
* bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
* bindings/v8/custom/V8HTMLFormElementCustom.cpp:
* bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
* bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
* bindings/v8/custom/V8HTMLInputElementCustom.cpp:
* bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
* bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
* bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
* bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
* bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
* bindings/v8/custom/V8HistoryCustom.cpp:
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
* bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
* bindings/v8/custom/V8IntentConstructor.cpp:
* bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
* bindings/v8/custom/V8LocationCustom.cpp:
* bindings/v8/custom/V8MessageChannelConstructor.cpp:
* bindings/v8/custom/V8MessageEventCustom.cpp:
* bindings/v8/custom/V8MessagePortCustom.cpp:
* bindings/v8/custom/V8MutationCallbackCustom.cpp:
* bindings/v8/custom/V8MutationObserverCustom.cpp:
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
* bindings/v8/custom/V8NodeCustom.cpp:
* bindings/v8/custom/V8NodeListCustom.cpp:
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
* bindings/v8/custom/V8NotificationCustom.cpp:
* bindings/v8/custom/V8PopStateEventCustom.cpp:
* bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
* bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
* bindings/v8/custom/V8SVGDocumentCustom.cpp:
* bindings/v8/custom/V8ScriptProfileCustom.cpp:
* bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
* bindings/v8/custom/V8StorageCustom.cpp:
* bindings/v8/custom/V8StyleSheetListCustom.cpp:
* bindings/v8/custom/V8TrackEventCustom.cpp:
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
* bindings/v8/custom/V8WebKitAnimationCustom.cpp:
* bindings/v8/custom/V8WebKitPointConstructor.cpp:
* bindings/v8/custom/V8WebSocketCustom.cpp:
* bindings/v8/custom/V8WorkerContextCustom.cpp:
* bindings/v8/custom/V8WorkerCustom.cpp:
* bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
* bindings/v8/custom/V8XSLTProcessorCustom.cpp:

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

8 years agoUnreviewed Chromium gardeing.
morrita@google.com [Thu, 23 Aug 2012 07:34:30 +0000 (07:34 +0000)]
Unreviewed Chromium gardeing.

* platform/chromium-linux/media/track/track-cue-rendering-horizontal-expected.txt: Removed.
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.txt: Removed.
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-vertical-expected.txt: Removed.
* platform/chromium-win-xp/media/track/track-cue-rendering-horizontal-expected.png: Removed.
* platform/chromium-win-xp/media/track/track-cue-rendering-horizontal-expected.txt: Removed.
* platform/chromium-win-xp/media/track/track-cue-rendering-vertical-expected.txt: Removed.

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

8 years agoUnreviewed, rolling out r126348.
haraken@chromium.org [Thu, 23 Aug 2012 06:54:26 +0000 (06:54 +0000)]
Unreviewed, rolling out r126348.
http://trac.webkit.org/changeset/126348
https://bugs.webkit.org/show_bug.cgi?id=94588

We should use v8::String::NewSymbol() for symbols. See
https://bugs.webkit.org/show_bug.cgi?id=94574#c10 for more
details

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateNamedConstructorCallback):
(GenerateNonStandardFunction):
(GenerateImplementation):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::ConfigureV8Float64ArrayTemplate):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::ConfigureV8TestEventTargetTemplate):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::ConfigureV8TestInterfaceTemplate):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructor::GetTemplate):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::ConfigureV8TestObjTemplate):
(WebCore::V8TestObj::installPerContextProperties):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
* bindings/v8/V8Binding.h:
(WebCore):

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

8 years ago[GTK] media/video-duration-known-after-eos.html and media/media-element-play-after...
philn@webkit.org [Thu, 23 Aug 2012 06:29:36 +0000 (06:29 +0000)]
[GTK] media/video-duration-known-after-eos.html and media/media-element-play-after-eos.html are flaky
https://bugs.webkit.org/show_bug.cgi?id=83790

Reviewed by Eric Seidel.

Refactor the tests to wait the loadedmetadata event before
starting playback and attempting any access to the duration
attribute. This is an attempt to eliminate flakyness of the tests.

* media/media-element-play-after-eos-expected.txt:
* media/media-element-play-after-eos.html:
* media/video-duration-known-after-eos.html:
* platform/gtk/TestExpectations:

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

8 years agoUnreviewed Chromium gardeing.
morrita@google.com [Thu, 23 Aug 2012 06:10:48 +0000 (06:10 +0000)]
Unreviewed Chromium gardeing.

* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.png: Added.
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-vertical-expected.txt: Added.
* platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.png: Added.
* platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/chromium-mac/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/chromium-mac/media/track/track-cue-rendering-vertical-expected.txt: Added.
* platform/chromium-win-xp/media/track/track-cue-rendering-horizontal-expected.png: Added.
* platform/chromium-win-xp/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/chromium-win-xp/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/chromium-win-xp/media/track/track-cue-rendering-vertical-expected.txt: Added.
* platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.png: Added.
* platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/chromium-win/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/chromium-win/media/track/track-cue-rendering-vertical-expected.txt: Added.

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

8 years ago[V8] Remove V8Proxy from CodeGeneratorV8.pm
haraken@chromium.org [Thu, 23 Aug 2012 05:59:23 +0000 (05:59 +0000)]
[V8] Remove V8Proxy from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=94773

Reviewed by Adam Barth.

To kill V8Proxy, we can remove V8Proxy uses from CodeGeneratorV8.pm.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateToV8Converters):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::V8Float64Array::wrapSlow):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::V8TestCustomNamedGetter::wrapSlow):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::V8TestEventTarget::wrapSlow):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore::V8TestException::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::V8TestMediaQueryListListener::wrapSlow):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::wrapSlow):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::wrapSlow):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::wrapSlow):

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

8 years agoImplement UndoManager's item() method
commit-queue@webkit.org [Thu, 23 Aug 2012 05:58:10 +0000 (05:58 +0000)]
Implement UndoManager's item() method
https://bugs.webkit.org/show_bug.cgi?id=94671

Patch by Sukolsak Sakshuwong <sukolsak@google.com> on 2012-08-22
Reviewed by Ryosuke Niwa.

Source/WebCore:

This patch implements UndoManager's item() method and its V8 custom binding.
We need to use custom binding here because we need to return user objects
that are stored in a hidden property of DOMTransaction wrappers, not returning
the wrappers themselves.

Test: editing/undomanager/undomanager-item.html

* bindings/js/JSUndoManagerCustom.cpp:
(WebCore::JSUndoManager::item):
(WebCore):
* bindings/v8/DOMTransaction.cpp:
(WebCore::DOMTransaction::data):
(WebCore):
(WebCore::DOMTransaction::setData):
(WebCore::DOMTransaction::getFunction):
* bindings/v8/DOMTransaction.h:
* bindings/v8/custom/V8UndoManagerCustom.cpp:
(WebCore::V8UndoManager::transactCallback):
(WebCore::V8UndoManager::itemCallback):
(WebCore):
* editing/UndoManager.cpp:
(WebCore::UndoManager::item):
(WebCore):
* editing/UndoManager.h:
(UndoManager):
* editing/UndoManager.idl:

LayoutTests:

* editing/undomanager/undomanager-item-expected.txt: Added.
* editing/undomanager/undomanager-item.html: Added.

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

8 years agoAX: Focusable elements without a role should not be ignored
dmazzoni@google.com [Thu, 23 Aug 2012 05:54:42 +0000 (05:54 +0000)]
AX: Focusable elements without a role should not be ignored
https://bugs.webkit.org/show_bug.cgi?id=94302

Reviewed by Chris Fleizach.

Source/WebCore:

Changes the accessibility logic so that a generic element that's focusable is
not ignored for accessibility, and returns its inner text as its title. That way
if you Tab to the element, a reasonable accessibility notification is generated.

One exception is the body element, because focusing the body is equivalent to
blurring the current focused element and does not result in a "focus" accessibility
notification.

Also fixes logic that determined if an element was contentEditable by making
sure it catches the case with no attribute value (e.g. <div contentEditable>),
which also implies contentEditable=true according to the spec.

Test: accessibility/focusable-div.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore):
(WebCore::nodeHasContentEditableAttributeSet):
(WebCore::AccessibilityRenderObject::title):
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):

LayoutTests:

Adds a new test to make sure that a generic focusable element (like a div with tabindex=0)
can get focus and return an appropriate title, just like a form control or element with
an ARIA role.

Modifies three existing tests that were previously assuming that a focusable node
with no role would be ignored for accessibility ("accessibilityIsIgnored").

* accessibility/editable-webarea-context-menu-point.html:
* accessibility/focusable-div-expected.txt: Added.
* accessibility/focusable-div.html: Added.
* accessibility/table-detection.html:
* platform/mac/accessibility/listbox-hit-test.html:

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

8 years agoUnreviewed, rolling out r126383.
haraken@chromium.org [Thu, 23 Aug 2012 04:49:03 +0000 (04:49 +0000)]
Unreviewed, rolling out r126383.
http://trac.webkit.org/changeset/126383
https://bugs.webkit.org/show_bug.cgi?id=82888

Chromium win build crash

* bindings/js/JSClipboardCustom.cpp:
(WebCore::JSClipboard::types):
* bindings/v8/custom/V8ClipboardCustom.cpp:
(WebCore::V8Clipboard::typesAccessorGetter):
* dom/Clipboard.h:
(Clipboard):
* platform/blackberry/ClipboardBlackBerry.cpp:
(WebCore::ClipboardBlackBerry::types):
* platform/blackberry/ClipboardBlackBerry.h:
(ClipboardBlackBerry):
* platform/chromium/ChromiumDataObject.cpp:
(WebCore::ChromiumDataObject::types):
* platform/chromium/ChromiumDataObject.h:
(ChromiumDataObject):
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::types):
* platform/chromium/ClipboardChromium.h:
(ClipboardChromium):
* platform/efl/ClipboardEfl.cpp:
(WebCore::ClipboardEfl::types):
* platform/efl/ClipboardEfl.h:
(ClipboardEfl):
* platform/gtk/ClipboardGtk.cpp:
(WebCore::ClipboardGtk::types):
* platform/gtk/ClipboardGtk.h:
(ClipboardGtk):
* platform/mac/ClipboardMac.h:
(ClipboardMac):
* platform/mac/ClipboardMac.mm:
(WebCore::addHTMLClipboardTypesForCocoaType):
(WebCore::ClipboardMac::types):
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::types):
* platform/qt/ClipboardQt.h:
(ClipboardQt):
* platform/win/ClipboardWin.cpp:
(WebCore::addMimeTypesForFormat):
(WebCore::ClipboardWin::types):
* platform/win/ClipboardWin.h:
(ClipboardWin):
* platform/wx/ClipboardWx.cpp:
(WebCore::ClipboardWx::types):
* platform/wx/ClipboardWx.h:
(ClipboardWx):

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

8 years ago[V8] Move m_isolatedWorlds and m_isolatedWorldSecurityOrigins from V8Proxy to ScriptC...
haraken@chromium.org [Thu, 23 Aug 2012 03:46:53 +0000 (03:46 +0000)]
[V8] Move m_isolatedWorlds and m_isolatedWorldSecurityOrigins from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94770

Reviewed by Adam Barth.

Now m_isolatedWorlds and m_isolatedWorldSecurityOrigins of V8Proxy
are used by ScriptController only. We can move them to ScriptController.

No tests. No change in behavior.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::resetIsolatedWorlds):
(WebCore::ScriptController::evaluateInIsolatedWorld):
(WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
(WebCore::ScriptController::collectIsolatedContexts):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8Proxy.h:
(V8Proxy):

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

8 years ago[V8] Move evaluate() from V8Proxy to ScriptController
haraken@chromium.org [Thu, 23 Aug 2012 03:42:54 +0000 (03:42 +0000)]
[V8] Move evaluate() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94768

Reviewed by Adam Barth.

To kill V8Proxy, we can move evaluate() from V8Proxy to ScriptController.

- Renamed evaluate() to compileAndRunScript() to avoid name conflict
with existing ScriptController::evaluate().

- Removed toV8Proxy() from NPV8Object, as it is no longer used.

No tests. No change in behavior.

* bindings/v8/NPV8Object.cpp:
(_NPN_EvaluateHelper):
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::compileAndRunScript):
(WebCore):
(WebCore::ScriptController::evaluate):
(WebCore::ScriptController::evaluateInIsolatedWorld):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:

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

8 years agoArray accesses should remember what kind of array they are predicted to access
fpizlo@apple.com [Thu, 23 Aug 2012 03:38:52 +0000 (03:38 +0000)]
Array accesses should remember what kind of array they are predicted to access
https://bugs.webkit.org/show_bug.cgi?id=94448

Reviewed by Gavin Barraclough.

Introduced the notion of DFG::Array::Mode, stored in node.arrayMode(), which allows nodes
to remember how they decided to access arrays. This permits the bytecode parser to "lock in"
the mode of access if it has profiling at its disposal, and it also allows the prediction
propagator to do a fixup of the array mode later in the optimization fixpoint.

This patch adds a healthy amount of new capability (specifically the ability of the parser
to lock in an array mode regardless of type predictions) and it also blows away a lot of
messy code.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
* dfg/DFGArrayMode.cpp: Added.
(DFG):
(JSC::DFG::fromObserved):
(JSC::DFG::refineArrayMode):
(JSC::DFG::modeAlreadyChecked):
(JSC::DFG::modeToString):
* dfg/DFGArrayMode.h: Added.
(DFG):
(JSC::DFG::canCSEStorage):
(JSC::DFG::modeForPut):
(JSC::DFG::modesCompatibleForStorageLoad):
(JSC::DFG::modeSupportsLength):
* dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::getArrayModeWithoutOSRExit):
(JSC::DFG::ByteCodeParser::getArrayMode):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::getByValLoadElimination):
(JSC::DFG::CSEPhase::checkStructureLoadElimination):
(JSC::DFG::CSEPhase::structureTransitionWatchpointElimination):
(JSC::DFG::CSEPhase::getByOffsetLoadElimination):
(JSC::DFG::CSEPhase::putByOffsetStoreElimination):
(JSC::DFG::CSEPhase::getPropertyStorageLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::byValIsPure):
(JSC::DFG::Graph::clobbersWorld):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasArrayMode):
(Node):
(JSC::DFG::Node::arrayMode):
(JSC::DFG::Node::setArrayMode):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::typedArrayDescriptor):
(DFG):
(JSC::DFG::SpeculativeJIT::speculateArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):

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

8 years agoUnreviewed update of my email.
alexis@webkit.org [Thu, 23 Aug 2012 03:09:33 +0000 (03:09 +0000)]
Unreviewed update of my email.

* Scripts/webkitpy/common/config/committers.py:
* Scripts/webkitpy/common/config/watchlist:

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

8 years agoConsider replacing return type of Clipboard::types() from HashSet<String> to Vector...
commit-queue@webkit.org [Thu, 23 Aug 2012 01:56:54 +0000 (01:56 +0000)]
Consider replacing return type of Clipboard::types() from HashSet<String> to Vector<String>.
https://bugs.webkit.org/show_bug.cgi?id=82888

Patch by Vineet Chaudhary <rgf748@motorola.com> on 2012-08-22
Reviewed by Kentaro Hara.

As part of removing custom bindings of types Array Clipboard::types() needs to return
Vector<String> than HashSet<String>

No new tests. Exixting test should pass with this change as no behavoural changes.

* bindings/js/JSClipboardCustom.cpp: Replace data type from HashSet<> to Vector<>.
(WebCore::JSClipboard::types):
* bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
(WebCore::V8Clipboard::typesAccessorGetter):
* dom/Clipboard.h: Ditto.
(Clipboard):
* platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
(WebCore::ClipboardBlackBerry::types):
* platform/blackberry/ClipboardBlackBerry.h: Ditto.
(ClipboardBlackBerry):
* platform/chromium/ChromiumDataObject.cpp: Ditto.
(WebCore::ChromiumDataObject::types):
* platform/chromium/ChromiumDataObject.h: Ditto.
(ChromiumDataObject):
* platform/chromium/ClipboardChromium.cpp: Ditto.
(WebCore::ClipboardChromium::types):
* platform/chromium/ClipboardChromium.h: Ditto.
(ClipboardChromium):
* platform/efl/ClipboardEfl.cpp: Ditto.
(WebCore::ClipboardEfl::types):
* platform/efl/ClipboardEfl.h: Ditto.
(ClipboardEfl):
* platform/gtk/ClipboardGtk.cpp: Ditto.
(WebCore::ClipboardGtk::types):
* platform/gtk/ClipboardGtk.h: Ditto.
(ClipboardGtk):
* platform/mac/ClipboardMac.h: Ditto.
(ClipboardMac):
* platform/mac/ClipboardMac.mm: Ditto.
(WebCore::addHTMLClipboardTypesForCocoaType):
(WebCore::ClipboardMac::types):
* platform/qt/ClipboardQt.cpp: Ditto.
(WebCore::ClipboardQt::types):
* platform/qt/ClipboardQt.h: Ditto.
(ClipboardQt):
* platform/win/ClipboardWin.cpp: Ditto.
(WebCore::addMimeTypesForFormat):
(WebCore::ClipboardWin::types):
* platform/win/ClipboardWin.h: Ditto.
(ClipboardWin):
* platform/wx/ClipboardWx.cpp: Ditto.
(WebCore::ClipboardWx::types):
* platform/wx/ClipboardWx.h: Ditto.
(ClipboardWx):

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

8 years agoUnreviewed Chromium gardening. Optimized baselines from yesterday
kbr@google.com [Thu, 23 Aug 2012 01:54:06 +0000 (01:54 +0000)]
Unreviewed Chromium gardening. Optimized baselines from yesterday
with dpranke's new algorithm in webkit-patch optimize-baselines
from r126374 and r126380.

* platform/chromium-linux/fast/canvas/canvas-scale-shadowBlur-expected.txt: Removed.
* platform/chromium-linux/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Removed.
* platform/chromium-linux/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Removed.
* platform/chromium-linux/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/canvas/canvas-scale-shadowBlur-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Removed.
* platform/chromium-mac/fast/canvas/canvas-scale-shadowBlur-expected.txt: Removed.
* platform/chromium-mac/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Removed.
* platform/chromium-mac/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Removed.
* platform/chromium-mac/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Removed.
* platform/chromium-win-xp/fast/canvas/canvas-scale-shadowBlur-expected.txt: Removed.
* platform/chromium-win-xp/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Removed.
* platform/chromium-win-xp/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Removed.
* platform/chromium-win-xp/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Removed.
* platform/chromium-win/fast/canvas/canvas-scale-shadowBlur-expected.txt: Removed.
* platform/chromium-win/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Removed.
* platform/chromium-win/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Removed.
* platform/chromium-win/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Removed.
* platform/chromium/fast/canvas/canvas-scale-shadowBlur-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/fast/canvas/canvas-scale-shadowBlur-expected.txt.
* platform/chromium/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/fast/canvas/canvas-scale-strokePath-shadow-expected.txt.
* platform/chromium/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt.
* platform/chromium/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt.

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

8 years agoIndexedDB: tests for injection/extraction of idb keys
commit-queue@webkit.org [Thu, 23 Aug 2012 01:49:56 +0000 (01:49 +0000)]
IndexedDB: tests for injection/extraction of idb keys
https://bugs.webkit.org/show_bug.cgi?id=94653

Patch by Alec Flett <alecflett@chromium.org> on 2012-08-22
Reviewed by Tony Chang.

Added unit tests for key injection/extraction using
SerializedScriptValue. These were moved from chromium, now
that all uses of the API are through WebKit.

* tests/IDBKeyPathTest.cpp:
(WebCore):
(WebCore::TEST):

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

8 years agoFix typos in r126374
dpranke@chromium.org [Thu, 23 Aug 2012 01:34:41 +0000 (01:34 +0000)]
Fix typos in r126374
https://bugs.webkit.org/show_bug.cgi?id=94665
Unreviewed, build fix.

Fix two issues that snuck in, one that caused a crash if there
were no baselines to optimize and one that occurred as a result
of failing to rename a variable when I changed the recursion to
a loop in the previous patch.

* Scripts/webkitpy/common/checkout/baselineoptimizer.py:
(BaselineOptimizer._optimize_by_pushing_results_up):

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

8 years agoThreadRestrictionVerifier should be opt-in, not opt-out
ggaren@apple.com [Thu, 23 Aug 2012 01:33:25 +0000 (01:33 +0000)]
ThreadRestrictionVerifier should be opt-in, not opt-out
https://bugs.webkit.org/show_bug.cgi?id=94761

Reviewed by Mark Hahnenberg.

../JavaScriptCore:

Removed explicit calls to disable the verifier, since it's off by default now.

* parser/SourceProvider.h:
(JSC::SourceProvider::SourceProvider):
(SourceProvider):
* runtime/SymbolTable.h:
(JSC::SharedSymbolTable::SharedSymbolTable):

../WTF:

WebKit's JavaScript engine supports use on multiple threads, so default-on
is not appropriate for most of our objects, and it causes lots of suprious
assertions.

* wtf/MetaAllocator.cpp:
(WTF::MetaAllocatorHandle::MetaAllocatorHandle): No need to turn off
explicitly, since it's off by default now.

* wtf/ThreadRestrictionVerifier.h:
(WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier): Turn off by default.

(WTF::ThreadRestrictionVerifier::setMutexMode):
(WTF::ThreadRestrictionVerifier::setDispatchQueueMode):
(WTF::ThreadRestrictionVerifier::turnOffVerification): These assertions
about state transitions were inconsistent with each other, and impossible
to maintain with default off, so I removed them.

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

8 years ago[chromium] Change WebLayer from a concrete type to a pure virtual interface
jamesr@google.com [Thu, 23 Aug 2012 01:28:52 +0000 (01:28 +0000)]
[chromium] Change WebLayer from a concrete type to a pure virtual interface
https://bugs.webkit.org/show_bug.cgi?id=94174

Reviewed by Adrienne Walker.

Source/Platform:

This changes WebLayer from a value type to a pure virtual interface and changes Web*Layers from subtypes to
standalone types that have a WebLayer. This better isolates the implementation from the interface and, since
it's not possible to re-wrap an existing layer, makes cleanup explicit instead of requiring the caller to
invoke special cleanup methods before shutdown.

* chromium/public/WebContentLayer.h:
(WebContentLayer):
* chromium/public/WebExternalTextureLayer.h:
(WebExternalTextureLayer):
* chromium/public/WebIOSurfaceLayer.h:
(WebIOSurfaceLayer):
* chromium/public/WebImageLayer.h:
(WebImageLayer):
* chromium/public/WebLayer.h:
(WebKit):
(WebLayer):
(WebKit::WebLayer::~WebLayer):
* chromium/public/WebScrollableLayer.h: Removed.
* chromium/public/WebScrollbarLayer.h:
(WebScrollbarLayer):
* chromium/public/WebSolidColorLayer.h:
(WebKit):
(WebSolidColorLayer):
(WebKit::WebSolidColorLayer::~WebSolidColorLayer):
* chromium/public/WebVideoLayer.h:
(WebVideoLayer):

Source/WebCore:

This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
m_transformLayer) and assembles the final layer tree.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
(ScrollingCoordinatorPrivate):
(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::scrollLayer):
(WebCore::scrollableLayerForGraphicsLayer):
(WebCore):
(WebCore::createScrollbarLayer):
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
(WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::prepareForDraw):
(WebCore::Canvas2DLayerBridge::layer):
(WebCore::Canvas2DLayerBridge::contextAcquired):
* platform/graphics/chromium/Canvas2DLayerBridge.h:
(Canvas2DLayerBridge):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::layer):
(DrawingBufferPrivate):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::willBeDestroyed):
(WebCore::GraphicsLayerChromium::updateNames):
(WebCore::GraphicsLayerChromium::removeFromParent):
(WebCore::GraphicsLayerChromium::setSize):
(WebCore::GraphicsLayerChromium::clearBackgroundColor):
(WebCore::GraphicsLayerChromium::setContentsOpaque):
(WebCore::GraphicsLayerChromium::setFilters):
(WebCore::GraphicsLayerChromium::setBackgroundFilters):
(WebCore::GraphicsLayerChromium::setMaskLayer):
(WebCore::GraphicsLayerChromium::setBackfaceVisibility):
(WebCore::GraphicsLayerChromium::setOpacity):
(WebCore::GraphicsLayerChromium::setReplicatedByLayer):
(WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
(WebCore::GraphicsLayerChromium::setNeedsDisplay):
(WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
(WebCore):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::setContentsTo):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::pauseAnimation):
(WebCore::GraphicsLayerChromium::removeAnimation):
(WebCore::GraphicsLayerChromium::suspendAnimations):
(WebCore::GraphicsLayerChromium::resumeAnimations):
(WebCore::GraphicsLayerChromium::platformLayer):
(WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
(WebCore::GraphicsLayerChromium::setDebugBorder):
(WebCore::GraphicsLayerChromium::updateChildList):
(WebCore::GraphicsLayerChromium::updateLayerPosition):
(WebCore::GraphicsLayerChromium::updateLayerSize):
(WebCore::GraphicsLayerChromium::updateAnchorPoint):
(WebCore::GraphicsLayerChromium::updateTransform):
(WebCore::GraphicsLayerChromium::updateChildrenTransform):
(WebCore::GraphicsLayerChromium::updateMasksToBounds):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
(WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
(WebCore::GraphicsLayerChromium::updateContentsRect):
(WebCore::GraphicsLayerChromium::updateContentsScale):
(WebCore::GraphicsLayerChromium::setupContentsLayer):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::hasContentsLayer):
(WebCore::GraphicsLayerChromium::contentLayer):
(WebCore::GraphicsLayerChromium::contentsLayer):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::rootLayer):
* platform/graphics/chromium/LayerChromium.h:

Source/WebKit/chromium:

This updates the implementation of the Web*Layer family to the new design and updates callers in WebViewImpl /
NonCompositedContentHost / LinkHighlight.

* WebKit.gypi:
* src/LinkHighlight.cpp:
(WebKit::LinkHighlight::LinkHighlight):
(WebKit::LinkHighlight::contentLayer):
(WebKit::LinkHighlight::clipLayer):
(WebKit::LinkHighlight::releaseResources):
(WebKit::LinkHighlight::computeHighlightLayerPathAndPosition):
(WebKit::LinkHighlight::startHighlightAnimation):
(WebKit::LinkHighlight::updateGeometry):
* src/LinkHighlight.h:
(LinkHighlight):
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
(WebKit::NonCompositedContentHost::setScrollLayer):
(WebKit::NonCompositedContentHost::setViewport):
(WebKit::NonCompositedContentHost::scrollLayer):
* src/NonCompositedContentHost.h:
* src/WebContentLayer.cpp: Removed.
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayer::create):
(WebKit::WebContentLayerImpl::WebContentLayerImpl):
(WebKit::WebContentLayerImpl::~WebContentLayerImpl):
(WebKit::WebContentLayerImpl::layer):
(WebKit):
(WebKit::WebContentLayerImpl::setDoubleSided):
(WebKit::WebContentLayerImpl::setContentsScale):
(WebKit::WebContentLayerImpl::setUseLCDText):
(WebKit::WebContentLayerImpl::setDrawCheckerboardForMissingTiles):
(WebKit::WebContentLayerImpl::paintContents):
* src/WebContentLayerImpl.h:
(WebContentLayerImpl):
* src/WebExternalTextureLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebExternalTextureLayer.cpp.
(WebKit):
(WebKit::WebExternalTextureLayer::create):
(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::~WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::layer):
(WebKit::WebExternalTextureLayerImpl::setTextureId):
(WebKit::WebExternalTextureLayerImpl::setFlipped):
(WebKit::WebExternalTextureLayerImpl::setUVRect):
(WebKit::WebExternalTextureLayerImpl::setOpaque):
(WebKit::WebExternalTextureLayerImpl::setPremultipliedAlpha):
(WebKit::WebExternalTextureLayerImpl::willModifyTexture):
(WebKit::WebExternalTextureLayerImpl::setRateLimitContext):
(WebTextureUpdaterImpl):
(WebKit::WebTextureUpdaterImpl::WebTextureUpdaterImpl):
(WebKit::WebExternalTextureLayerImpl::prepareTexture):
(WebKit::WebExternalTextureLayerImpl::context):
* src/WebExternalTextureLayerImpl.h: Copied from Source/Platform/chromium/public/WebVideoLayer.h.
(WebKit):
(WebExternalTextureLayerImpl):
* src/WebIOSurfaceLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebIOSurfaceLayer.cpp.
(WebKit):
(WebKit::WebIOSurfaceLayer::create):
(WebKit::WebIOSurfaceLayerImpl::WebIOSurfaceLayerImpl):
(WebKit::WebIOSurfaceLayerImpl::~WebIOSurfaceLayerImpl):
(WebKit::WebIOSurfaceLayerImpl::setIOSurfaceProperties):
(WebKit::WebIOSurfaceLayerImpl::layer):
* src/WebIOSurfaceLayerImpl.h: Copied from Source/Platform/chromium/public/WebImageLayer.h.
(WebCore):
(WebKit):
(WebIOSurfaceLayerImpl):
* src/WebImageLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebSolidColorLayer.cpp.
(WebKit):
(WebKit::WebImageLayer::create):
(WebKit::WebImageLayerImpl::WebImageLayerImpl):
(WebKit::WebImageLayerImpl::~WebImageLayerImpl):
(WebKit::WebImageLayerImpl::layer):
(WebKit::WebImageLayerImpl::setBitmap):
* src/WebImageLayerImpl.h: Renamed from Source/WebKit/chromium/src/WebImageLayer.cpp.
(WebCore):
(WebKit):
(WebImageLayerImpl):
* src/WebLayer.cpp: Removed.
* src/WebLayerImpl.cpp:
(WebKit::WebLayer::create):
(WebKit::WebLayerImpl::WebLayerImpl):
(WebKit::WebLayerImpl::~WebLayerImpl):
(WebKit):
(WebKit::WebLayerImpl::id):
(WebKit::WebLayerImpl::invalidateRect):
(WebKit::WebLayerImpl::invalidate):
(WebKit::WebLayerImpl::addChild):
(WebKit::WebLayerImpl::insertChild):
(WebKit::WebLayerImpl::replaceChild):
(WebKit::WebLayerImpl::setChildren):
(WebKit::WebLayerImpl::removeFromParent):
(WebKit::WebLayerImpl::removeAllChildren):
(WebKit::WebLayerImpl::setAnchorPoint):
(WebKit::WebLayerImpl::anchorPoint):
(WebKit::WebLayerImpl::setAnchorPointZ):
(WebKit::WebLayerImpl::anchorPointZ):
(WebKit::WebLayerImpl::setBounds):
(WebKit::WebLayerImpl::bounds):
(WebKit::WebLayerImpl::setMasksToBounds):
(WebKit::WebLayerImpl::masksToBounds):
(WebKit::WebLayerImpl::setMaskLayer):
(WebKit::WebLayerImpl::setReplicaLayer):
(WebKit::WebLayerImpl::setOpacity):
(WebKit::WebLayerImpl::opacity):
(WebKit::WebLayerImpl::setOpaque):
(WebKit::WebLayerImpl::opaque):
(WebKit::WebLayerImpl::setPosition):
(WebKit::WebLayerImpl::position):
(WebKit::WebLayerImpl::setSublayerTransform):
(WebKit::WebLayerImpl::sublayerTransform):
(WebKit::WebLayerImpl::setTransform):
(WebKit::WebLayerImpl::transform):
(WebKit::WebLayerImpl::setDrawsContent):
(WebKit::WebLayerImpl::drawsContent):
(WebKit::WebLayerImpl::setPreserves3D):
(WebKit::WebLayerImpl::setUseParentBackfaceVisibility):
(WebKit::WebLayerImpl::setBackgroundColor):
(WebKit::WebLayerImpl::setFilters):
(WebKit::WebLayerImpl::setBackgroundFilters):
(WebKit::WebLayerImpl::setDebugBorderColor):
(WebKit::WebLayerImpl::setDebugBorderWidth):
(WebKit::WebLayerImpl::setDebugName):
(WebKit::WebLayerImpl::setAnimationDelegate):
(WebKit::WebLayerImpl::addAnimation):
(WebKit::WebLayerImpl::removeAnimation):
(WebKit::WebLayerImpl::pauseAnimation):
(WebKit::WebLayerImpl::suspendAnimations):
(WebKit::WebLayerImpl::resumeAnimations):
(WebKit::WebLayerImpl::hasActiveAnimation):
(WebKit::WebLayerImpl::transferAnimationsTo):
(WebKit::WebLayerImpl::setForceRenderSurface):
(WebKit::WebLayerImpl::setScrollPosition):
(WebKit::WebLayerImpl::setScrollable):
(WebKit::WebLayerImpl::setHaveWheelEventHandlers):
(WebKit::WebLayerImpl::setShouldScrollOnMainThread):
(WebKit::WebLayerImpl::setNonFastScrollableRegion):
(WebKit::WebLayerImpl::setIsContainerForFixedPositionLayers):
(WebKit::WebLayerImpl::setFixedToContainerLayer):
(WebKit::WebLayerImpl::layer):
* src/WebLayerImpl.h:
(WebCore):
(WebLayerImpl):
* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::setRootLayer):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::create):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
(WebKit::WebMediaPlayerClientImpl::repaint):
(WebKit::WebMediaPlayerClientImpl::setOpaque):
(WebKit::WebMediaPlayerClientImpl::platformLayer):
(WebKit::WebMediaPlayerClientImpl::acceleratedRenderingInUse):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setBackingTextureId):
(WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
(WebKit::WebPluginContainerImpl::commitBackingTexture):
(WebKit::WebPluginContainerImpl::setOpaque):
(WebKit::WebPluginContainerImpl::platformLayer):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):
* src/WebScrollableLayer.cpp: Removed.
* src/WebScrollbarLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebScrollbarLayer.cpp.
(WebKit):
(WebKit::WebScrollbarLayer::create):
(WebKit::WebScrollbarLayerImpl::WebScrollbarLayerImpl):
(WebKit::WebScrollbarLayerImpl::~WebScrollbarLayerImpl):
(WebKit::WebScrollbarLayerImpl::layer):
(WebKit::WebScrollbarLayerImpl::setScrollLayer):
* src/WebScrollbarLayerImpl.h: Copied from Source/WebKit/chromium/src/WebSolidColorLayerImpl.h.
(WebCore):
(WebKit):
(WebScrollbarLayerImpl):
* src/WebSolidColorLayerImpl.cpp:
(WebKit::WebSolidColorLayer::create):
(WebKit::WebSolidColorLayerImpl::WebSolidColorLayerImpl):
(WebKit::WebSolidColorLayerImpl::layer):
(WebKit):
(WebKit::WebSolidColorLayerImpl::setBackgroundColor):
* src/WebSolidColorLayerImpl.h:
(WebCore):
(WebKit):
(WebSolidColorLayerImpl):
* src/WebVideoLayerImpl.cpp: Copied from Source/WebKit/chromium/src/WebVideoLayer.cpp.
(WebKit):
(WebKit::WebVideoLayer::create):
(WebKit::WebVideoLayerImpl::WebVideoLayerImpl):
(WebKit::WebVideoLayerImpl::~WebVideoLayerImpl):
(WebKit::WebVideoLayerImpl::layer):
(WebKit::WebVideoLayerImpl::active):
* src/WebVideoLayerImpl.h: Renamed from Source/WebKit/chromium/src/WebVideoLayer.cpp.
(WebCore):
(WebKit):
(WebVideoLayerImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setRootGraphicsLayer):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit):
* src/WebViewImpl.h:
* tests/ImageLayerChromiumTest.cpp:
(WebCore::TEST):
* tests/WebLayerTest.cpp:
* tests/WebLayerTreeViewTest.cpp:

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

8 years ago[V8] Move runScript() from V8Proxy to ScriptRunner
haraken@chromium.org [Thu, 23 Aug 2012 01:27:28 +0000 (01:27 +0000)]
[V8] Move runScript() from V8Proxy to ScriptRunner
https://bugs.webkit.org/show_bug.cgi?id=94706

Reviewed by Adam Barth.

To kill V8Proxy, we can move runScript() from V8Proxy to ScriptRunner.

- ScriptRunner::runScript() should be a static method.
It should receive ScriptExecutionContext on which the script is evaluated.

- After this patch is landed, I'll remove WorkerContextExecutionContext::runScript()
and ScriptDebugServer::runScript().

No tests. No change in behavior.

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/ScriptController.cpp:
* bindings/v8/ScriptRunner.cpp: Added.
(WebCore):
(WebCore::ScriptRunner::runScript):
* bindings/v8/ScriptRunner.h: Added.
(WebCore):
(ScriptRunner):
* bindings/v8/V8Binding.cpp:
(WebCore::handleMaxRecursionDepthExceeded):
(WebCore):
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::evaluate):
* bindings/v8/V8Proxy.h:
(V8Proxy):

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

8 years ago[V8] OwnHandle doesn't need to support weak handles
abarth@webkit.org [Thu, 23 Aug 2012 01:23:12 +0000 (01:23 +0000)]
[V8] OwnHandle doesn't need to support weak handles
https://bugs.webkit.org/show_bug.cgi?id=94760

Reviewed by Kentaro Hara.

No code uses makeWeak(). We can drop support for it and simplify this
class.

* bindings/v8/OwnHandle.h:
(WebCore):
(OwnHandle):
(WebCore::OwnHandle::OwnHandle):
(WebCore::OwnHandle::~OwnHandle):
(WebCore::OwnHandle::get):
(WebCore::OwnHandle::set):
(WebCore::OwnHandle::clear):

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

8 years ago[V8] Remove V8Proxy from getXPathNSResolver()
haraken@chromium.org [Thu, 23 Aug 2012 01:12:54 +0000 (01:12 +0000)]
[V8] Remove V8Proxy from getXPathNSResolver()
https://bugs.webkit.org/show_bug.cgi?id=94715

Reviewed by Adam Barth.

- The V8Proxy* argument of getXPathNSResolver(..., V8Proxy* = 0) is not used.
  We can remove it.

- We can rename getXPathNSResolver() to toXPathNSResolver().

- We can move toXPathNSResolver() from V8DOMWrapper to V8Binding,
  since other toXXX() methods are written in V8Binding.

- Change the return value of toXPathNSResolver() from RefPtr to PassRefPtr.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(JSValueToNative):
* bindings/v8/V8Binding.cpp:
(WebCore::toXPathNSResolver):
(WebCore):
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/V8DOMWrapper.h:
(V8DOMWrapper):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::V8Document::evaluateCallback):

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

8 years agoBaseline optimizer should try to optimize per-port if global optimization fails
dpranke@chromium.org [Thu, 23 Aug 2012 01:08:25 +0000 (01:08 +0000)]
Baseline optimizer should try to optimize per-port if global optimization fails
https://bugs.webkit.org/show_bug.cgi?id=94665

Reviewed by Adam Barth.

Add a fallback strategy for optimizing baselines if the default
one fails; this one simply attempts to shift baselines up in the
tree and consolidates them if a parent and child in the fallback
path have the same result. This strategy is somewhat flawed in
that we will always put something in a parent dir even if we
"shouldn't"; for example, if chromium-mac produces a different
result from chromium-win and chromium-linux, then the new
algorithm will move the mac result into platform/chromium,
leaving chromium-mac empty. This result is still correct, but
perhaps confusing.

I haven't done much testing of this algorithm yet, so it's not
clear how many cases where this does a better job than the
default algorithm and how many it'll do a worse job.

* Scripts/webkitpy/common/checkout/baselineoptimizer.py:
(BaselineOptimizer._find_optimal_result_placement):
(BaselineOptimizer._optimize_by_most_specific_common_directory):
(BaselineOptimizer):
(BaselineOptimizer._optimize_by_pushing_results_up):
(BaselineOptimizer._find_in_fallbackpath):
* Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
(BaselineOptimizerTest.test_platform_mac_different):

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

8 years agoUnreviewed, rolling out r126325.
kbr@google.com [Thu, 23 Aug 2012 01:07:22 +0000 (01:07 +0000)]
Unreviewed, rolling out r126325.
http://trac.webkit.org/changeset/126325
https://bugs.webkit.org/show_bug.cgi?id=94644

Caused subtle but reproducible failure to call onload handler
properly in an SVG layout test in Chromium Mac Debug builds,
indicating potentially larger problem

* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::beginLoadTimerFired):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::decrementRequestCount):

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

8 years agoDisplay a TextTrackCue when snap-to-lines flag is set
victor@rosedu.org [Thu, 23 Aug 2012 01:00:10 +0000 (01:00 +0000)]
Display a TextTrackCue when snap-to-lines flag is set
https://bugs.webkit.org/show_bug.cgi?id=79751

Reviewed by Tony Chang.

Source/WebCore:

This patch implements rendering functionality for a given text track,
following closer the exact WebVTT specification. There are two new classes
which have been added in order to succesfully cover rendering when of a text
track cue.

RenderTextTrackCue handles the specific rendering algorithm required,
by checking for overlaps with other boxes that are in the same
container (these can be any other boxes, not necessarily other cues,
the video controls, for example).

TextTrackCueBox extends HTMLDivElement and is an intermediate layer
between the renderer class and the actual cue object. Its purpose is
to instantiate the particular renderer and cover all the default CSS
styling that needs to be applied to the cue.

The layout is done in two steps:
  - Step 1: Layout the TextTrackCue with default CSS properties set (this is
the TextTrackCueBox decorated with the respective CSS elements)
  - Step 2: RenderTextTrackCue adjusts the box position depending on the
parameters of the TextTrackCue object and the overlaps that may occur with
previously positioned cues.

Tests: media/track/track-cue-rendering-horizontal.html
       media/track/track-cue-rendering-vertical.html

* CMakeLists.txt: Updated to include RenderTextTrackCue.
* GNUmakefile.list.am: Updated to include RenderTextTrackCue.
* Target.pri: Updated to include RenderTextTrackCue.
* WebCore.gypi: Updated to include RenderTextTrackCue.
* WebCore.vcproj/WebCore.vcproj: Updated to include RenderTextTrackCue.
* WebCore.xcodeproj/project.pbxproj: Updated to include RenderTextTrackCue.
* css/mediaControls.css: Removed unreliable CSS.
(video::-webkit-media-text-track-display): Removed properties.
* html/shadow/MediaControlElements.cpp: Updated to not use the new class.
(RenderTextTrackContainerElement):
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Simplified
the function by moving the check if track is rendered in TextTrack and used
the TextTrackCueBox for cues.
* html/track/TextTrack.cpp: Added a new method.
(WebCore::TextTrack::isRendered): Method that returns whether the track should
be rendered or not.
(WebCore):
* html/track/TextTrack.h: Added the isRendered method.
(TextTrack):
* html/track/TextTrackCue.cpp: Added several helper methods and
the TextTrackCueBox.
(WebCore):
(WebCore::TextTrackCueBox::TextTrackCueBox): The TextTrackCueBox extends
the HTMLDivElement and represents a bridge class between RenderTextTrackCue
and TextTrackCue. This is required as the layout is done in two steps, as
explained on top of the ChangeLog entry.
(WebCore::TextTrackCueBox::getCue): Returns the associated TextTrackCue object.
(WebCore::TextTrackCueBox::applyCSSProperties): Applies a part of the default CSS
properties, as defined by section 3.5.1 of the WebVTT specification.
(WebCore::TextTrackCueBox::shadowPseudoId): Moved the shadow pseudo id.
(WebCore::TextTrackCueBox::createRenderer): Creates the particular renderer.
(WebCore::TextTrackCue::TextTrackCue): Corrected the internal writing mode map.
(WebCore::TextTrackCue::calculateComputedLinePosition): Updated the compute line
position algorithm. This requires, however, a method to consider only rendered
tracks (and therefore will be addressed completely in subsequent changeset).
(WebCore::TextTrackCue::calculateDisplayParameters): Updated and corrected the
computed display parameters to match the current specification.
(WebCore::TextTrackCue::getDisplayTree): Update to use the TextTrackCueBox class
and moved CSS application to the respective class.
(WebCore::TextTrackCue::getPositionCoordinates): Added comment to specify in which
situation this method is used and change visibility to private.
(WebCore::TextTrackCue::getCSSWritingMode): Returns the CSS writing mode corresponding
to the cue writing mode.
(WebCore::TextTrackCue::getCSSSize): Returns the cue width / height (depending on the
writing direction.
(WebCore::TextTrackCue::getCSSPosition): Returns the default display position, that is
used in the first layout step.
* html/track/TextTrackCue.h:
(WebCore):
(TextTrackCueBox):
(WebCore::TextTrackCueBox::create): Initialization method.
(TextTrackCue):
(WebCore::TextTrackCue::getWritingDirection): Helper method to return the internal
values used to represent the writing direction.
* rendering/RenderTextTrackCue.cpp: Added.
(WebCore):
(WebCore::RenderTextTrackCue::RenderTextTrackCue):
(WebCore::RenderTextTrackCue::layout): The rendering steps, as mentioned in
the WebVTT rendering rules. Currently, this treats only the snap-to-lines set
case. It is implemented following closely the spec, and might be subject to
change as discussions on various bugs evolve.
(WebCore::RenderTextTrackCue::initializeLayoutParameters): Steps 1 - 7.
(WebCore::RenderTextTrackCue::placeBoxInDefaultPosition): Steps 8 - 10.
(WebCore::RenderTextTrackCue::isOutside): Inline method to check if the cue is outside.
(WebCore::RenderTextTrackCue::isOverlapping): Inline method to check if the cue overlaps other boxes.
(WebCore::RenderTextTrackCue::shouldSwitchDirection): Step 12.
(WebCore::RenderTextTrackCue::moveBoxesByStep): Step 13.
(WebCore::RenderTextTrackCue::switchDirection): Steps 15 - 18.
(WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Cue repositioning
for text track cue when the snap to lines flag is set.
(WebCore::RenderTextTrackCue::repositionCueSnapToLinesNotSet): Cue repositioning
for text track cue when the snap to lines flag is not set. Not implemented yet.
* rendering/RenderTextTrackCue.h: Added.
(WebCore):
(RenderTextTrackCue): Rendering class, handling the display of cues.

LayoutTests:

Test cases covering snap-to-lines horizontal and vertical positioning of cues.

* media/track/captions-webvtt/captions-snap-to-lines-set.vtt: Added.
* media/track/track-cue-rendering-horizontal.html: Added.
* media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Updated.
* media/track/track-cue-rendering-vertical.html: Added.
* media/video-test.js: Updated to support pixel test dumps.
* platform/chromium-linux/media/track/track-cue-rendering-horizontal-expected.png: Added.
* platform/chromium-linux/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.txt: Added.
* platform/chromium/TestExpectations: Marking these temporarily as IMAGE fail, as they will
anyway require new baselines.
* platform/mac/media/track/track-cue-rendering-horizontal-expected.png: Added.
* platform/mac/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/mac/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/mac/media/track/track-cue-rendering-vertical-expected.txt: Added.

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

8 years agoadd debug info, another test to webkit-patch optimize-baselines
dpranke@chromium.org [Thu, 23 Aug 2012 00:59:54 +0000 (00:59 +0000)]
add debug info, another test to webkit-patch optimize-baselines
https://bugs.webkit.org/show_bug.cgi?id=94762

Reviewed by Adam Barth.

This patch adds more debug logging for optimize-baselines so
that you can tell the before and after states and figure out
what the command is actually deciding to do.

Also, this command adds a (disabled) test for the problem in bug
94665. It's disabled because we don't have the fix yet (that
will be posted in a patch to that bug).

There should be no functional changes in this patch apart from
the additional logging.

Note that adding the debug logging exposed a bug in
filesystem_mock.relpath() (that would return None if the path
wasn't a subpath of the start); the real relpath computes a
relpath with parent dirs. Fixing this revealed a bad check in
the style checker's change_directory() call which was checking
for None.

* Scripts/webkitpy/common/checkout/baselineoptimizer.py:
(BaselineOptimizer._find_optimal_result_placement):
(BaselineOptimizer):
(BaselineOptimizer._optimize_by_most_specific_common_directory):
(BaselineOptimizer._move_baselines):
(BaselineOptimizer.optimize):
* Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
(BaselineOptimizerTest.disabled_test_platform_mac_different):
* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem):
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem):
(MockFileSystem.__init__):
(MockFileSystem.relpath):
* Scripts/webkitpy/common/system/filesystem_unittest.py:
(RealFileSystemTest.test_sep):
* Scripts/webkitpy/style/main.py:
(change_directory):

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

8 years ago[V8] Move matchesCurrentContext() from V8Proxy to ScriptController
haraken@chromium.org [Thu, 23 Aug 2012 00:38:08 +0000 (00:38 +0000)]
[V8] Move matchesCurrentContext() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94596

Reviewed by Adam Barth.

To kill V8Proxy:

- We can move matchesCurrentContext() from V8Proxy to ScriptController.
- We can remove V8Proxy::isolatedWorldContext() since it is not used by anybody.
- We can remove V8Proxy::finishedWithEvent() since it is empty.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateToV8Converters):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::wrapSlow):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::finishedWithEvent):
(WebCore::ScriptController::matchesCurrentContext):
(WebCore):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
(V8Proxy):

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

8 years agoSource/WebCore: [Gtk] Dojo toggle buttons should expose ROLE_TOGGLE_BUTTON not ROLE_P...
commit-queue@webkit.org [Thu, 23 Aug 2012 00:36:06 +0000 (00:36 +0000)]
Source/WebCore: [Gtk] Dojo toggle buttons should expose ROLE_TOGGLE_BUTTON not ROLE_PUSH_BUTTON
https://bugs.webkit.org/show_bug.cgi?id=73819

Patch by Alejandro Piñeiro <apinheiro@igalia.com> on 2012-08-22
Reviewed by Chris Fleizach.

Added a new role, Toggle Button, based on whether aria-pressed is present.
http://www.w3.org/TR/wai-aria/states_and_properties#aria-pressed

Test: platform/gtk/accessibility/aria-toggle-button-role.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole): using buttonRoleType
to classify a button-related role.
(WebCore::AccessibilityNodeObject::determineAriaRoleAttribute): using buttonRoleType
to classify a button-related role.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::ariaPressedIsPresent): checks if aria-pressed
attribute is present.
(WebCore::AccessibilityObject::buttonRoleType): returns a specific button-related
role if the object is a button-related role.
* accessibility/AccessibilityObject.h:
(AccessibilityObject): added new role ToggleButtonRole.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole): using buttonRoleType
to classify a button-related role.
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
(atkRole): added a mapping between ToggleButtonRole and
ATK_ROLE_TOGGLE_BUTTON.
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(createAccessibilityRoleMap): added a mapping between
ToggleButtonRole and NSAccessibilityButtonRole

Source/WebKit/chromium: Dojo toggle buttons should expose ROLE_TOGGLE_BUTTON not ROLE_PUSH_BUTTON
https://bugs.webkit.org/show_bug.cgi?id=73819

Patch by Alejandro Piñeiro <apinheiro@igalia.com> on 2012-08-22
Reviewed by Chris Fleizach.

Added a new role, Toggle Button, based on whether aria-pressed is present.
http://www.w3.org/TR/wai-aria/states_and_properties#aria-pressed

* public/WebAccessibilityRole.h: added WebAccessibilityRoleToggleButton that
matchs with WebCore ToggleButtonRole
* src/AssertMatchingEnums.cpp: added the assert matching rule for
WebAccessibilityRoleToggleButton and ToggleButtonRole

Tools: Dojo toggle buttons should expose ROLE_TOGGLE_BUTTON not ROLE_PUSH_BUTTON
https://bugs.webkit.org/show_bug.cgi?id=73819

Patch by Alejandro Piñeiro <apinheiro@igalia.com> on 2012-08-22
Reviewed by Chris Fleizach.

Added a new role, Toggle Button, based on whether aria-pressed is present.
http://www.w3.org/TR/wai-aria/states_and_properties#aria-pressed

* DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp:
(roleToString): added "ToggleButton" string for WebAccessibilityRoleToggleButton

LayoutTests: [Gtk] Dojo toggle buttons should expose ROLE_TOGGLE_BUTTON not ROLE_PUSH_BUTTON
https://bugs.webkit.org/show_bug.cgi?id=73819

Patch by Alejandro Piñeiro <apinheiro@igalia.com> on 2012-08-22
Reviewed by Chris Fleizach.

Added a test to verify that when aria-pressed is present, buttons
will have the appropiate role.

* platform/gtk/accessibility/aria-toggle-button-role-expected.txt: Added.
* platform/gtk/accessibility/aria-toggle-button-role.html: Added.

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

8 years ago2012-08-23 Victor Carbune <victor@rosedu.org>
victor@rosedu.org [Thu, 23 Aug 2012 00:13:53 +0000 (00:13 +0000)]
2012-08-23  Victor Carbune  <victor@rosedu.org>

        Add myself to the committer list
        https://bugs.webkit.org/show_bug.cgi?id=94659

        Reviewed by James Robinson.

        Added my email and IRC handle.

        * Scripts/webkitpy/common/config/committers.py:

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

8 years ago[Chromium] Need baselines for new paged-x and paged-y tests in fast/overflow after...
kbr@google.com [Thu, 23 Aug 2012 00:08:18 +0000 (00:08 +0000)]
[Chromium] Need baselines for new paged-x and paged-y tests in fast/overflow after r126343
https://bugs.webkit.org/show_bug.cgi?id=94748

Unreviewed Chromium gardening. Added baselines via garden-o-matic.

* platform/chromium-linux/fast/overflow/paged-x-div-expected.png: Added.
* platform/chromium-linux/fast/overflow/paged-x-on-root-expected.png: Added.
* platform/chromium-linux/fast/overflow/paged-y-div-expected.png: Added.
* platform/chromium-linux/fast/overflow/paged-y-on-root-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/overflow/paged-x-div-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/overflow/paged-x-on-root-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/overflow/paged-y-div-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/overflow/paged-y-on-root-expected.png: Added.
* platform/chromium-mac/fast/overflow/paged-x-div-expected.png: Added.
* platform/chromium-mac/fast/overflow/paged-x-on-root-expected.png: Added.
* platform/chromium-mac/fast/overflow/paged-y-div-expected.png: Added.
* platform/chromium-mac/fast/overflow/paged-y-on-root-expected.png: Added.
* platform/chromium-win/fast/overflow/paged-x-div-expected.png: Added.
* platform/chromium-win/fast/overflow/paged-x-div-expected.txt: Added.
* platform/chromium-win/fast/overflow/paged-x-on-root-expected.png: Added.
* platform/chromium-win/fast/overflow/paged-x-on-root-expected.txt: Added.
* platform/chromium-win/fast/overflow/paged-y-div-expected.png: Added.
* platform/chromium-win/fast/overflow/paged-y-div-expected.txt: Added.
* platform/chromium-win/fast/overflow/paged-y-on-root-expected.png: Added.
* platform/chromium-win/fast/overflow/paged-y-on-root-expected.txt: Added.
* platform/chromium/TestExpectations:
    Removed expected failures.

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

8 years agoIndexedDB: revert int version when version change transaction aborts
dgrogan@chromium.org [Wed, 22 Aug 2012 23:23:43 +0000 (23:23 +0000)]
IndexedDB: revert int version when version change transaction aborts
https://bugs.webkit.org/show_bug.cgi?id=94662

Reviewed by Tony Chang.

Source/WebCore:

Test: storage/indexeddb/intversion-revert-on-abort.html

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackendImpl::resetIntVersion):
One-liner modeled after resetVersion.

(WebCore):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):

LayoutTests:

This is tested in some other layout tests but it should have its own,
so add intversion-revert-on-abort.html.

* storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt:
FAIL event.target.result.version should be 0 will be resolved at least
when we figure out if we can make the default version an integer
during the transition period.

* storage/indexeddb/intversion-revert-on-abort-expected.txt: Added.
* storage/indexeddb/intversion-revert-on-abort.html: Added.
* storage/indexeddb/resources/intversion-revert-on-abort.js: Added.
(test):
(deleteSuccess):
(firstUpgradeNeededCallback):
(openSuccess):
(secondUpgradeNeededCallback):
(errorAfterAbortCallback):
(finalSuccessCallback):

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

8 years agoAllow blocking of Web SQL databases in third-party web workers
jpfau@apple.com [Wed, 22 Aug 2012 22:58:59 +0000 (22:58 +0000)]
Allow blocking of Web SQL databases in third-party web workers
https://bugs.webkit.org/show_bug.cgi?id=94170

Reviewed by Adam Barth.

Source/WebCore:

Web workers did not previously know anything about the document that
spawned them. This is undefined for shared workers, but for dedicated
workers, we now pipe the information through.

Tests: http/tests/security/cross-origin-worker-websql-allowed.html
       http/tests/security/cross-origin-worker-websql.html

* Modules/webdatabase/WorkerContextWebDatabase.cpp: Pass information about the top origin to canAccessDatabase
(WebCore::WorkerContextWebDatabase::openDatabase):
(WebCore::WorkerContextWebDatabase::openDatabaseSync):
* WebCore.exp.in: Make SecurityOrigin::isolatedCopy const
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::isolatedCopy):
(WebCore::SecurityOrigin::canAccessStorage):
* page/SecurityOrigin.h:
* workers/DedicatedWorkerContext.cpp: Pass topOrigin
(WebCore::DedicatedWorkerContext::create):
(WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
* workers/DedicatedWorkerContext.h:
(DedicatedWorkerContext):
* workers/DedicatedWorkerThread.cpp: Pass topOrigin
(WebCore::DedicatedWorkerThread::create):
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
(WebCore::DedicatedWorkerThread::createWorkerContext):
* workers/DedicatedWorkerThread.h:
(DedicatedWorkerThread):
* workers/SharedWorkerContext.cpp: Pass topOrigin
(WebCore::SharedWorkerContext::SharedWorkerContext):
* workers/SharedWorkerThread.cpp:
(WebCore::SharedWorkerThread::SharedWorkerThread):
(WebCore::SharedWorkerThread::createWorkerContext):
* workers/SharedWorkerThread.h:
(SharedWorkerThread): Pass topOrigin
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::WorkerContext):
* workers/WorkerContext.h:
(WebCore::WorkerContext::topOrigin):
(WorkerContext):
* workers/WorkerMessagingProxy.cpp: Pass topOrigin
(WebCore::WorkerMessagingProxy::startWorkerContext):
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::create):
(WorkerThreadStartupData):
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):
* workers/WorkerThread.h:
(WorkerThread):

Source/WebKit/chromium:

Web workers did not previously know anything about the document that
spawned them. This is undefined for shared workers, but for dedicated
workers, we now pipe the information through.

* src/WebWorkerClientImpl.cpp:
(WebKit::WebWorkerClientImpl::startWorkerContext): Pass top document's origin

LayoutTests:

Created tests for accessing openDatabase from a third party and first party dedicated workers when third-party blocking is on and off.

* http/tests/security/cross-origin-worker-websql-allowed-expected.txt: Added.
* http/tests/security/cross-origin-worker-websql-allowed.html: Added.
* http/tests/security/cross-origin-worker-websql-expected.txt: Added.
* http/tests/security/cross-origin-worker-websql.html: Added.
* http/tests/security/resources/cross-origin-iframe-for-worker-websql.html: Added.
* http/tests/security/resources/document-for-cross-origin-worker-websql.html: Added.
* http/tests/security/resources/worker-for-websql.js: Added.
(self.onmessage):

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

8 years ago[Chromium/GTK/EFL] Flaky media/track/track-mode test.
annacc@chromium.org [Wed, 22 Aug 2012 22:55:30 +0000 (22:55 +0000)]
[Chromium/GTK/EFL] Flaky media/track/track-mode test.
https://bugs.webkit.org/show_bug.cgi?id=83878

Reviewed by Eric Seidel.

This test should only care that cuechange events are fired when the TextTrack
mode is set to HIDDEN or SHOWING.  Because the events are asynchronous, we
shouldn't test the order of them, just that they occur.

* media/track/track-mode-expected.txt:
* media/track/track-mode.html:

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

8 years ago[V8] Move context() from V8Proxy to ScriptController
haraken@chromium.org [Wed, 22 Aug 2012 22:52:16 +0000 (22:52 +0000)]
[V8] Move context() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94593

Reviewed by Adam Barth.

Source/WebCore:

- This patch removes V8Proxy::context(Frame*).
- This patch moves V8Proxy::context() to ScriptController::context().
- This patch renames ScriptController::context() to ScriptController::currentWorldContext(),
for naming consistency with ScriptController::maintWorldContext().

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateToV8Converters):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::wrapSlow):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::context):
(WebCore):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::WindowSetTimeoutImpl):
(WebCore::V8DOMWindow::eventAccessorGetter):
(WebCore::V8DOMWindow::eventAccessorSetter):
(WebCore::DialogHandler::dialogCreated):
(WebCore::toV8):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::openCallback):

Source/WebKit/chromium:

To kill V8Proxy, we can move context() from V8Proxy to ScriptController.

No tests. No change in behavior.

* src/InspectorFrontendClientImpl.cpp:
(WebKit::InspectorFrontendClientImpl::windowObjectCleared):
* src/WebDevToolsFrontendImpl.cpp:
(WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend):

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

8 years ago[V8] Remove V8Proxy from V8DOMWrapper::instantiateV8Object()
haraken@chromium.org [Wed, 22 Aug 2012 22:44:33 +0000 (22:44 +0000)]
[V8] Remove V8Proxy from V8DOMWrapper::instantiateV8Object()
https://bugs.webkit.org/show_bug.cgi?id=94713

Reviewed by Adam Barth.

To kill V8Proxy, V8DOMWrapper::instantiateV8Object() should receive Frame*
instead of V8Proxy*.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateToV8Converters):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::V8Float64Array::wrapSlow):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::V8TestCustomNamedGetter::wrapSlow):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::V8TestEventTarget::wrapSlow):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore::V8TestException::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::V8TestMediaQueryListListener::wrapSlow):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::wrapSlow):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::wrapSlow):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore):
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/V8DOMWrapper.h:
(V8DOMWrapper):

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

8 years agoIndexedDB: IDBRequest can be destructed during abort
jsbell@chromium.org [Wed, 22 Aug 2012 22:28:56 +0000 (22:28 +0000)]
IndexedDB: IDBRequest can be destructed during abort
https://bugs.webkit.org/show_bug.cgi?id=94618

Reviewed by Tony Chang.

If there are no script references, an IDBRequest could be kept alive
only by enqueued events. On document destruction, the parent transaction
is aborted, which aborts the request. During the abort, the enqueued events
are deleted, releasing the last reference to the IDBRequest which then
destructs in mid-method call and an "unfinished" state, hitting an assert.

This patch keeps the IDBRequest alive through the completion of the abort()
method, which will enqueue another event. In the document destruction case,
this will end up with the IDBRequest having stop() called on it which will
send the IDBRequest into EarlyDeath state, satisfying the destructor assert.

Addresses existing layout tests that behave flakily in Chromium port.

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::abort):

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

8 years ago[V8] Move precompileScript() from V8Proxy to ScriptSourceCode
haraken@chromium.org [Wed, 22 Aug 2012 22:27:45 +0000 (22:27 +0000)]
[V8] Move precompileScript() from V8Proxy to ScriptSourceCode
https://bugs.webkit.org/show_bug.cgi?id=94701

Reviewed by Adam Barth.

To kill V8Proxy, we can move precompileScript() from V8Proxy
to ScriptSourceCode.

No tests. No change in behavior.

* bindings/v8/ScriptSourceCode.cpp:
(WebCore::ScriptSourceCode::precompileScript):
(WebCore):
* bindings/v8/ScriptSourceCode.h:
(ScriptSourceCode):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::evaluate):
* bindings/v8/V8Proxy.h:
(V8Proxy):

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

8 years agoReduce Font.h includes across project -- improves RenderObject.h compile time
commit-queue@webkit.org [Wed, 22 Aug 2012 22:25:59 +0000 (22:25 +0000)]
Reduce Font.h includes across project -- improves RenderObject.h compile time
https://bugs.webkit.org/show_bug.cgi?id=93629

Patch by Nikhil Bhargava <nbhargava@google.com> on 2012-08-22
Reviewed by Eric Seidel.

Source/WebCore:

RenderStyle.h no longer depends on Font.h. The files that transitively
need to be updated with proper includes are fixed.

No new tests. Functionality should remain the same.

* accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
* bindings/objc/DOM.mm:
* css/CSSComputedStyleDeclaration.cpp:
* css/CSSPrimitiveValue.cpp:
* css/StyleResolver.h:
* dom/CharacterData.cpp:
* dom/ElementRareData.h:
* dom/NodeRenderingContext.cpp:
* dom/Text.cpp:
* editing/TextIterator.cpp:
* editing/mac/EditorMac.mm:
* html/HTMLTitleElement.cpp:
* html/shadow/TextControlInnerElements.cpp:
* inspector/InspectorOverlay.cpp:
* page/ContextMenuController.cpp:
* page/PrintContext.cpp:
* platform/efl/RenderThemeEfl.cpp:
* platform/graphics/FontMetrics.h:
* platform/gtk/RenderThemeGtk.cpp:
* platform/gtk/RenderThemeGtk2.cpp:
* platform/mac/HTMLConverter.mm:
* rendering/EllipsisBox.cpp:
* rendering/FlowThreadController.cpp:
* rendering/InlineBox.cpp:
* rendering/InlineFlowBox.cpp:
* rendering/InlineFlowBox.h:
(WebCore):
* rendering/RenderButton.cpp:
* rendering/RenderCombineText.cpp:
* rendering/RenderCombineText.h:
* rendering/RenderDeprecatedFlexibleBox.cpp:
* rendering/RenderEmbeddedObject.h:
(WebCore):
* rendering/RenderFileUploadControl.cpp:
* rendering/RenderFullScreen.h:
* rendering/RenderImage.cpp:
* rendering/RenderInline.cpp:
* rendering/RenderListItem.cpp:
* rendering/RenderListMarker.cpp:
* rendering/RenderMultiColumnBlock.cpp:
* rendering/RenderRegion.h:
* rendering/RenderRuby.cpp:
* rendering/RenderRubyRun.cpp:
* rendering/RenderScrollbar.cpp:
* rendering/RenderTable.cpp:
* rendering/RenderTableCell.cpp:
* rendering/RenderTableRow.cpp:
* rendering/RenderTableSection.cpp:
* rendering/RenderTextControl.cpp:
* rendering/RenderTextControlMultiLine.cpp:
* rendering/RenderThemeChromiumSkia.cpp:
* rendering/RenderView.cpp:
* rendering/TextAutosizer.cpp:
* rendering/mathml/RenderMathMLBlock.h:
* rendering/style/KeyframeList.h:
* rendering/style/RenderStyle.cpp:
* rendering/style/RenderStyle.h:
(WebCore):
* rendering/style/StyleInheritedData.cpp:
* rendering/svg/RenderSVGBlock.cpp:
* rendering/svg/RenderSVGInlineText.h:
* svg/SVGLengthContext.cpp:
* svg/SVGTRefElement.cpp:

Source/WebKit/chromium:

Adds includes due to change in RenderStyle.h

* src/WebFrameImpl.cpp:
* src/mac/WebSubstringUtil.mm:

Source/WebKit/win:

Adds includes due to change in RenderStyle.h

* DOMCoreClasses.cpp:

Source/WebKit2:

Adds includes due to change in RenderStyle.h

* WebProcess/WebPage/mac/WebPageMac.mm:

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

8 years agoTest cases under fast/filesystem/workers are flaky when using JSC
commit-queue@webkit.org [Wed, 22 Aug 2012 22:23:12 +0000 (22:23 +0000)]
Test cases under fast/filesystem/workers are flaky when using JSC
https://bugs.webkit.org/show_bug.cgi?id=94747

Patch by Leo Yang <leoyang@rim.com> on 2012-08-22
Reviewed by Yong Li.

These test cases sometimes can't complete because the worker object
created by startWorker() has been gc'ed before the worker thread complete.
We should reference the object to avoid it being gc'ed.

* fast/filesystem/workers/async-operations.html:
* fast/filesystem/workers/file-entry-to-uri-sync.html:
* fast/filesystem/workers/file-from-file-entry-sync.html:
* fast/filesystem/workers/file-from-file-entry.html:
* fast/filesystem/workers/file-writer-empty-blob.html:
* fast/filesystem/workers/file-writer-events.html:
* fast/filesystem/workers/file-writer-gc-blob.html:
* fast/filesystem/workers/file-writer-sync-truncate-extend.html:
* fast/filesystem/workers/file-writer-sync-write-overlapped.html:
* fast/filesystem/workers/file-writer-truncate-extend.html:
* fast/filesystem/workers/file-writer-write-overlapped.html:
* fast/filesystem/workers/simple-persistent-sync.html:
* fast/filesystem/workers/simple-persistent.html:
* fast/filesystem/workers/simple-temporary-sync.html:
* fast/filesystem/workers/simple-temporary.html:
* fast/filesystem/workers/sync-operations.html:

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

8 years agowin64 compile error fix for BinaryPropertyList.cpp
commit-queue@webkit.org [Wed, 22 Aug 2012 22:01:55 +0000 (22:01 +0000)]
win64 compile error fix for BinaryPropertyList.cpp
https://bugs.webkit.org/show_bug.cgi?id=94122

Patch by Alex Christensen <alex.christensen@flexsim.com> on 2012-08-22
Reviewed by Eric Seidel.

Fixed compile errors for MSVC x64 without changing performance

* platform/cf/BinaryPropertyList.cpp:
(WebCore::BinaryPropertyListSerializer::appendStringObject):

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

8 years agoDon't unconditionally define NOMINMAX on Windows
commit-queue@webkit.org [Wed, 22 Aug 2012 21:55:25 +0000 (21:55 +0000)]
Don't unconditionally define NOMINMAX on Windows
https://bugs.webkit.org/show_bug.cgi?id=94742

Patch by Scott Graham <scottmg@chromium.org> on 2012-08-22
Reviewed by Adrienne Walker.

Avoids a warning when building on Windows when NOMINMAX is defined
elsewhere or on the command line.

* TestWebKitAPI/config.h:

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

8 years agoHTMLTreeBuilder::furthestBlockForFormattingElement should belong to HTMLElementStack
commit-queue@webkit.org [Wed, 22 Aug 2012 21:55:10 +0000 (21:55 +0000)]
HTMLTreeBuilder::furthestBlockForFormattingElement should belong to HTMLElementStack
https://bugs.webkit.org/show_bug.cgi?id=93857

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-08-22
Reviewed by Eric Seidel.

HTMLTreeBuilder::furthestBlockForFormattingElement should belong to
HTMLElementStack because it traverses the element stack and finds the
furthest block for the given formatting element.

Currently, it belongs to HTMLTreeBuilder just because
isSpecialNode(const HTMLStackItem*) function used by
furthestBlockForFormattingElement is internal to HTMLTreeBuilder.

Moved isSpecialNode to HTMLStackItem and changed
furthestBlockForFormattingElement to be a method of HTMLElementStack.

No behavior change. Just a refactoring.

* html/parser/HTMLElementStack.cpp:
(WebCore):
(WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
(WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
(WebCore::HTMLElementStack::furthestBlockForFormattingElement):
* html/parser/HTMLElementStack.h:
(HTMLElementStack):
* html/parser/HTMLStackItem.h:
(WebCore::HTMLStackItem::isInHTMLNamespace):
(HTMLStackItem):
(WebCore::HTMLStackItem::isNumberedHeaderElement):
(WebCore::HTMLStackItem::isTableBodyContextElement):
(WebCore::HTMLStackItem::isSpecialNode):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
(WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
(WebCore::HTMLTreeBuilder::processTokenInForeignContent):
* html/parser/HTMLTreeBuilder.h:

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

8 years agoSeparate MarkStackThreadSharedData from MarkStack
mhahnenberg@apple.com [Wed, 22 Aug 2012 21:49:16 +0000 (21:49 +0000)]
Separate MarkStackThreadSharedData from MarkStack
https://bugs.webkit.org/show_bug.cgi?id=94294

Reviewed by Filip Pizlo.

MarkStackThreadSharedData is soon going to have data to allow for a parallel copying
mode too, so to separate our concerns we should split it out into its own set of files
and rename it to GCThreadSharedData. For now this is purely a cosmetic refactoring.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* heap/GCThreadSharedData.cpp: Added.
(JSC):
(JSC::GCThreadSharedData::resetChildren):
(JSC::GCThreadSharedData::childVisitCount):
(JSC::GCThreadSharedData::markingThreadMain):
(JSC::GCThreadSharedData::markingThreadStartFunc):
(JSC::GCThreadSharedData::GCThreadSharedData):
(JSC::GCThreadSharedData::~GCThreadSharedData):
(JSC::GCThreadSharedData::reset):
* heap/GCThreadSharedData.h: Added.
(JSC):
(GCThreadSharedData):
* heap/Heap.h:
(Heap):
* heap/ListableHandler.h:
(ListableHandler):
* heap/MarkStack.cpp:
(JSC::MarkStack::MarkStack):
(JSC::MarkStack::~MarkStack):
* heap/MarkStack.h:
(JSC):
(MarkStack):
(JSC::MarkStack::sharedData):
* heap/MarkStackInlineMethods.h: Added.
(JSC):
(JSC::MarkStack::append):
(JSC::MarkStack::appendUnbarrieredPointer):
(JSC::MarkStack::appendUnbarrieredValue):
(JSC::MarkStack::internalAppend):
(JSC::MarkStack::addWeakReferenceHarvester):
(JSC::MarkStack::addUnconditionalFinalizer):
(JSC::MarkStack::addOpaqueRoot):
(JSC::MarkStack::containsOpaqueRoot):
(JSC::MarkStack::opaqueRootCount):
* heap/SlotVisitor.h:
(JSC):
(SlotVisitor):
(JSC::SlotVisitor::SlotVisitor):

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

8 years agoREGRESSION(r126189): Reftest mismatches are (again) run through ImageDiff with 0...
zandobersek@gmail.com [Wed, 22 Aug 2012 21:42:38 +0000 (21:42 +0000)]
REGRESSION(r126189): Reftest mismatches are (again) run through ImageDiff with 0.1 tolerance
https://bugs.webkit.org/show_bug.cgi?id=94704

Reviewed by Dirk Pranke.

Use tolerance=0 when acquiring diff image of reftest output.

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_output_with_reference):

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

8 years agoSpeed up compilation of tests involving WebTransformationMatrix
commit-queue@webkit.org [Wed, 22 Aug 2012 21:29:05 +0000 (21:29 +0000)]
Speed up compilation of tests involving WebTransformationMatrix
https://bugs.webkit.org/show_bug.cgi?id=94639

Patch by Nikhil Bhargava <nbhargava@google.com> on 2012-08-22
Reviewed by James Robinson.

EXPECT_TRANSFORMATION_MATRIX_EQ was changed to become mainly a function.
As a macro that expanded into 16 other macros, it caused an unneeded
slow down of close to 45s in the compile time of CCLayerTreeHostCommonTest
Bugs have been filed to clang and gcc noting the errant behavior:
http://llvm.org/bugs/show_bug.cgi?id=13651 and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54337

* tests/CCLayerTreeHostCommonTest.cpp:
* tests/CCLayerTreeTestCommon.h:
(WebKitTests):
(WebKitTests::ExpectTransformationMatrixEq):
* tests/WebTransformOperationsTest.cpp:
(TEST):
(checkProgress):
* tests/WebTransformationMatrixTest.cpp:
(WebKit::TEST):

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

8 years ago[chromium] Add software bitmap resources to CCResourceProvider
commit-queue@webkit.org [Wed, 22 Aug 2012 21:26:45 +0000 (21:26 +0000)]
[chromium] Add software bitmap resources to CCResourceProvider
https://bugs.webkit.org/show_bug.cgi?id=93677

Patch by Alexandre Elias <aelias@google.com> on 2012-08-22
Reviewed by Adrienne Walker.

Second commit after revert.

This adds the ability to CCResourceProvider to use software bitmaps.
They are allocated as plain-old-memory, and exposed as Skia objects.

We want the ResourceProvider to be able to handle different resource
types at the same time.  In practice, a default resource type is
desired for most uses within a single compositor instance, which is
specified by the default resource type.  Default resource types are
expected to be mostly 1-to-1 with CCRenderer types.

New tests added by parametrizing existing CCResourceProvider tests.

Source/WebCore:

* platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::applyFilters):
(WebCore::LayerRendererChromium::drawRenderPassQuad):
(WebCore::LayerRendererChromium::drawTileQuad):
(WebCore::LayerRendererChromium::drawYUVVideoQuad):
(WebCore::LayerRendererChromium::drawTextureQuad):
(WebCore::LayerRendererChromium::getFramebufferTexture):
(WebCore::LayerRendererChromium::bindFramebufferToTexture):
* platform/graphics/chromium/LayerRendererChromium.h:
(DrawingFrame):
* platform/graphics/chromium/cc/CCResourceProvider.cpp:
(WebCore::CCResourceProvider::createResource):
(WebCore):
(WebCore::CCResourceProvider::createGLTexture):
(WebCore::CCResourceProvider::createBitmap):
(WebCore::CCResourceProvider::createResourceFromExternalTexture):
(WebCore::CCResourceProvider::deleteResource):
(WebCore::CCResourceProvider::upload):
(WebCore::CCResourceProvider::flush):
(WebCore::CCResourceProvider::shallowFlushIfSupported):
(WebCore::CCResourceProvider::lockForRead):
(WebCore::CCResourceProvider::unlockForRead):
(WebCore::CCResourceProvider::lockForWrite):
(WebCore::CCResourceProvider::unlockForWrite):
(WebCore::CCResourceProvider::ScopedReadLockGL::ScopedReadLockGL):
(WebCore::CCResourceProvider::ScopedReadLockGL::~ScopedReadLockGL):
(WebCore::CCResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL):
(WebCore::CCResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL):
(WebCore::CCResourceProvider::populateSkBitmapWithResource):
(WebCore::CCResourceProvider::ScopedReadLockSoftware::ScopedReadLockSoftware):
(WebCore::CCResourceProvider::ScopedReadLockSoftware::~ScopedReadLockSoftware):
(WebCore::CCResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware):
(WebCore::CCResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware):
(WebCore::CCResourceProvider::CCResourceProvider):
* platform/graphics/chromium/cc/CCResourceProvider.h:
(WebCore):
(WebCore::CCResourceProvider::setCreationPolicy):
(WebCore::CCResourceProvider::creationPolicy):
(CCResourceProvider):
(ScopedReadLockGL):
(WebCore::CCResourceProvider::ScopedReadLockGL::textureId):
(ScopedWriteLockGL):
(WebCore::CCResourceProvider::ScopedWriteLockGL::textureId):
(ScopedReadLockSoftware):
(WebCore::CCResourceProvider::ScopedReadLockSoftware::skBitmap):
(ScopedWriteLockSoftware):
(WebCore::CCResourceProvider::ScopedWriteLockSoftware::skCanvas):
(Resource):

Source/WebKit/chromium:

* tests/CCResourceProviderTest.cpp:
(WebKit::CCResourceProviderTest::getResourcePixels):

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

8 years agoUpdate the TextTrackCue Constructor
annacc@chromium.org [Wed, 22 Aug 2012 21:24:29 +0000 (21:24 +0000)]
Update the TextTrackCue Constructor
https://bugs.webkit.org/show_bug.cgi?id=88583

Reviewed by Eric Carlson.

The TextTrackCue constructor has been changed to:
[Constructor(double startTime, double endTime, DOMString text)]
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue

Source/WebCore:

No new tests.  Update to media/track/track-add-remove-cue.html

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::TextTrackCue):
* html/track/TextTrackCue.h:
(WebCore::TextTrackCue::create):
(TextTrackCue):
* html/track/TextTrackCue.idl:
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::createNewCue):

LayoutTests:

* media/track/track-add-remove-cue-expected.txt:
* media/track/track-add-remove-cue.html:

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

8 years agoChanging class attribute is not reflected in the classList property
arv@chromium.org [Wed, 22 Aug 2012 21:19:29 +0000 (21:19 +0000)]
Changing class attribute is not reflected in the classList property
https://bugs.webkit.org/show_bug.cgi?id=93665

Reviewed by Ojan Vafai.

Before this change classAttributeChanged was only called for StyledElement. With this refactoring
it gets called for all Elements when the class attribute changes.

Source/WebCore:

Test: fast/dom/Element/class-list-update.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRules): To match the old behavior we only include StyledElements.
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::nodeMatches): Ditto.
* dom/Element.cpp:
(WebCore::Element::attributeChanged): Moved the call to parseAttribute here, from StyledElement::attributeChanged.
(WebCore::Element::parseAttribute): Moved from StyledElement.
(WebCore):
(WebCore::Element::classAttributeChanged): Ditto.
* dom/Element.h:
(Element):
(WebCore::Element::classNames): Ditto.
(WebCore):
* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged): Let Element::attributeChanged call parseAttribtue instead.
(WebCore::StyledElement::parseAttribute): Move the class attribute handling to Element::parseAttribute.
* dom/StyledElement.h:
(StyledElement):

LayoutTests:

* fast/dom/Element/class-list-update-expected.txt: Added.
* fast/dom/Element/class-list-update.html: Added.

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

8 years ago[V8] Replace v8::String::NewSymbol() in CodeGeneratorV8.pm with v8String()
haraken@chromium.org [Wed, 22 Aug 2012 21:14:11 +0000 (21:14 +0000)]
[V8] Replace v8::String::NewSymbol() in CodeGeneratorV8.pm with v8String()
https://bugs.webkit.org/show_bug.cgi?id=94588

Reviewed by Eric Seidel.

v8String() is faster than String::NewSymbol().
This patch implements v8String(char*, Isolate*) and
replaces String::NewSymbol(char*) in CodeGeneratorV8.pm
with v8String(char*, Isolate*).

Performance result:

// 272 nano sec
static v8::Handle<v8::Value> attr3AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
    v8::Handle<v8::Value> v1 = v8String(String("foo"));
    v8::Handle<v8::Value> v2 = v8String(String("bar"));
    if (!v1.IsEmpty() && !v2.IsEmpty())
        return v8Undefined();
    return v8::Null(); // Never reach.
}

// 377 nano sec
static v8::Handle<v8::Value> attr4AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
    v8::Handle<v8::Value> v1 = v8::String::NewSymbol("foo");
    v8::Handle<v8::Value> v2 = v8::String::NewSymbol("bar");
    if (!v1.IsEmpty() && !v2.IsEmpty())
        return v8Undefined();
    return v8::Null(); // Never reach.
}

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateNamedConstructorCallback):
(GenerateNonStandardFunction):
(GenerateImplementation):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::ConfigureV8Float64ArrayTemplate):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::ConfigureV8TestEventTargetTemplate):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::ConfigureV8TestInterfaceTemplate):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructor::GetTemplate):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::ConfigureV8TestObjTemplate):
(WebCore::V8TestObj::installPerContextProperties):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
* bindings/v8/V8Binding.h:
(WebCore):
(WebCore::v8String):
* html/HTMLDivElement.idl:

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

8 years ago[Chromium] Need baselines for new paged-x and paged-y tests in fast/overflow after...
kbr@google.com [Wed, 22 Aug 2012 21:05:51 +0000 (21:05 +0000)]
[Chromium] Need baselines for new paged-x and paged-y tests in fast/overflow after r126343
https://bugs.webkit.org/show_bug.cgi?id=94748

Unreviewed gardening; suppressing new failures until baselines are generated.

* platform/chromium/TestExpectations:

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

8 years agoSetting WebKitEnableHTTPPipelining doesn't work if default is true
psolanki@apple.com [Wed, 22 Aug 2012 20:57:06 +0000 (20:57 +0000)]
Setting WebKitEnableHTTPPipelining doesn't work if default is true
https://bugs.webkit.org/show_bug.cgi?id=94537

Reviewed by David Kilzer.

* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::initializeMaximumHTTPConnectionCountPerHost): Read in the HTTP pipelining pref and
allow it to override the default pipelining behavior if it was actually set.

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

8 years ago[chromium] Add touch link highlight animation layers.
wjmaclean@chromium.org [Wed, 22 Aug 2012 20:47:56 +0000 (20:47 +0000)]
[chromium] Add touch link highlight animation layers.
https://bugs.webkit.org/show_bug.cgi?id=84487

Reviewed by James Robinson.

Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
Transform support currently limited to translation.

Source/WebCore:

Unit tests for LinkHighlight revised.

Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html

* WebCore.gypi:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
(WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
(WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
(WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
(WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
(WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
(WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore):
(LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
(WebCore::LinkHighlightClient::~LinkHighlightClient):
(GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::linkHighlight):
* platform/graphics/chromium/LinkHighlight.cpp: Removed.

Source/WebKit/chromium:

Unit tests for LinkHighlight revised.

* WebKit.gyp:
* src/LinkHighlight.cpp: Added.
(WebKit):
(WebKit::LinkHighlight::create):
(WebKit::LinkHighlight::LinkHighlight):
(WebKit::LinkHighlight::~LinkHighlight):
(WebKit::LinkHighlight::contentLayer): Accessor for layer containing highlight.
(WebKit::LinkHighlight::clipLayer): Accessor for layer that provides clipping for highlight.
(WebKit::LinkHighlight::releaseResources): Releases Node* for highlight target, clears client/delegate pointers.
(WebKit::LinkHighlight::computeEnclosingCompositingLayer): Determines which GraphicsLayerChromium to attach highlight to.
(WebKit::LinkHighlight::computeHighlightLayerPathAndPosition): Determines coordinates of highlight in owning GraphicsLayerChromium's coordinates.
(WebKit::LinkHighlight::paintContents): If highlight active, paints highlight.
(WebKit::LinkHighlight::startHighlightAnimation): Called to start highlight animation.
(WebKit::LinkHighlight::clearGraphicsLayerLinkHighlightPointer): Removes this LinkHighlight's pointer from owning GraphicsLayerChromium.
(WebKit::LinkHighlight::notifyAnimationStarted): Implements WebAnimationDelegate.
(WebKit::LinkHighlight::notifyAnimationFinished): Implements WebAnimationDelegate, releases resources when animation completes.
(WebKit::LinkHighlight::updateGeometry): Invokes computation of which GraphicsLayerChromium to attach to, and highlight shape & position.
    Computations proceed only if preceded by call to invalidate().
(WebKit::LinkHighlight::clearCurrentGraphicsLayer): Handles notification that current GraphicsLayerChromium* is no longer valid.
(WebKit::LinkHighlight::invalidate): Sets flag to allow geometry update on next call from WebViewImpl::layout().
(WebKit::LinkHighlight::layer): Exports WebLayer* for use in GraphicsLayerChromium.
* src/LinkHighlight.h: Renamed from Source/WebCore/platform/graphics/chromium/LinkHighlight.h.
(WebCore):
(WebKit):
(LinkHighlight):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):
(WebKit):
(WebKit::highlightConditions):
(WebKit::WebViewImpl::bestTouchLinkNode): Find highlight target node for touch event location.
(WebKit::WebViewImpl::enableTouchHighlight): Invokes highlight for node at current touch event location.
(WebKit::WebViewImpl::layout): Adds call to LinkHighlight::updateGeometry().
* src/WebViewImpl.h:
(WebKit):
(WebViewImpl):
(WebKit::WebViewImpl::linkHighlight):
* tests/LinkHighlightTest.cpp:
(WebCore):
(WebCore::TEST):
* tests/data/test_touch_link_highlight.html: Added.

LayoutTests:

* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-frame-composited.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-frame-noncomposited.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-nested-frame-composited.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-nested-frame-noncomposited.html: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll-expected.txt: Added.
* platform/chromium/TestExpectations:

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

8 years agoWebWidget should be able to paint into a zoomed canvas without aliasing
abarth@webkit.org [Wed, 22 Aug 2012 20:24:56 +0000 (20:24 +0000)]
WebWidget should be able to paint into a zoomed canvas without aliasing
https://bugs.webkit.org/show_bug.cgi?id=92043

Reviewed by James Robinson.

If accelerated compositing is enabled, WebWidget::paint reads back from
the compositor rather than re-painting the widget. That approach works
well if the canvas we're rendering into is at a similar resolution to
the pixels in the compositor, but if the canvas has been scaled (e.g.,
to help the user disambiguate links), then reading back from the
compositor will cause aliasing artifacts.

This patch adds an option to paint to let the embedder request a
software re-rendering of the widget to avoid these aliasing artifacts.

* public/WebWidget.h:
(WebKit::WebWidget::paint):
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::paint):
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):
* src/WebPopupMenuImpl.cpp:
(WebKit::WebPopupMenuImpl::paint):
* src/WebPopupMenuImpl.h:
* src/WebViewImpl.cpp:
(WebKit::canvasBackgroundForTransparencey):
(WebKit):
(WebKit::WebViewImpl::paint):
* src/WebViewImpl.h:
(WebViewImpl):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=94401
bdakin@apple.com [Wed, 22 Aug 2012 20:20:14 +0000 (20:20 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=94401
Add support for making a web site become paginated using overflow:
paged-x | paged-y
-and corresponding-
<rdar://problem/11831783>

Reviewed by Dave Hyatt.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

This patch adds two new possible values for overflow-y. They are -
webkit-paged-x and -webkit-paged-y. When you set these as overflow-y
values on the html or body element, they make the RenderView
paginated, much like the API on Page.

-webkit-paged-x and -webkit-paged-y are only valid values for
overflow-y, NOT overflow-x. overflow-x defaults to a value of auto
(for now) unless it has been set to something else.
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::CSSParser::parseValue):

Two new CSS value keywords.
* css/CSSValueKeywords.in:

EOverflow has two new values for pagination.
* rendering/style/RenderStyleConstants.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EOverflow):

A bunch of existing code from StyleResolver::styleForDocument() is
moved into a helper function so that it can be called from two
places.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):

Even though this pagination is very similar to Page::pagination(), it
is different in one critical way. Page::pagination() will apply to
all FrameViews, even those in the page cache. For this reason,
FrameView needs to keep its own Pagination value that just applies to
this FrameView.
* page/FrameView.cpp:
* page/FrameView.h:
(WebCore):
(FrameView):

Map RenderStyle values to a Pagination::Mode.
(WebCore::paginationModeForRenderStyle):
(WebCore):

Account for paged-x and paged-y here.
(WebCore::FrameView::applyOverflowToViewport):

As is explained in the header, FrameView::pagination() will return
m_pagination if it has been set. Otherwise, it will return
Page::pagination() since currently there are no callers that need to
distinguish between the two.
(WebCore::FrameView::pagination):
(WebCore::FrameView::setPagination):

Generally this means that everywhere in WebCore should ask FrameView
for the pagination(), not Page. These call sites all look to
FrameView now.
(WebCore::FrameView::paintContents):
* rendering/RenderView.cpp:
(WebCore::RenderView::requiresColumns):
(WebCore::RenderView::calcColumnWidth):
(WebCore::RenderView::paginationUnit):
(WebCore::RenderView::viewLogicalHeight):

Since we need to define Pagination in Page.h AND FrameView.h, it is
now in its own header, Pagination.h. And therefore it is no longer
WebCore::Page::Pagination, but rather it is just WebCore::Pagination.
* page/Page.h:
(Page):
* rendering/Pagination.h: Added.
(WebCore):
(WebCore::Pagination::Pagination):
(Pagination):
(WebCore::Pagination::operator==):
(WebCore::Pagination::operator!=):
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:

Certain ColumnInfo values are set based on the RenderStyle. So if
those RenderStyle values change, the ColumnInfo needs to be updated.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateColumnInfoFromStyle):
(WebCore):
* rendering/RenderBlock.h:
(RenderBlock):

Factor in paged-x and paged-y when determining if a RenderBlock
requires columns.
(WebCore::RenderBlock::requiresColumns):

RenderStyle::specifiesColumns() is an odd and probably broken
function. At the very least, it should be re-named, if not removed
entirely. It does not accurately assess if columns have been
specified. I had to add this code here because specifiesColumns()
returns false for paged-x and true for paged-y. We were hitting a
number of crashes with paged-y because of this, so I chose for the
time being to limit this check to non-root layers.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldBeNormalFlowOnly):

It's just Pagination now, not Page::Pagination.
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::reset):
(WebCore::InternalSettings::setPagination):

Source/WebKit/mac:

WebCore::Page::Pagination is now just WebCore::Pagination.
* WebView/WebView.mm:
(-[WebView _setPaginationMode:]):
(-[WebView _paginationMode]):
(-[WebView _setPaginationBehavesLikeColumns:]):
(-[WebView _setPageLength:]):
(-[WebView _setGapBetweenPages:]):

Source/WebKit2:

WebCore::Page::Pagination is now just WebCore::Pagination.
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPaginationMode):
(WKPageGetPaginationMode):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setPaginationMode):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
(WebKit::WebPageProxy::paginationMode):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setPaginationMode):
(WebKit::WebPage::setPaginationBehavesLikeColumns):
(WebKit::WebPage::setPageLength):
(WebKit::WebPage::setGapBetweenPages):
* WebProcess/WebPage/WebPage.h:
(WebPage):

LayoutTests:

Test the parsing of the two new values.
* fast/css/overflow-property-expected.txt:
* fast/css/overflow-property.html:

New tests.
* fast/overflow/paged-x-div.html: Added.
* fast/overflow/paged-x-on-root.html: Added.
* fast/overflow/paged-y-div.html: Added.
* fast/overflow/paged-y-on-root.html: Added.
* platform/mac/fast/overflow/paged-x-div-expected.png: Added.
* platform/mac/fast/overflow/paged-x-div-expected.txt: Added.
* platform/mac/fast/overflow/paged-x-on-root-expected.png: Added.
* platform/mac/fast/overflow/paged-x-on-root-expected.txt: Added.
* platform/mac/fast/overflow/paged-y-div-expected.png: Added.
* platform/mac/fast/overflow/paged-y-div-expected.txt: Added.
* platform/mac/fast/overflow/paged-y-on-root-expected.png: Added.
* platform/mac/fast/overflow/paged-y-on-root-expected.txt: Added.

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

8 years ago[WebGL] Mac/ATI/AMD systems need to translate built-in GLSL functions
dino@apple.com [Wed, 22 Aug 2012 20:14:08 +0000 (20:14 +0000)]
[WebGL] Mac/ATI/AMD systems need to translate built-in GLSL functions
https://bugs.webkit.org/show_bug.cgi?id=94030

Reviewed by Tim Horton.

ATI/AMD GPUs on Apple platforms do not give correct values for some of
the built-in GLSL functions. Add a compile flag that is passed to ANGLE
so that, with this configuration, it will rewrite the shader to emulate
the function in code.

This is exposing some design weaknesses in the way we call ANGLE. We'll
soon need to add more compiler flags; Future bugs will likely clean
this code up. But this approach is satisfactory for the moment.

This change is tested by the Khronos WebGL conformance test suite, in particular:
conformance/glsl/functions/glsl-function-distance.html
conformance/glsl/functions/glsl-function-dot.html
conformance/glsl/functions/glsl-function-length.html

* platform/graphics/ANGLEWebKitBridge.cpp:
(WebCore::ANGLEWebKitBridge::validateShaderSource): Test for ATI cards
on the Mac platform, and pass in an extra flag to the translation step.
* platform/graphics/ANGLEWebKitBridge.h:
(ANGLEWebKitBridge): Add a new parameter to getTranslatedShaderSourceANGLE
that accepts some extra options to pass to ANGLE.
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Pass
the extra options into ANGLE's compile function.

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

8 years ago[chromium] MediaStream API: Add MockWebRTCPeerConnectionHandler
tommyw@google.com [Wed, 22 Aug 2012 19:55:34 +0000 (19:55 +0000)]
[chromium] MediaStream API: Add MockWebRTCPeerConnectionHandler
https://bugs.webkit.org/show_bug.cgi?id=93091

Reviewed by Adam Barth.

Source/WebCore:

Fixing a FIXME that the patch obsoletes.

Covered by existing tests.

* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::initialize):

Tools:

Add a skeleton MockWebRTCPeerConnectionHandler to DumpRenderTree,
to complete the infrastructure for RTCPeerConnection.

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp:
(MockWebKitPlatformSupport::createRTCPeerConnectionHandler):
* DumpRenderTree/chromium/MockWebKitPlatformSupport.h:
(MockWebKitPlatformSupport):
* DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp:
* DumpRenderTree/chromium/MockWebMediaStreamCenter.h:
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp: Copied from Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h.
(MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
(MockWebRTCPeerConnectionHandler::initialize):
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h: Copied from Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h.
(WebKit):
(MockWebRTCPeerConnectionHandler):
(MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):

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

8 years ago[chromium] Simplify updateContentRect, removing rect parameter, refactor unit tests.
commit-queue@webkit.org [Wed, 22 Aug 2012 19:50:01 +0000 (19:50 +0000)]
[chromium] Simplify updateContentRect, removing rect parameter, refactor unit tests.
https://bugs.webkit.org/show_bug.cgi?id=94165

Patch by Eric Penner <epenner@google.com> on 2012-08-22
Reviewed by Adrienne Walker.

Source/WebCore:

Remove visible rect parameter from TiledLayerChromium functions. Passing a
rect that is not the visible rect wouldn't make sense, and soon we might
need further visibility information.

In refactoring the unit tests, I removed texture manager from all tests
and put it in the test class. I also made some utility functions to
simulate the commit flow and remove tons of boilerplate code. I refactored
about half the unit tests to use the utility functions.

Refactored tests.

* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::update):
(WebCore::ContentLayerChromium::needMoreUpdates):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::update):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore):
(WebCore::TiledLayerChromium::setTexturePriorities):
(WebCore::TiledLayerChromium::resetUpdateState):
(WebCore::TiledLayerChromium::update):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):
* platform/graphics/chromium/TiledLayerChromium.h:
(TiledLayerChromium):

Source/WebKit/chromium:

Refactored tests to remove lots of boilerplate code.

* tests/CCTiledLayerTestCommon.cpp:
* tests/CCTiledLayerTestCommon.h:
(FakeTiledLayerChromium):
* tests/TiledLayerChromiumTest.cpp:

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

8 years ago[BlackBerry] Make all pickers non-zoomable
commit-queue@webkit.org [Wed, 22 Aug 2012 19:38:45 +0000 (19:38 +0000)]
[BlackBerry] Make all pickers non-zoomable
https://bugs.webkit.org/show_bug.cgi?id=94729

Patch by Crystal Zhang <haizhang@rim.com> on 2012-08-22
Reviewed by Antonio Gomes.

Move HTML header initialization to PagePopupBlackBerry as that part are all the same, and make all pickers non-zoomable.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::screenSize):
(WebKit):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/DatePickerClient.cpp:
(WebCore::DatePickerClient::generateHTML):
(WebCore::DatePickerClient::writeDocument):
* WebCoreSupport/PagePopupBlackBerry.cpp:
(WebCore::PagePopupBlackBerry::init):
(WebCore::PagePopupBlackBerry::generateHTML):
(WebCore):
* WebCoreSupport/PagePopupBlackBerry.h:
(PagePopupBlackBerry):
* WebCoreSupport/SelectPopupClient.cpp:
(WebCore::SelectPopupClient::generateHTML):
(WebCore::SelectPopupClient::writeDocument):

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

8 years agoSkipping css3/flexbox/flexitem.html.
commit-queue@webkit.org [Wed, 22 Aug 2012 19:37:03 +0000 (19:37 +0000)]
Skipping css3/flexbox/flexitem.html.
https://bugs.webkit.org/show_bug.cgi?id=94723.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-22
Reviewed by Simon Fraser.

* platform/mac/Skipped:

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

8 years ago[BlackBerry] Add a check to filter out cookies that tries to set the
commit-queue@webkit.org [Wed, 22 Aug 2012 19:36:53 +0000 (19:36 +0000)]
[BlackBerry] Add a check to filter out cookies that tries to set the
domain to a top level domain
https://bugs.webkit.org/show_bug.cgi?id=94722

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-08-22
Reviewed by Rob Buis.

Adding conditions to check whether a cookie domain is a top level domain.
If it is, throw it out when parsing.

Manual Testing by trying to insert a cookie with an invalid domain
using web-inspector. (ex: when on news.yahoo.com.hk, try to document.
cookie="test1=seeifthiscookieexist; domain=.com.hk")

PR121622

* platform/blackberry/CookieParser.cpp:
WebCore::CookieParser::parseOneCookie):

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

8 years agoRemove RenderBlock::paintEllipsisBoxes
rwlbuis@webkit.org [Wed, 22 Aug 2012 19:34:31 +0000 (19:34 +0000)]
Remove RenderBlock::paintEllipsisBoxes
https://bugs.webkit.org/show_bug.cgi?id=94709

Reviewed by Eric Seidel.

Remove unused method.

No change in functionality, no new tests.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintFloats):
* rendering/RenderBlock.h:
(RenderBlock):

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

8 years agoMerge TestExpectationSerializer into TestExpectationLine
rniwa@webkit.org [Wed, 22 Aug 2012 19:32:41 +0000 (19:32 +0000)]
Merge TestExpectationSerializer into TestExpectationLine
https://bugs.webkit.org/show_bug.cgi?id=94638

Reviewed by Dimitri Glazkov.

Moved all methods except, list_to_string which was moved to TestExpectations
from TestExpectationSerializer to TestExpectationLine and removed TestExpectationSerializer.

* Scripts/webkitpy/layout_tests/controllers/test_expectations_editor_unittest.py:
(TestExpectationEditorTests.assert_remove_roundtrip):
(TestExpectationEditorTests.assert_update_roundtrip):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(ParseError.__repr__):
(TestExpectationLine):
(TestExpectationLine.create_passing_expectation):
(TestExpectationLine.to_string): Moved from TestExpectationSerializer.
(TestExpectationLine.to_csv): Ditto.
(TestExpectationLine._serialize_parsed_expectations): Ditto.
(TestExpectationLine._serialize_parsed_modifiers): Ditto.
(TestExpectationLine._format_line):
(TestExpectations.remove_configuration_from_test):
(TestExpectations.remove_rebaselined_tests):
(TestExpectations.add_skipped_tests):
(TestExpectations):
(TestExpectations.list_to_string): Moved from TestExpectationSerializer.
(TestExpectations.list_to_string.serialize):
(TestExpectations.list_to_string.nones_out):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(TestExpectationSerializationTests): Renamed from TestExpectationSerializerTests.
(TestExpectationSerializationTests.__init__):
(TestExpectationSerializationTests.assert_round_trip):
(TestExpectationSerializationTests.assert_list_round_trip):
(TestExpectationSerializationTests.test_unparsed_to_string):
(TestExpectationSerializationTests.test_unparsed_list_to_string):
(TestExpectationSerializationTests.test_parsed_to_string):
(TestExpectationSerializationTests.test_serialize_parsed_expectations):
(TestExpectationSerializationTests.test_serialize_parsed_modifier_string):
(TestExpectationSerializationTests.test_format_line):
(TestExpectationSerializationTests.test_reconstitute_only_these):
* Scripts/webkitpy/tool/commands/expectations.py:
(OptimizeExpectations.execute):
* Scripts/webkitpy/tool/commands/queries.py:
(PrintExpectations.execute):
(PrintExpectations._format_lines):
* Scripts/webkitpy/tool/servers/gardeningserver.py:
(GardeningExpectationsUpdater.update_expectations):

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

8 years agoMediaStream API: Introduce RTCSessionDescription
tommyw@google.com [Wed, 22 Aug 2012 19:30:08 +0000 (19:30 +0000)]
MediaStream API: Introduce RTCSessionDescription
https://bugs.webkit.org/show_bug.cgi?id=93119

Reviewed by Adam Barth.

Source/WebCore:

This patch introduces RTCSessionDescription together with its
corresponding WebCore/platform representation.

Test: fast/mediastream/RTCSessionDescription.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/DOMWindowMediaStream.idl:
* Modules/mediastream/RTCSessionDescription.cpp: Added.
(WebCore):
(WebCore::RTCSessionDescription::create):
(WebCore::RTCSessionDescription::RTCSessionDescription):
(WebCore::RTCSessionDescription::~RTCSessionDescription):
(WebCore::RTCSessionDescription::type):
(WebCore::RTCSessionDescription::setType):
(WebCore::RTCSessionDescription::sdp):
(WebCore::RTCSessionDescription::setSdp):
(WebCore::RTCSessionDescription::descriptor):
* Modules/mediastream/RTCSessionDescription.h: Added.
(WebCore):
(RTCSessionDescription):
* Modules/mediastream/RTCSessionDescription.idl: Added.
* WebCore.gypi:
* platform/mediastream/RTCSessionDescriptionDescriptor.cpp: Added.
(WebCore):
(WebCore::RTCSessionDescriptionDescriptor::create):
(WebCore::RTCSessionDescriptionDescriptor::RTCSessionDescriptionDescriptor):
(WebCore::RTCSessionDescriptionDescriptor::~RTCSessionDescriptionDescriptor):
* platform/mediastream/RTCSessionDescriptionDescriptor.h: Added.
(WebCore):
(RTCSessionDescriptionDescriptor):
(WebCore::RTCSessionDescriptionDescriptor::type):
(WebCore::RTCSessionDescriptionDescriptor::setType):
(WebCore::RTCSessionDescriptionDescriptor::sdp):
(WebCore::RTCSessionDescriptionDescriptor::setSdp):

LayoutTests:

* fast/mediastream/RTCSessionDescription-expected.txt: Added.
* fast/mediastream/RTCSessionDescription.html: Added.

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

8 years agoUnreviewed, add aelias@chromium.org to committers
aelias@chromium.org [Wed, 22 Aug 2012 19:27:51 +0000 (19:27 +0000)]
Unreviewed, add aelias@chromium.org to committers

I (aelias@chromium.org) have been approved for commit access and Apple
has confirmed receipt of my committer agreement.

* Scripts/webkitpy/common/config/committers.py:

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

8 years agoDOM manipulation crashes the browser
victor@rosedu.org [Wed, 22 Aug 2012 19:27:41 +0000 (19:27 +0000)]
DOM manipulation crashes the browser

Creating a DOM track element by script and changing the mode crashes
results in a browser crash.
https://bugs.webkit.org/show_bug.cgi?id=94628

Reviewed by Eric Carlson.

Source/WebCore:

Simple fix that creates the text track cue list in case of mode change.

Test: media/track/track-element-dom-change-crash.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::textTrackModeChanged):

LayoutTests:

* media/track/track-element-dom-change-crash-expected.txt: Added.
* media/track/track-element-dom-change-crash.html: Added.

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

8 years agoMicrodata build fix.
rniwa@webkit.org [Wed, 22 Aug 2012 19:24:58 +0000 (19:24 +0000)]
Microdata build fix.

* html/HTMLPropertiesCollection.h:
(WebCore::HTMLPropertiesCollection::updatePropertyCache):

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 22 Aug 2012 19:21:34 +0000 (19:21 +0000)]
Unreviewed GTK gardening.

Adding platform-specific baseline for css3/flexbox/flexitem.html that's
required after r126257.

Removing failure expectation for fast/forms/range/range-hit-test-with-padding.html
after the test was refactored in r126252 and is now passing.

Skipping two more failing tests that take too long to fail.

* platform/gtk/TestExpectations:
* platform/gtk/css3/flexbox: Added.
* platform/gtk/css3/flexbox/flexitem-expected.txt: Added.

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

8 years agoMediaStream API: Introduce RTCIceCandidate
tommyw@google.com [Wed, 22 Aug 2012 19:18:34 +0000 (19:18 +0000)]
MediaStream API: Introduce RTCIceCandidate
https://bugs.webkit.org/show_bug.cgi?id=93117

Reviewed by Adam Barth.

Source/WebCore:

This patch introduces RTCIceCandidate together with its corresponding
WebCore/platform representation.

Test: fast/mediastream/RTCIceCandidate.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/DOMWindowMediaStream.idl:
* Modules/mediastream/RTCIceCandidate.cpp: Added.
(WebCore):
(WebCore::RTCIceCandidate::create):
(WebCore::RTCIceCandidate::RTCIceCandidate):
(WebCore::RTCIceCandidate::~RTCIceCandidate):
(WebCore::RTCIceCandidate::candidate):
(WebCore::RTCIceCandidate::sdpMid):
(WebCore::RTCIceCandidate::sdpMLineIndex):
(WebCore::RTCIceCandidate::descriptor):
* Modules/mediastream/RTCIceCandidate.h: Added.
(WebCore):
(RTCIceCandidate):
* Modules/mediastream/RTCIceCandidate.idl: Added.
* WebCore.gypi:
* platform/mediastream/RTCIceCandidateDescriptor.cpp: Added.
(WebCore):
(WebCore::RTCIceCandidateDescriptor::create):
(WebCore::RTCIceCandidateDescriptor::RTCIceCandidateDescriptor):
(WebCore::RTCIceCandidateDescriptor::~RTCIceCandidateDescriptor):
* platform/mediastream/RTCIceCandidateDescriptor.h: Added.
(WebCore):
(RTCIceCandidateDescriptor):
(WebCore::RTCIceCandidateDescriptor::candidate):
(WebCore::RTCIceCandidateDescriptor::sdpMid):
(WebCore::RTCIceCandidateDescriptor::sdpMLineIndex):

LayoutTests:

* fast/mediastream/RTCIceCandidate-expected.txt: Added.
* fast/mediastream/RTCIceCandidate.html: Added.

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

8 years ago[chromium] Remove WebFrame::setSelectionToRange
commit-queue@webkit.org [Wed, 22 Aug 2012 19:09:05 +0000 (19:09 +0000)]
[chromium] Remove WebFrame::setSelectionToRange
https://bugs.webkit.org/show_bug.cgi?id=94685

Patch by Iain Merrick <husky@chromium.org> on 2012-08-22
Reviewed by Adam Barth.

It has basically the same functionality as WebFrame::selectRange.
The calling code was removed in Chromium patch 152608.

* public/WebFrame.h:
(WebFrame):
* src/WebFrameImpl.cpp:
* src/WebFrameImpl.h:
(WebFrameImpl):

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

8 years ago<http://webkit.org/b/94679> WebCore scrolling thread leaks objects due to them being...
mrowe@apple.com [Wed, 22 Aug 2012 19:00:09 +0000 (19:00 +0000)]
<webkit.org/b/94679> WebCore scrolling thread leaks objects due to them being autoreleased without any autorelease pool in place

Reviewed by Dan Bernstein.

* page/scrolling/mac/ScrollingThreadMac.mm:
(WebCore::ScrollingThread::threadRunLoopSourceCallback): Ensure that an autorelease pool is in place when
dispatching functions on the scrolling thread.

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

8 years agoFailure to dispatch delegate callbacks if resource load fails synchronously
psolanki@apple.com [Wed, 22 Aug 2012 18:44:37 +0000 (18:44 +0000)]
Failure to dispatch delegate callbacks if resource load fails synchronously
https://bugs.webkit.org/show_bug.cgi?id=94644

Reviewed by Antti Koivisto.

Resource loads can be triggered by layout after document load is
complete but before we have dispatched didFinishLoadForFrame callback.
In such cases, if the load fails synchronously due to the client
returning 0 from willSendRequest callback, we would fail to call
didFinishLoading. this was fixed for Font resources in r122446 for bug
91018. This fixes it in the general case by having CachedResourceLoader
call FrameLoader::checkLoadComplete() when it is done loading all
resources.

* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::beginLoadTimerFired):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::decrementRequestCount):

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

8 years agoLayout test fast/text/emphasis-overlap.html started failing differently after r126312
kbr@google.com [Wed, 22 Aug 2012 18:33:59 +0000 (18:33 +0000)]
Layout test fast/text/emphasis-overlap.html started failing differently after r126312
https://bugs.webkit.org/show_bug.cgi?id=94735

Unreviewed gardening. Suppressed failure.

* platform/chromium/TestExpectations:

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

8 years agoUnreviewed, rolling out r126319.
kbr@google.com [Wed, 22 Aug 2012 18:17:46 +0000 (18:17 +0000)]
Unreviewed, rolling out r126319.
http://trac.webkit.org/changeset/126319
https://bugs.webkit.org/show_bug.cgi?id=84487

Broke Chromium Mac build

Source/WebCore:

* WebCore.gypi:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::willBeDestroyed):
(WebCore::GraphicsLayerChromium::updateNames):
(WebCore::GraphicsLayerChromium::setSize):
(WebCore::GraphicsLayerChromium::setNeedsDisplay):
(WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
(WebCore::GraphicsLayerChromium::addLinkHighlight):
(WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
(WebCore):
(WebCore::GraphicsLayerChromium::updateChildList):
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore):
(GraphicsLayerChromium):
* platform/graphics/chromium/LinkHighlight.cpp: Added.
(WebCore):
(WebCore::LinkHighlight::create):
(WebCore::LinkHighlight::LinkHighlight):
(WebCore::LinkHighlight::~LinkHighlight):
(WebCore::LinkHighlight::contentLayer):
(WebCore::LinkHighlight::paintContents):
(WebCore::LinkHighlight::notifyAnimationStarted):
(WebCore::LinkHighlight::notifyAnimationFinished):
* platform/graphics/chromium/LinkHighlight.h: Renamed from Source/WebKit/chromium/src/LinkHighlight.h.
(WebCore):
(LinkHighlight):

Source/WebKit/chromium:

* WebKit.gyp:
* src/LinkHighlight.cpp: Removed.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):
(WebKit::WebViewImpl::computeScaleAndScrollForHitRect):
(WebKit::WebViewImpl::layout):
* src/WebViewImpl.h:
(WebKit):
(WebViewImpl):
* tests/LinkHighlightTest.cpp:
* tests/data/test_touch_link_highlight.html: Removed.

LayoutTests:

* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html: Removed.
* platform/chromium-linux/compositing/gestures/resources/1-frame-composited.html: Removed.
* platform/chromium-linux/compositing/gestures/resources/1-frame-noncomposited.html: Removed.
* platform/chromium-linux/compositing/gestures/resources/1-nested-frame-composited.html: Removed.
* platform/chromium-linux/compositing/gestures/resources/1-nested-frame-noncomposited.html: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll-expected.txt: Removed.

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

8 years agoLayout Test fast/repaint/japanese-rl-selection-repaint-in-regions.html is failing...
kbr@google.com [Wed, 22 Aug 2012 18:14:35 +0000 (18:14 +0000)]
Layout Test fast/repaint/japanese-rl-selection-repaint-in-regions.html is failing after r126304
https://bugs.webkit.org/show_bug.cgi?id=94730

Unreviewed; suppressed failure for the moment.

* platform/chromium/TestExpectations:

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

8 years agoRespect system setting for rubber-banding in ScrollAnimatorMac.
commit-queue@webkit.org [Wed, 22 Aug 2012 17:59:26 +0000 (17:59 +0000)]
Respect system setting for rubber-banding in ScrollAnimatorMac.
https://bugs.webkit.org/show_bug.cgi?id=94356

Patch by Alexei Svitkine <asvitkine@chromium.org> on 2012-08-22
Reviewed by James Robinson.

Respects user defaults setting of NSScrollViewRubberbanding,
which controls rubber-banding in other Mac OS X applications.

If NSScrollViewRubberbanding is not set, defaults to enabling
rubber banding. Otherwise, rubber banding is disabled if the
value is 0 and enabled otherwise.

No new tests since the behavior depends on system settings.

* platform/mac/ScrollAnimatorMac.mm:
(WebCore):
(WebCore::rubberBandingEnabledForSystem):
(WebCore::ScrollAnimatorMac::handleWheelEvent):

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

8 years ago[chromium/mac] Remove unnecessary checks for OS version <= 10.5. We don't support...
commit-queue@webkit.org [Wed, 22 Aug 2012 17:56:48 +0000 (17:56 +0000)]
[chromium/mac] Remove unnecessary checks for OS version <= 10.5. We don't support those
https://bugs.webkit.org/show_bug.cgi?id=94658

Patch by James Robinson <jamesr@chromium.org> on 2012-08-22
Reviewed by Tony Chang.

The chromium mac port hasn't supported Leopard for a while now, so remove chromium-specific code that checks
for OS X version <= Leopard.

* platform/graphics/chromium/CrossProcessFontLoading.mm:
(WebCore::FontPlatformData::loadFont):
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::canSetCascadeListForCustomFont):

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

8 years ago[chromium] Add touch link highlight animation layers.
wjmaclean@chromium.org [Wed, 22 Aug 2012 17:51:44 +0000 (17:51 +0000)]
[chromium] Add touch link highlight animation layers.
https://bugs.webkit.org/show_bug.cgi?id=84487

Reviewed by James Robinson.

Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
Transform support currently limited to translation.

Source/WebCore:

Unit tests for LinkHighlight revised.

Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html

* WebCore.gypi:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
(WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
(WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
(WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
(WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
(WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
(WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore):
(LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
(WebCore::LinkHighlightClient::~LinkHighlightClient):
(GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::linkHighlight):
* platform/graphics/chromium/LinkHighlight.cpp: Removed.

Source/WebKit/chromium:

Unit tests for LinkHighlight revised.

* WebKit.gyp:
* src/LinkHighlight.cpp: Added.
(WebKit):
(WebKit::LinkHighlight::create):
(WebKit::LinkHighlight::LinkHighlight):
(WebKit::LinkHighlight::~LinkHighlight):
(WebKit::LinkHighlight::contentLayer): Accessor for layer containing highlight.
(WebKit::LinkHighlight::clipLayer): Accessor for layer that provides clipping for highlight.
(WebKit::LinkHighlight::releaseResources): Releases Node* for highlight target, clears client/delegate pointers.
(WebKit::LinkHighlight::computeEnclosingCompositingLayer): Determines which GraphicsLayerChromium to attach highlight to.
(WebKit::LinkHighlight::computeHighlightLayerPathAndPosition): Determines coordinates of highlight in owning GraphicsLayerChromium's coordinates.
(WebKit::LinkHighlight::paintContents): If highlight active, paints highlight.
(WebKit::LinkHighlight::startHighlightAnimation): Called to start highlight animation.
(WebKit::LinkHighlight::clearGraphicsLayerLinkHighlightPointer): Removes this LinkHighlight's pointer from owning GraphicsLayerChromium.
(WebKit::LinkHighlight::notifyAnimationStarted): Implements WebAnimationDelegate.
(WebKit::LinkHighlight::notifyAnimationFinished): Implements WebAnimationDelegate, releases resources when animation completes.
(WebKit::LinkHighlight::updateGeometry): Invokes computation of which GraphicsLayerChromium to attach to, and highlight shape & position.
    Computations proceed only if preceded by call to invalidate().
(WebKit::LinkHighlight::clearCurrentGraphicsLayer): Handles notification that current GraphicsLayerChromium* is no longer valid.
(WebKit::LinkHighlight::invalidate): Sets flag to allow geometry update on next call from WebViewImpl::layout().
(WebKit::LinkHighlight::layer): Exports WebLayer* for use in GraphicsLayerChromium.
* src/LinkHighlight.h: Renamed from Source/WebCore/platform/graphics/chromium/LinkHighlight.h.
(WebCore):
(WebKit):
(LinkHighlight):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):
(WebKit):
(WebKit::highlightConditions):
(WebKit::WebViewImpl::bestTouchLinkNode): Find highlight target node for touch event location.
(WebKit::WebViewImpl::enableTouchHighlight): Invokes highlight for node at current touch event location.
(WebKit::WebViewImpl::layout): Adds call to LinkHighlight::updateGeometry().
* src/WebViewImpl.h:
(WebKit):
(WebViewImpl):
(WebKit::WebViewImpl::linkHighlight):
* tests/LinkHighlightTest.cpp:
(WebCore):
(WebCore::TEST):
* tests/data/test_touch_link_highlight.html: Added.

LayoutTests:

* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-frame-composited.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-frame-noncomposited.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-nested-frame-composited.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-nested-frame-noncomposited.html: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll-expected.txt: Added.

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

8 years agoBrowser menu visible when calling webkitRequestFullscreen after user manually enters...
jer.noble@apple.com [Wed, 22 Aug 2012 17:50:22 +0000 (17:50 +0000)]
Browser menu visible when calling webkitRequestFullscreen after user manually enters full screen mode
https://bugs.webkit.org/show_bug.cgi?id=93892

Reviewed by Eric Carlson.

Allow the full screen window to "Join All Spaces", so that once it's original full screen space is destroyed,
it can join the new one.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):

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

8 years agoUnreviewed Chromium gardening. Copy old Mac test expectations
kbr@google.com [Wed, 22 Aug 2012 17:41:40 +0000 (17:41 +0000)]
Unreviewed Chromium gardening. Copy old Mac test expectations
(ignored anyway) for this Mac-specific test after r126219.

* platform/chromium/platform/mac/fast/text/vertical-surrogate-pair-expected.png: Added.
* platform/chromium/platform/mac/fast/text/vertical-surrogate-pair-expected.txt: Added.

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

8 years agoUnskip http/tests/inspector/console-resource-errors.html.
commit-queue@webkit.org [Wed, 22 Aug 2012 17:33:16 +0000 (17:33 +0000)]
Unskip http/tests/inspector/console-resource-errors.html.
https://bugs.webkit.org/show_bug.cgi?id=94640.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-22
Reviewed by Jessie Berlin.

The test has been rebaseline'd in r126281 and no longer fails.

* platform/mac/Skipped:

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

8 years agoUnreviewed build fix. Missing PANGO_CFLAGS.
kov@webkit.org [Wed, 22 Aug 2012 17:19:53 +0000 (17:19 +0000)]
Unreviewed build fix. Missing PANGO_CFLAGS.

* GNUmakefile.am:

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

8 years agoWeb Inspector: make "sdk" component compile independently from the rest of the front...
pfeldman@chromium.org [Wed, 22 Aug 2012 17:10:21 +0000 (17:10 +0000)]
Web Inspector: make "sdk" component compile independently from the rest of the front-end.
https://bugs.webkit.org/show_bug.cgi?id=94705

Reviewed by Vsevolod Vlasov.

Source/WebCore:

This change refactors the way we compile. Running "compile-front-end.py sdk" will compile sdk only.
It also introduces DOMStorageModel and DatabaseModel that are used to split model / UI layers.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InjectedScriptExterns.js:
(InjectedScriptHost.prototype.evaluate):
* inspector/Inspector.json:
* inspector/compile-front-end.py:
(dump_module):
* inspector/front-end/CompilerScriptMapping.js:
* inspector/front-end/ConsoleModel.js:
(WebInspector.ConsoleMessage):
(WebInspector.ConsoleMessage.prototype.clone):
(WebInspector.ConsoleMessage.prototype.location):
* inspector/front-end/DOMAgent.js:
* inspector/front-end/DOMStorage.js:
(WebInspector.DOMStorageModel):
(WebInspector.DOMStorageModel.prototype._addDOMStorage):
(WebInspector.DOMStorageModel.prototype._domStorageUpdated):
(WebInspector.DOMStorageModel.prototype.storageForId):
(WebInspector.DOMStorageModel.prototype.storages):
(WebInspector.DOMStorageDispatcher):
(WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
(WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
* inspector/front-end/Database.js:
(WebInspector.Database):
(WebInspector.Database.prototype.executeSql):
(WebInspector.DatabaseModel):
(WebInspector.DatabaseModel.prototype.databases):
(WebInspector.DatabaseModel.prototype.databaseForId):
(WebInspector.DatabaseModel.prototype._addDatabase):
(WebInspector.DatabaseModel.prototype._sqlTransactionSucceeded):
(WebInspector.DatabaseModel.prototype._sqlTransactionFailed):
(WebInspector.DatabaseDispatcher):
(WebInspector.DatabaseDispatcher.prototype.addDatabase):
(WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
(WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
* inspector/front-end/DebuggerModel.js:
* inspector/front-end/FileUtils.js:
(WebInspector.OutputStreamDelegate.prototype.onTransferStarted):
(WebInspector.OutputStreamDelegate.prototype.onChunkTransferred):
(WebInspector.OutputStreamDelegate.prototype.onTransferFinished):
(WebInspector.OutputStreamDelegate.prototype.onError):
(WebInspector.OutputStream):
(WebInspector.OutputStream.prototype.startTransfer):
(WebInspector.OutputStream.prototype.transferChunk):
(WebInspector.OutputStream.prototype.finishTransfer):
(WebInspector.OutputStream.prototype.dispose):
* inspector/front-end/HandlerRegistry.js:
* inspector/front-end/HeapSnapshotView.js:
* inspector/front-end/InspectorFrontendHostStub.js:
* inspector/front-end/PresentationConsoleMessageHelper.js:
(WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype._reset):
(WebInspector.ResourcesPanel.prototype._databaseAdded):
(WebInspector.ResourcesPanel.prototype._addDatabase):
(WebInspector.ResourcesPanel.prototype._domStorageAdded):
(WebInspector.ResourcesPanel.prototype._addDOMStorage):
(WebInspector.ResourcesPanel.prototype._showDatabase.get if):
(WebInspector.ResourcesPanel.prototype._showDatabase.else.get if):
(WebInspector.ResourcesPanel.prototype._showDatabase):
(WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
(WebInspector.ResourcesPanel.prototype._showDOMStorage):
(WebInspector.ResourcesPanel.prototype._updateDatabaseTables.get if):
(WebInspector.ResourcesPanel.prototype._updateDatabaseTables.tableNamesCallback):
(WebInspector.DatabaseTreeElement.prototype.onselect):
(WebInspector.DatabaseTableTreeElement.prototype.onselect):
(WebInspector.DOMStorageTreeElement.prototype.onselect):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
* inspector/front-end/SearchController.js:
(WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
* inspector/front-end/Settings.js:
* inspector/front-end/Spectrum.js:
* inspector/front-end/TextEditorModel.js:
* inspector/front-end/UIString.js: Added.
(WebInspector.UIString):
* inspector/front-end/UIUtils.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
(InspectorFrontendHostAPI.prototype.platform):
(InspectorFrontendHostAPI.prototype.port):
(InspectorFrontendHostAPI.prototype.bringToFront):
(InspectorFrontendHostAPI.prototype.closeWindow):
(InspectorFrontendHostAPI.prototype.requestAttachWindow):
(InspectorFrontendHostAPI.prototype.requestDetachWindow):
(InspectorFrontendHostAPI.prototype.requestSetDockSide):
(InspectorFrontendHostAPI.prototype.setAttachedWindowHeight):
(InspectorFrontendHostAPI.prototype.moveWindowBy):
(InspectorFrontendHostAPI.prototype.setInjectedScriptForOrigin):
(InspectorFrontendHostAPI.prototype.loaded):
(InspectorFrontendHostAPI.prototype.localizedStringsURL):
(InspectorFrontendHostAPI.prototype.hiddenPanels):
(InspectorFrontendHostAPI.prototype.inspectedURLChanged):
(InspectorFrontendHostAPI.prototype.documentCopy):
(InspectorFrontendHostAPI.prototype.copyText):
(InspectorFrontendHostAPI.prototype.openInNewTab):
(InspectorFrontendHostAPI.prototype.canSave):
(InspectorFrontendHostAPI.prototype.save):
(InspectorFrontendHostAPI.prototype.canAppend):
(InspectorFrontendHostAPI.prototype.append):
(InspectorFrontendHostAPI.prototype.sendMessageToBackend):
(InspectorFrontendHostAPI.prototype.recordActionTaken):
(InspectorFrontendHostAPI.prototype.recordPanelShown):
(InspectorFrontendHostAPI.prototype.recordSettingChanged):
(InspectorFrontendHostAPI.prototype.loadResourceSynchronously):
(InspectorFrontendHostAPI.prototype.setZoomFactor):
(InspectorFrontendHostAPI.prototype.canInspectWorkers):
(SourceMapV3):
(SourceMapV3.Section):
(SourceMapV3.Offset):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.inspect):

LayoutTests:

* http/tests/inspector-enabled/database-open.html:
* http/tests/inspector-enabled/dom-storage-open.html:

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

8 years agoUnreviewed build fix. libWebCore needs include paths
kov@webkit.org [Wed, 22 Aug 2012 17:05:33 +0000 (17:05 +0000)]
Unreviewed build fix. libWebCore needs include paths
for some bits of WebCoreGtk.

* GNUmakefile.am:

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

8 years agoFontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBou...
commit-queue@webkit.org [Wed, 22 Aug 2012 16:53:51 +0000 (16:53 +0000)]
FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph are not implemented on Chromium Windows
https://bugs.webkit.org/show_bug.cgi?id=83512

Patch by Koji Ishii <kojiishi@gmail.com> on 2012-08-22
Reviewed by Tony Chang.

Source/WebCore:

Chromium Windows does not implement following 3 functions that are required for bug 51450.
1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000).
2. FontPlatformData.orientation() always returns Horizontal.
3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().
Tony suggested in bug 51450 review to split code that is not behind
#if ENABLE(OPENTYPE_VERTICAL) to a separate patch.

Test: Following 3 existing but skipped tests are now enabled and pass.
      fast/text/emphasis-overlap.html
      fast/text/emphasis-avoid-ruby.html
      fast/repaint/text-emphasis-v.html

* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::FontCache::createFontPlatformData): Add orientation.
* platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
(WebCore::FontPlatformData::FontPlatformData): Add orientation.
(WebCore::FontPlatformData::operator=): Add orientation.
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
(FontPlatformData):
(WebCore::FontPlatformData::orientation): Add orientation.
(WebCore::FontPlatformData::setOrientation): Add orientation.
(WebCore::FontPlatformData::operator==): Add orientation.
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
(WebCore::SimpleFontData::platformInit): Set FontMetrics.unitsPerEm.
(WebCore::SimpleFontData::createScaledFontData): Add orientation.
(WebCore::SimpleFontData::platformBoundsForGlyph): Implemented.
* platform/graphics/skia/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData): Add orientation.

LayoutTests:

Chromium Windows does not implement following 3 functions that are required for bug 51450.
1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000).
   This change requires rebaseline of fast/repaint/stacked-diacritics and fast/text/emphasis-overlap.
2. FontPlatformData.orientation() always returns Horizontal. This has no effect as of this patch.
3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().
   This change improves rendering of text-emphasis and 3 existing tests pass now.
Tony suggested in bug 51450 review to split code that is not behind
#if ENABLE(OPENTYPE_VERTICAL) to a separate patch.

* platform/chromium-win/fast/repaint/stacked-diacritics-expected.png:
* platform/chromium-win/fast/text/emphasis-overlap-expected.txt: Added due to metrics change.
* platform/chromium/TestExpectations: Enabled 3 tests for Chromium Win.

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

8 years ago [WK2] Support posting injected bundle messages to a page
ap@apple.com [Wed, 22 Aug 2012 16:36:47 +0000 (16:36 +0000)]
    [WK2] Support posting injected bundle messages to a page
        https://bugs.webkit.org/show_bug.cgi?id=94630

        Reviewed by Sam Weinig.

        * Shared/APIClientTraits.cpp:
        * Shared/APIClientTraits.h:
        * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h:
        * UIProcess/API/C/WKPage.cpp:
        (WKPagePostMessageToInjectedBundle):
        * UIProcess/API/C/WKPage.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::postMessageToInjectedBundle):
        * UIProcess/WebPageProxy.h:
        * WebProcess/InjectedBundle/API/c/WKBundle.h:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::didReceiveMessageToPage):
        (WebKit::InjectedBundle::didReceiveMessage):
        * WebProcess/InjectedBundle/InjectedBundle.h:
        * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
        (WebKit::InjectedBundleClient::didReceiveMessageToPage):
        * WebProcess/InjectedBundle/InjectedBundleClient.h:
        (InjectedBundleClient):
        Added a PostMessageToPage injected bundle message type, with all associated
        machinery. API is WKPagePostMessageToInjectedBundle(), and an associated
        didReceiveMessageToPage() injected bundle client function.

        * WebProcess/qt/QtBuiltinBundle.cpp: (WebKit::QtBuiltinBundle::initialize):
        Updated for new client API.

        * UIProcess/WebContext.cpp: (WebKit::WebContext::postMessageToInjectedBundle):
        Implemented multiple process model case.

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

8 years agoREGRESSION(r125578): fast/regex/unicodeCaseInsensitive.html crash on Linux Debug...
robert@webkit.org [Wed, 22 Aug 2012 16:07:44 +0000 (16:07 +0000)]
REGRESSION(r125578): fast/regex/unicodeCaseInsensitive.html crash on Linux Debug Chromium
https://bugs.webkit.org/show_bug.cgi?id=94010

Reviewed by Tony Chang.

r125578 inspected the raw text run for word-end but the index it used to do so was for a normalized
version of the run that could be longer than the raw text run. So to allow proper detection of word-end
in complex text (i) do not normalize tabs to plain white-space and (ii) go back to using the normalized version
of the run for detecting word-end. There is a risk that some fonts may create glyphs for the '\t' character
but this does not turn up in any of our regression tests and the more common risk appears to be the new-line.

Test: fast/regex/unicodeCaseInsensitive.html

* platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
(WebCore::normalizeSpacesAndMirrorChars):

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

8 years agoREGRESSION (r125710): accessibility/accessibility-node-reparent.html, accessibility...
dmazzoni@google.com [Wed, 22 Aug 2012 16:01:10 +0000 (16:01 +0000)]
REGRESSION (r125710): accessibility/accessibility-node-reparent.html, accessibility/accessibility-node-memory-management.html failing on GTK Linux
https://bugs.webkit.org/show_bug.cgi?id=94200

Reviewed by Chris Fleizach.

Tools:

Adds reference counting for AtkObjects referenced by
AccessibilityUIElementGtk. This prevents bogus results and
assertion failures on AccessibilityUIElements whose underlying
object has been deleted (as opposed to just made defunct).

This fixes two tests that were previously failing because of this bug.

* DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
(AccessibilityUIElement::AccessibilityUIElement):
(AccessibilityUIElement::~AccessibilityUIElement):

LayoutTests:

This patch fixes two tests and removes them from gtk expectations.

* platform/gtk/TestExpectations:

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

8 years agoWeb Inspector: [WebGL] Support the communication protocol from the injected script
commit-queue@webkit.org [Wed, 22 Aug 2012 15:54:59 +0000 (15:54 +0000)]
Web Inspector: [WebGL] Support the communication protocol from the injected script
https://bugs.webkit.org/show_bug.cgi?id=94689

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-08-22
Reviewed by Pavel Feldman.

Support the WebGL communication protocol from the injected script module.

* inspector/InjectedScriptWebGLModuleSource.js:
(.):

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

8 years ago[GTK] Crash when finalizing WebKitWebView
carlosgc@webkit.org [Wed, 22 Aug 2012 15:53:21 +0000 (15:53 +0000)]
[GTK] Crash when finalizing WebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=94699

Reviewed by Martin Robinson.

Create the offscreen window the first time accelerated compositing
is enabled, so that if it's never enabled the window won't be
created.

* WebCoreSupport/AcceleratedCompositingContextGL.cpp:
(WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
(WebKit::AcceleratedCompositingContext::initialize):
(WebKit::AcceleratedCompositingContext::setRootCompositingLayer):

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

8 years ago[GTK] Split WebCore/platform into a separate library
kov@webkit.org [Wed, 22 Aug 2012 15:47:53 +0000 (15:47 +0000)]
[GTK] Split WebCore/platform into a separate library
https://bugs.webkit.org/show_bug.cgi?id=94435

Reviewed by Martin Robinson.

More people have been reporting problems when linking WebCore because
the command line limit is being exceeded. Splitting WebCore a bit more
is in order.

.:

* GNUmakefile.am: add variable that will hold the list of source files
for libWebCorePlatform .

Source/WebCore:

* GNUmakefile.am: add new libWebCorePlatform convenience library.
* GNUmakefile.list.am: move list of platform/* files to its own variable.

Source/WebKit/gtk:

* GNUmakefile.am: link libWebCorePlatform into libwebkitgtk

Source/WebKit2:

* GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk

Tools:

* GNUmakefile.am: link libWebCorePlatform into DRT

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

8 years ago[EFL] Build failures with harfbuzz outside standard locations
rakuco@webkit.org [Wed, 22 Aug 2012 15:46:01 +0000 (15:46 +0000)]
[EFL] Build failures with harfbuzz outside standard locations
https://bugs.webkit.org/show_bug.cgi?id=93030

Reviewed by Rob Buis.

Add ${HARFBUZZ_INCLUDE_DIRS} to the list of included paths: so far
it was being implicitly pulled from evas's pkg-config file, and
used to work when WebKit-EFL's dependencies were built with
jhbuild -- in this case, harfbuzz is built before evas, which is
then built with harfbuzz support and adds the required paths to
its .pc file.

We need to include things directly to account for the case of
people not using jhbuild and thus not necessarily having harfbuzz
as an evas dependency.

* PlatformEfl.cmake:

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

8 years agoCrash in WebCore::RenderBlock::removeChild
commit-queue@webkit.org [Wed, 22 Aug 2012 15:34:57 +0000 (15:34 +0000)]
Crash in WebCore::RenderBlock::removeChild
https://bugs.webkit.org/show_bug.cgi?id=93879

Patch by Raul Hudea <rhudea@adobe.com> on 2012-08-22
Reviewed by Abhishek Arya.

Source/WebCore:

By adding the lifetime state to the RenderNamedFlowThread (r122556), it become possible for the a RenderRegion object to delete its sibling,
the RenderNamedFlowThread. This is unexpected in the rendering world and cause problems in RenderBlock::removeChild where we retain previous
and next sibling pointers.
So, all the RenderNamedFlowThread are created under a RenderFlowThreadContainer object insted of the RenderView. The new object is created only
when the first named flow is created.

Test: fast/regions/remove-flow-thread-crash.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::FlowThreadController): Added initialization for the new RenderFlowThreadContainer member
(WebCore::FlowThreadController::ensureRenderFlowThreadWithName): Added the creation of the RenderFlowThreadContainer object and use it as a parent for all RenderNamedFlowThreads
(WebCore::FlowThreadController::styleDidChange): Inform all the RenderNamedFlowThreads that the style changed in regions (initially this code was in RenderView, but now all RenderNamedFlowThreads are children of RenderFlowThreadContainer)
(WebCore):
* rendering/FlowThreadController.h:
(WebCore):
(FlowThreadController):
* rendering/RenderFlowThreadContainer.cpp: Added.
(WebCore):
(WebCore::RenderFlowThreadContainer::RenderFlowThreadContainer):
(WebCore::RenderFlowThreadContainer::layout):
* rendering/RenderFlowThreadContainer.h: Added.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::markContainingBlocksForLayout): Skip to RenderView if the current object is an RenderFlowThreadContainer.
* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderFlowThreadContainer):
* rendering/RenderView.cpp:
(WebCore::RenderView::styleDidChange): Moved the code associated to RenderNamedFlowThreads to FlowThreadController:styleDidChange and call it instead.

LayoutTests:

Test the region-flow_thread sibling case

* fast/regions/remove-flow-thread-crash-expected.txt: Added.
* fast/regions/remove-flow-thread-crash.html: Added.

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

8 years ago[BlackBerry] Add RSS content handling support
rwlbuis@webkit.org [Wed, 22 Aug 2012 15:28:37 +0000 (15:28 +0000)]
[BlackBerry] Add RSS content handling support
https://bugs.webkit.org/show_bug.cgi?id=93496

Reviewed by Yong Li.

Cleanup some more.

* platform/network/blackberry/rss/RSSFilterStream.cpp:
(WebCore):
(WebCore::createParser):
(WebCore::defaultEncodingForLanguage):
(WebCore::isTranscodingNeeded):

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

8 years agoRemove unused TextDrawingMode flags from GraphicsContext
caio.oliveira@openbossa.org [Wed, 22 Aug 2012 14:51:56 +0000 (14:51 +0000)]
Remove unused TextDrawingMode flags from GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=21898

Reviewed by Benjamin Poulain.

Remove TextModeClip and TextModeInvisible. These are not used by any port, and
according to https://bugs.webkit.org/show_bug.cgi?id=42110#c2 these were added
just to map CG existing flags, but are not used.

* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformTextDrawingMode):
* platform/graphics/openvg/PainterOpenVG.cpp:
(WebCore::PainterOpenVG::drawText):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::setTextDrawingMode):

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

8 years agoUnreviewed, rolling out r126287.
ossy@webkit.org [Wed, 22 Aug 2012 14:13:19 +0000 (14:13 +0000)]
Unreviewed, rolling out r126287.
http://trac.webkit.org/changeset/126287
https://bugs.webkit.org/show_bug.cgi?id=94708

It made WK1 layout testing 3.7x slower (>1hours) (Requested by
ossy on #webkit).

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

Source/WebCore:

* bridge/qt/qt_instance.cpp:
(JSC::Bindings::unusedWeakObjectMapCallback):
(Bindings):
(JSC::Bindings::WeakMapImpl::WeakMapImpl):
(JSC::Bindings::WeakMapImpl::~WeakMapImpl):
(JSC::Bindings::WeakMap::~WeakMap):
(JSC::Bindings::WeakMap::set):
(JSC::Bindings::WeakMap::get):
(JSC::Bindings::WeakMap::remove):
* bridge/qt/qt_instance.h:
(QtInstance):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::prototypeForSignalsAndSlots):
(JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
(JSC::Bindings::QtRuntimeMethod::call):
(JSC::Bindings::QtRuntimeMethod::jsObjectRef):
(JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
* bridge/qt/qt_runtime.h:
(QtRuntimeMethod):

Source/WebKit/qt:

* tests/qobjectbridge/tst_qobjectbridge.cpp:
(tst_QObjectBridge::objectDeleted):
(tst_QObjectBridge::introspectQtMethods_data):
(tst_QObjectBridge::introspectQtMethods):

LayoutTests:

* platform/qt/Skipped:

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

8 years agoNot reviewed: follow up to r126297, fixing WebCore.gypi.
pfeldman@chromium.org [Wed, 22 Aug 2012 14:11:30 +0000 (14:11 +0000)]
Not reviewed: follow up to r126297, fixing WebCore.gypi.

* WebCore.gypi:

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

8 years agoUnreviewed buildfix for Qt-minimal after r126291
allan.jensen@nokia.com [Wed, 22 Aug 2012 14:00:57 +0000 (14:00 +0000)]
Unreviewed buildfix for Qt-minimal after r126291

Disable smooth scrolling when request-animation-frame has been disabled either
explicitly or as part of --minimal.

* qmake/mkspecs/features/features.prf:

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