⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 12, 2013:

11:55 PM Changeset in webkit [149991] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.0

Merge r148840 - [GStreamer] Media attribute preload="none" is not honored
https://bugs.webkit.org/show_bug.cgi?id=114357

Reviewed by Philippe Normand.

Source/WebCore:

Fix the logic that prevents live streams from being buffered to not make preload="none" ignored.

Test: http/tests/media/video-preload.html
We need a http test because the bug does not triggered with local files.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(MediaPlayerPrivateGStreamer):
Remove m_originalPreloadWasAutoAndWasOverridden because it is not necessary and it is causing this bug.
Currently if the tag has preload="none" attribute we set m_preload to Auto in the constructor. After that
MedaPlayer calls setPreload(None), so we set m_originalPreloadWasAutoAndWasOverridden to true and later
reset m_preload to Auto. The error prone factor here is that the m_preload member is repeated in the
private class and setPreload is also used there. This seems to be necessary because we need to be able
to ignore preloading if this is a live stream. Fortunately the original parsed value is available in the
constructor, so we can use that. This will give the correct value that we should override only in the case
of a live stream and that's it, we don't need to reset it later to Auto.
Furthermore, we should ignore setting preload to auto from js if it is a live stream. This patch also handles
this with an early return in setPreload.

LayoutTests:

  • http/tests/media/video-preload-expected.txt: Added.
  • http/tests/media/video-preload.html: Added.
11:52 PM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
11:48 PM Changeset in webkit [149990] by Carlos Garcia Campos
  • 8 edits in releases/WebKitGTK/webkit-2.0

Merge r148788 - [GTK] Fix unit test webkit2/WebKitFindController/hide
https://bugs.webkit.org/show_bug.cgi?id=89810

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-04-20
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

The test had some hacks in order to compare a page with highlighted
results after using the find command with the original page. Now it uses
the snapshots API that allows to make the test simpler and more
reliable.

  • UIProcess/API/gtk/tests/TestMain.h:

(Test::cairoSurfacesEqual): Moved helper function to compare two cairo
surfaces from TestWebKitWebView.
(Test):

  • UIProcess/API/gtk/tests/TestWebKitFindController.cpp:

(testFindControllerHide): Modify test to use snapshots.

  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:

(testWebViewSnapshot): Move basic snapshop methods to WebViewTest to
share them with TestWebKitFindController test.

  • UIProcess/API/gtk/tests/WebViewTest.cpp:

(WebViewTest::WebViewTest): Initialize cairo surface.
(WebViewTest::~WebViewTest): Destroy cairo surface.
(onSnapshotReady): Callback to set the cairo surface when the snapshot
is ready.
(WebViewTest::getSnapshotAndWaitUntilReady): Method that takes a
snapshot and returns the cairo surface when it is ready.

  • UIProcess/API/gtk/tests/WebViewTest.h: Add new method headers and

attribute for the cairo surface.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Unskip test webkit2/WebKitFindController/hide.

11:40 PM Changeset in webkit [149989] by eric.carlson@apple.com
  • 3 edits
    3 adds in trunk

REGRESSION (r149749): Video becomes invisible when it starts playing at newyorkbygehry.com
https://bugs.webkit.org/show_bug.cgi?id=115963

Reviewed by Dean Jackson.

Source/WebCore:

Test: media/video-remove-insert-repaints.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::insertedInto): Set m_inActiveDocument when inserted into a document.
(WebCore::HTMLMediaElement::removedFrom): Fix logging.

LayoutTests:

  • media/video-remove-insert-repaints.html: Added.
  • media/video-remove-insert-repaints-expected.txt: Added.
  • platform/mac/media/video-remove-insert-repaints-expected.png: Added.
11:39 PM Changeset in webkit [149988] by commit-queue@webkit.org
  • 2 edits
    6 adds in trunk/LayoutTests

[EFL] Unreviewed EFL gardening
https://bugs.webkit.org/show_bug.cgi?id=116004

Unreviewed EFL gardening

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-05-12

  • platform/efl-wk2/TestExpectations:
  • platform/efl/fast/block/lineboxcontain/block-with-ideographs-expected.txt: Added.
  • platform/efl/fast/selectors/unqualified-hover-strict-expected.txt: Added.
  • platform/efl/fast/text/text-combine-different-fonts-expected.txt: Added.
  • platform/efl/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt: Added.
  • platform/efl/tables/mozilla/bugs/bug113235-2-expected.txt: Added.
  • platform/efl/tables/mozilla_expected_failures/bugs/bug45621-expected.txt: Added.
11:25 PM Changeset in webkit [149987] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Move sudden termination symbols to the Mac-only section

  • WebCore.exp.in: Move the sudden termination symbols to the

!PLATFORM(IOS) section for reals this time.

11:24 PM Changeset in webkit [149986] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix Mac build.

  • platform/mac/PasteboardMac.mm: Add back include of ClipboardMac.h that was removed by accident a couple of patches back.
10:35 PM Changeset in webkit [149985] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Moved files function from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116008

Reviewed by Anders Carlsson.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::files): Added. Moved the DOM-depdendent and
platform-independent part of the files function in ClipboardMac here.

  • dom/Clipboard.h: Made files function non-virtual in non-legacy case.
  • platform/Pasteboard.h: Removed static member function

absoluteURLsFromPasteboardFilenames since it can now be private to
PasteboardMac. Added member function readFilenames.

  • platform/mac/ClipboardMac.h: Removed function member files and also

now-unused data member m_clipboardContents.

  • platform/mac/ClipboardMac.mm: Removed files function.

(WebCore::ClipboardMac::ClipboardMac): Removed code to initialize
m_clipboardContents.

  • platform/mac/PasteboardMac.mm:

(WebCore::absoluteURLsFromPasteboardFilenames): Changed from a static
member function to a file-local function.
(WebCore::absoluteURLsFromPasteboard): Changed to call the function
above in its new location.
(WebCore::Pasteboard::readFilenames): Added. Code from ClipboardMac,
minus the DOM-specific parts. Added a FIXME about the peculiar round
trip through NSURL this code takes.

10:32 PM Changeset in webkit [149984] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix WebKit2 build.

  • WebCore.exp.in:

Put WebCore::disableSuddenTermination and WebCore::enableSuddenTermination symbols in the right section.

10:26 PM Changeset in webkit [149983] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Move types function from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116007

Reviewed by Anders Carlsson.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::types): Added. Calls through to Pasteboard
after doing checks needed at this level.

  • dom/Clipboard.h: Made types function non-virtual in non-legacy case,

and removed non-helpful comment.

  • platform/Pasteboard.h: Updated includes and comments at the top of

the file a bit. Removed static member function addHTMLClipboardTypesForCocoaType,
since it can now be private to PasteboardMac. Added member function types.

  • platform/mac/ClipboardMac.h: Removed types function.
  • platform/mac/ClipboardMac.mm: Ditto.
  • platform/mac/PasteboardMac.mm:

(WebCore::addHTMLClipboardTypesForCocoaType): Made this a file-local
function instead of a static member function.
(WebCore::Pasteboard::types): Added. Moved from ClipboardMac.

10:19 PM Changeset in webkit [149982] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Move setData from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116006

Reviewed by Anders Carlsson.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::setData): Added. Calls through to Pasteboard
after doing checks needed at this level.

  • dom/Clipboard.h: Made setData non-virtual in non-legacy case.
  • platform/Pasteboard.h: Updated includes and forward declarations.

Removed static member function cocoaTypeFromHTMLClipboardType, since
it can now be private to PasteboardMac. Added static member function
addHTMLClipboardTypesForCocoaType, which is shared between the
ClipboardMac and PasteboardMac files for now. Added writeString.

  • platform/mac/ClipboardMac.h: Removed setData.
  • platform/mac/ClipboardMac.mm: Removed utiTypeFromCocoaType,

addHTMLClipboardTypesForCocoaType, and setData.
(WebCore::ClipboardMac::types): Call addHTMLClipboardTypesForCocoaType
as a Pasteboard static member function, for now.

  • platform/mac/PasteboardMac.mm:

(WebCore::cocoaTypeFromHTMLClipboardType): Added. Moved from ClipboardMac.
(WebCore::Pasteboard::readString): Changed to call
cocoaTypeFromHTMLClipboardType as a file-local function, not a member
function (in fact, we didn't need to repeat the class name before, either,
so this is just removing something we didn't need).
(WebCore::utiTypeFromCocoaType): Added. Moved from ClipboardMac.
(WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType): Ditto.
(WebCore::Pasteboard::writeString): Ditto.

9:44 PM Changeset in webkit [149981] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Move getData from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116005

Reviewed by Anders Carlsson.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::Clipboard): Added a new boolean argument, forFileDrag,
to the constructor. Maybe we can find a better way to do this once we move
all the platforms over, but this boolean seems a good way to do it for now.
(WebCore::Clipboard::getData): Added. Calls through to Pasteboard after
doing the canReadData check, which is part of DOM rules, not the platform.
Also checks for the file drag case like the old ClipboardMac code did.

  • dom/Clipboard.h: Made getData non-virtual in non-legacy case.
  • platform/Pasteboard.h: Added a static member function named

absoluteURLsFromPasteboardFilenames, temporary so it can be shared between
ClipboardMac and PasteboardMac. Added a readString public function member,
and a m_changeCount data member. The type of m_changeCount is long since
that can always hold an NSInteger but yet is a type we can compile without
including the header file that defines NSInteger.

  • platform/mac/ClipboardMac.h: Removed getData.
  • platform/mac/ClipboardMac.mm: Removed getData.

(WebCore::ClipboardMac::ClipboardMac): Added code to pass in the new
forFileDrag boolean.
(WebCore::ClipboardMac::files): Call absoluteURLsFromPasteboardFilenames
as a static member function in Pasteboard since we moved it there.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::Pasteboard): Initialize the change count, so later
pasteboard operations can check it.
(WebCore::Pasteboard::absoluteURLsFromPasteboardFilenames): Added. Moved
here from ClipboardMac.
(WebCore::absoluteURLsFromPasteboard): Ditto.
(WebCore::Pasteboard::readString): Added. Moved here from ClipboardMac.

9:24 PM Changeset in webkit [149980] by andersca@apple.com
  • 169 edits in trunk/Source

Stop including UnusedParam.h
https://bugs.webkit.org/show_bug.cgi?id=116003

Reviewed by Sam Weinig.

UnusedParam.h is empty now so there's no need to include it anymore.

Source/JavaScriptCore:

  • API/APICast.h:
  • API/tests/JSNode.c:
  • API/tests/JSNodeList.c:
  • API/tests/minidom.c:
  • API/tests/testapi.c:
  • assembler/AbstractMacroAssembler.h:
  • assembler/MacroAssemblerCodeRef.h:
  • bytecode/CodeBlock.cpp:
  • heap/HandleStack.h:
  • interpreter/JSStackInlines.h:
  • jit/CompactJITCodeMap.h:
  • jit/ExecutableAllocator.h:
  • parser/SourceProvider.h:
  • runtime/DatePrototype.cpp:
  • runtime/JSNotAnObject.cpp:
  • runtime/JSSegmentedVariableObject.h:
  • runtime/JSVariableObject.h:
  • runtime/Options.cpp:
  • runtime/PropertyOffset.h:

Source/WebCore:

  • Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
  • Modules/indexeddb/IDBFactoryBackendImpl.cpp:
  • Modules/indexeddb/IDBObjectStore.cpp:
  • Modules/webdatabase/DatabaseServer.cpp:
  • Modules/webdatabase/DatabaseThread.cpp:
  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/objc/DOMObject.mm:
  • css/CSSCursorImageValue.cpp:
  • css/DeprecatedStyleBuilder.cpp:
  • dom/EventDispatcher.cpp:
  • dom/Node.cpp:
  • editing/AlternativeTextController.h:
  • editing/Editor.cpp:
  • html/HTMLPlugInElement.cpp:
  • html/canvas/CanvasRenderingContext2D.cpp:
  • html/canvas/OESVertexArrayObject.h:
  • html/parser/HTMLConstructionSite.cpp:
  • html/parser/HTMLTokenizer.cpp:
  • html/track/InbandTextTrack.cpp:
  • inspector/InspectorCanvasInstrumentation.h:
  • inspector/InspectorConsoleInstrumentation.h:
  • inspector/InspectorController.cpp:
  • inspector/InspectorCounters.h:
  • inspector/InspectorDatabaseInstrumentation.h:
  • inspector/InspectorInstrumentation.h:
  • loader/DocumentThreadableLoader.cpp:
  • loader/PingLoader.cpp:
  • loader/appcache/ApplicationCacheGroup.cpp:
  • loader/cache/CachedResourceLoader.cpp:
  • loader/mac/DocumentLoaderMac.cpp:
  • page/ChromeClient.h:
  • page/Console.cpp:
  • page/FrameView.cpp:
  • page/PageConsole.cpp:
  • page/animation/AnimationController.cpp:
  • page/animation/ImplicitAnimation.cpp:
  • page/animation/KeyframeAnimation.cpp:
  • platform/LocalizedStrings.cpp:
  • platform/ScrollAnimator.h:
  • platform/ThreadGlobalData.cpp:
  • platform/blackberry/AsyncFileSystemBlackBerry.cpp:
  • platform/graphics/Font.cpp:
  • platform/graphics/GlyphBuffer.h:
  • platform/graphics/Gradient.cpp:
  • platform/graphics/ShadowBlur.cpp:
  • platform/graphics/SimpleFontData.cpp:
  • platform/graphics/SimpleFontData.h:
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/blackberry/GradientBlackBerry.cpp:
  • platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:
  • platform/graphics/ca/mac/WebTileLayer.mm:
  • platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/cg/ImageBufferCG.cpp:
  • platform/graphics/cg/ImageSourceCG.cpp:
  • platform/graphics/clutter/PlatformClutterAnimation.cpp:
  • platform/graphics/filters/ValidatedCustomFilterOperation.cpp:
  • platform/graphics/gstreamer/GStreamerVersioning.cpp:
  • platform/graphics/mac/GraphicsContext3DMac.mm:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  • platform/graphics/mac/SimpleFontDataMac.mm:
  • platform/graphics/mac/WebGLLayer.mm:
  • platform/graphics/mac/WebLayer.mm:
  • platform/graphics/mac/WebTiledLayer.mm:
  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
  • platform/graphics/qt/GraphicsContext3DQt.cpp:
  • platform/graphics/texmap/TextureMapper.h:
  • platform/graphics/wince/ImageBufferWinCE.cpp:
  • platform/mac/PasteboardMac.mm:
  • platform/mac/ScrollAnimatorMac.mm:
  • platform/mac/ScrollViewMac.mm:
  • platform/mac/ScrollbarThemeMac.mm:
  • platform/mac/SharedTimerMac.mm:
  • platform/mac/WebCoreFullScreenPlaceholderView.mm:
  • platform/mac/WebCoreObjCExtras.mm:
  • platform/mac/WebFontCache.mm:
  • platform/mac/WebVideoFullscreenController.mm:
  • platform/mac/WebVideoFullscreenHUDWindowController.mm:
  • platform/mac/WebWindowAnimation.mm:
  • platform/network/blackberry/CredentialStorageBlackBerry.cpp:
  • platform/network/cf/ResourceErrorCF.cpp:
  • platform/network/mac/CookieStorageMac.mm:
  • platform/network/mac/ResourceHandleMac.mm:
  • platform/network/win/ResourceHandleWin.cpp:
  • platform/text/TextEncodingDetectorICU.cpp:
  • rendering/RenderFlowThread.h:
  • rendering/RenderImage.cpp:
  • rendering/RenderLayer.cpp:
  • rendering/RenderObject.cpp:
  • rendering/RenderTreeAsText.cpp:
  • rendering/svg/RenderSVGResourceClipper.cpp:
  • rendering/svg/RenderSVGResourceFilter.cpp:
  • rendering/svg/RenderSVGResourceGradient.cpp:
  • rendering/svg/RenderSVGResourceMasker.cpp:
  • rendering/svg/SVGRenderSupport.cpp:
  • rendering/svg/SVGTextLayoutEngineSpacing.cpp:
  • workers/WorkerContext.cpp:
  • workers/WorkerScriptLoader.cpp:
  • xml/XMLHttpRequest.cpp:
  • xml/parser/XMLDocumentParserLibxml2.cpp:

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
  • ewk/ewk_js.cpp:
  • ewk/ewk_security_origin.cpp:
  • ewk/ewk_view.cpp:
  • ewk/ewk_web_database.cpp:

Source/WebKit/gtk:

  • webkit/webkitapplicationcache.cpp:

Source/WebKit/mac:

  • Plugins/WebNetscapePluginEventHandlerCocoa.mm:
  • WebView/WebDashboardRegion.mm:
  • WebView/WebFullScreenController.mm:

Source/WebKit/win:

  • WebSecurityOrigin.cpp:

Source/WebKit2:

  • UIProcess/API/C/WKContext.cpp:
  • UIProcess/API/C/WKInspector.cpp:
  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/API/efl/ewk_text_checker.cpp:
  • UIProcess/API/efl/ewk_view.cpp:
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:
  • UIProcess/mac/WKFullScreenWindowController.mm:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  • WebProcess/ResourceCache/WebResourceCacheManager.cpp:

Source/WTF:

  • wtf/Atomics.h:
  • wtf/BoundsCheckedPointer.h:
  • wtf/DateMath.h:
  • wtf/FastMalloc.cpp:
  • wtf/NumberOfCores.cpp:
  • wtf/OSAllocator.h:
  • wtf/OSAllocatorPosix.cpp:
  • wtf/PageAllocation.h:
  • wtf/RefCounted.h:
  • wtf/TCSystemAlloc.cpp:
  • wtf/ThreadingPthreads.cpp:
  • wtf/Vector.h:
  • wtf/dtoa/cached-powers.cc:
  • wtf/dtoa/fixed-dtoa.cc:
8:51 PM Changeset in webkit [149979] by Darin Adler
  • 5 edits in trunk/Source/WebCore

[Mac] Move clearAllData from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116001

Reviewed by Andreas Kling.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::clearAllData): Added. Calls through to Pasteboard after
doing the canWriteData check, which is part of DOM rules, not the platform.

  • dom/Clipboard.h: Made clearAllData non-virtual in non-legacy case.
  • platform/mac/ClipboardMac.h: Removed clearAllData.
  • platform/mac/ClipboardMac.mm: Ditto.
7:56 PM Changeset in webkit [149978] by andersca@apple.com
  • 3 edits in trunk/Source/WTF

Move UNUSED_PARAM and UNUSED_LABEL macros to Compiler.h
https://bugs.webkit.org/show_bug.cgi?id=115997

Reviewed by Benjamin Poulain.

UnusedParam.h predates Compiler.h and the macros defined there should just go into Compiler.h

  • wtf/Compiler.h:

(unusedParam):

  • wtf/UnusedParam.h:
7:41 PM Changeset in webkit [149977] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Move clearData from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116000

Reviewed by Andreas Kling.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::clearData): Added. Calls through to Pasteboard after
doing the canWriteData check, which is part of DOM rules, not the platform.

  • dom/Clipboard.h: Made clearData non-virtual in non-legacy case.
  • platform/Pasteboard.h: Added an overload of the clear function that takes

a single type and clears only that type. Also temporarily exported the
cocoaTypeFromHTMLClipboardType function as a static member so it can be used
in both ClipboardMac and PasteboardMac during the transition.

  • platform/mac/ClipboardMac.h: Removed clearData.
  • platform/mac/ClipboardMac.mm: Removed clearData.

(WebCore::ClipboardMac::getData): Changed to call cocoaTypeFromHTMLClipboardType
as a Pasteboard class static member function.
(WebCore::ClipboardMac::setData): Ditto.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::cocoaTypeFromHTMLClipboardType): Moved here from
ClipboardMac.
(WebCore::Pasteboard::clear): Added. Moved here from ClipboardMac.

7:28 PM Changeset in webkit [149976] by Darin Adler
  • 7 edits in trunk/Source/WebCore

[Mac] Move hasData from ClipboardMac to PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=115999

Reviewed by Andreas Kling.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::hasData): Added. Calls through to Pasteboard.

  • dom/Clipboard.h: Added LEGACY_VIRTUAL and LEGACY_PURE macros,

only for within this header file. These help us keep many functions
as pure virtual in the legacy style Clipboard class, but have them
be non-virtual in the normal/future style. Use LEGACY_VIRTUAL and
LEGACY_PURE to make the hasData member non-virtual.

  • platform/Pasteboard.h: Added hasData, and added some blank lines and a FIXME.
  • platform/mac/ClipboardMac.h: Removed hasData override.
  • platform/mac/ClipboardMac.mm: Ditto.
  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::hasData): Added. Moved code here from ClipboardMac.

7:14 PM Changeset in webkit [149975] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

BUILD FIX (r149971): sudden termination is a Mac-only concept

  • WebCore.exp.in: Move sudden termination symbols to Mac-only

section.

7:00 PM Changeset in webkit [149974] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Node: Use FINAL instead of the non-virtual shadowing hack.
<http://webkit.org/b/115995>

Reviewed by Anders Carlsson.

Decorate Element/Attr implementations of prefix/localName/namespaceURI getters with FINAL
so that call sites with a more specific pointer type than Node* can avoid the virtual dispatch.

  • dom/Attr.h:
  • dom/Element.h:
  • dom/Node.cpp:
  • dom/Node.h:
6:31 PM Changeset in webkit [149973] by ryuan.choi@samsung.com
  • 3 edits in trunk/LayoutTests

REGRESSION (r149668): 4 reftest failures under fast/regions on GTK
https://bugs.webkit.org/show_bug.cgi?id=115783

Unreviewed rebaseline. They were fixed after r149802.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
6:25 PM Changeset in webkit [149972] by Darin Adler
  • 6 edits in trunk/Source/WebCore

[Mac] Give every Clipboard an underlying Pasteboard
https://bugs.webkit.org/show_bug.cgi?id=115979

Reviewed by Andreas Kling.

This is the first step in Clipboard and Pasteboard refactoring
to fix the overlap and many layering violations.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::Clipboard): Add an m_pasteboard data member,
Mac-only for now, but eventually for all platforms.
(WebCore::Clipboard::~Clipboard): No longer inline the destructor.

  • dom/Clipboard.h: Add WTF_USE_LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS

flag, currently true for all non-Mac platforms. Make the constructor
no longer inline. Added a PassOwnPtr<Pasteboard> argument to the
constructor and an OwnPtr<Pasteboard> data member.

  • platform/Pasteboard.h: Added a create function to make it easy

to create a pasteboard given a pasteboard name.

  • platform/mac/ClipboardMac.mm:

(WebCore::ClipboardMac::ClipboardMac): Create a pasteboard and pass
it to the Clipboard constructor.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::create): Added.

4:16 PM Changeset in webkit [149971] by akling@apple.com
  • 17 edits in trunk/Source

Unload event listeners should prevent Safari from insta-killing the web process on last tab close.
<http://webkit.org/b/115988>
<rdar://problem/13870943>

Reviewed by Anders Carlsson.

Source/WebCore:

Add two methods to Chrome (and ChromeClient):

  • enableSuddenTermination()
  • disableSuddenTermination()

..and call these from DOMWindow instead of the free global functions.

For WebKit1, it just calls the NSProcessInfo methods to keep behavior the same.
For WebKit2, the new methods plumb through the information to the UI process.

Also updated the DOMWindow logic to think in terms of per-DOMWindow sudden termination counters
instead of a process-global one, since that gets confusing in a WK2 world.
When a DOMWindow transitions between having/not having unload/beforeunload event listeners,
we send a notification to the Chrome.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • page/Chrome.h:

(WebCore::Chrome::enableSuddenTermination):
(WebCore::Chrome::disableSuddenTermination):

  • page/ChromeClient.h:

(WebCore::ChromeClient::enableSuddenTermination):
(WebCore::ChromeClient::disableSuddenTermination):

  • page/DOMWindow.cpp:

(WebCore::addUnloadEventListener):
(WebCore::removeUnloadEventListener):
(WebCore::removeAllUnloadEventListeners):
(WebCore::addBeforeUnloadEventListener):
(WebCore::removeBeforeUnloadEventListener):
(WebCore::removeAllBeforeUnloadEventListeners):
(WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
(WebCore::DOMWindow::enableSuddenTermination):
(WebCore::DOMWindow::disableSuddenTermination):

  • page/DOMWindow.h:

(DOMWindow):

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::enableSuddenTermination):
(WebChromeClient::disableSuddenTermination):

Source/WebKit2:

Let WebCore control the UI process's suppression of the sudden termination mechanism.
This is implemented by having WebChromeClient push Enable/DisableSuddenTermination messages
over to the UI process where the appropriate NSProcessInfo calls are made.

We also use this information when deciding whether to insta-kill a web process when its last
page is closed. This mechanism is re-usable in WebCore to protect against sudden termination
by the UI process.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::enableSuddenTermination):
(WebKit::WebProcessProxy::disableSuddenTermination):

  • UIProcess/WebProcessProxy.h:

(WebProcessProxy):

  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::enableSuddenTermination):
(WebKit::WebChromeClient::disableSuddenTermination):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

(WebChromeClient):

2:27 PM Changeset in webkit [149970] by andersca@apple.com
  • 12 edits
    1 delete in trunk/Source

Remove Complex.h from WTF
https://bugs.webkit.org/show_bug.cgi?id=115989

Reviewed by Beth Dakin.

Source/WebCore:

Replace Complex declarations with std::complex<double>. Pass by value since the struct
is small enough to go into two registers on X86-64.

  • Modules/webaudio/RealtimeAnalyser.cpp:

(WebCore::RealtimeAnalyser::doFFTAnalysis):
(WebCore::RealtimeAnalyser::getFloatFrequencyData):
(WebCore::RealtimeAnalyser::getByteFrequencyData):
(WebCore::RealtimeAnalyser::getByteTimeDomainData):

  • platform/audio/Biquad.cpp:

(WebCore::Biquad::setZeroPolePairs):
(WebCore::Biquad::setAllpassPole):
(WebCore::Biquad::getFrequencyResponse):

  • platform/audio/Biquad.h:
  • platform/audio/FFTFrame.cpp:

(WebCore::FFTFrame::interpolateFrequencyComponents):
(WebCore::FFTFrame::extractAverageGroupDelay):
(WebCore::FFTFrame::addConstantGroupDelay):

Source/WTF:

Complex.h contains a typedef and a single function (that already has an equivalent in the STL).
The header is used by three files in WebCore, so just use std::complex<double> and std::polar directly.

  • GNUmakefile.list.am:
  • WTF.vcproj/WTF.vcproj:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Complex.h: Removed.
11:46 AM Changeset in webkit [149969] by Simon Fraser
  • 5 edits
    2 adds in trunk

Dropdowns on http://www.exploratorium.edu don't show anything
https://bugs.webkit.org/show_bug.cgi?id=115991

Source/WebCore:

Reviewed by Dan Bernstein.

We can't optimize away the backing store of a layer by saying that
it paints into a composited ancestor if its composited bounds are not contained
by that ancestor.

Test: compositing/backing/no-backing-for-clip-overhang.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Pass in our
previously computed composited bounds relative to our composited ancestor,
and its composited bounds.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresOwnBackingStore): If the ancestor's
composited bounds don't contain the layer's composited bounds, the layer
needs its own backing store.

  • rendering/RenderLayerCompositor.h:

LayoutTests:

Reviewed by Dan Bernstein.

Layer tree dump test with an overflow:hidden that projects outside its
ancestor, and is forced to composite by a composited child.

  • compositing/backing/no-backing-for-clip-overhang-expected.txt: Added.
  • compositing/backing/no-backing-for-clip-overhang.html: Added.
11:22 AM Changeset in webkit [149968] by Martin Robinson
  • 7 edits
    8 adds in trunk

[GTK] Add a basic cmake build for WTF and JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=115967

Reviewed by Laszlo Gombos.

.:

  • CMakeLists.txt: Add GTK+ to the list of ports.
  • Source/CMakeLists.txt: We do not try to build WebCoreTestSupport when WebCore is disabled.
  • Source/cmake/FindGAIL3.cmake: Added.
  • Source/cmake/FindGDK3.cmake: Added.
  • Source/cmake/FindGStreamer.cmake: Use the passed in minimum version.
  • Source/cmake/FindGTK3.cmake: Added.
  • Source/cmake/FindXt.cmake: Added.
  • Source/cmake/OptionsEfl.cmake: Pass in the minimum version.
  • Source/cmake/OptionsGTK.cmake: Added.

Source/JavaScriptCore:

  • PlatformGTK.cmake: Added.
  • shell/PlatformGTK.cmake: Added.

Source/WTF:

  • wtf/PlatformGTK.cmake: Added.
11:12 AM Changeset in webkit [149967] by commit-queue@webkit.org
  • 103 edits in trunk

Unreviewed, rolling out r149955.
http://trac.webkit.org/changeset/149955
https://bugs.webkit.org/show_bug.cgi?id=115990

Broke lots of tests (Requested by smfr on #webkit).

Source/WebCore:

  • WebCore.exp.in:
  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.h:

(InlineTextBox):

  • rendering/RenderApplet.h:
  • rendering/RenderBR.h:
  • rendering/RenderBlock.h:

(RenderBlock):
(WebCore::RenderBlock::virtualContinuation):
(WebCore::RenderBlock::virtualChildren):
(WebCore::RenderBlock::isRenderBlock):
(WebCore::RenderBlock::isBlockFlow):
(WebCore::RenderBlock::isInlineBlockOrInlineTable):
(WebCore::RenderBlock::dirtyLinesFromChangedChild):
(WebCore::RenderBlock::collapsedMarginBefore):
(WebCore::RenderBlock::collapsedMarginAfter):

  • rendering/RenderBox.h:

(WebCore::RenderBox::borderBoundingBox):
(RenderBox):
(WebCore::RenderBox::marginLogicalLeft):
(WebCore::RenderBox::marginLogicalRight):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::isBoxModelObject):

  • rendering/RenderButton.h:
  • rendering/RenderCombineText.h:
  • rendering/RenderCounter.h:
  • rendering/RenderDeprecatedFlexibleBox.h:
  • rendering/RenderDetailsMarker.h:
  • rendering/RenderEmbeddedObject.h:

(RenderEmbeddedObject):
(WebCore::RenderEmbeddedObject::isEmbeddedObject):
(WebCore::RenderEmbeddedObject::virtualChildren):

  • rendering/RenderFieldset.h:
  • rendering/RenderFileUploadControl.h:
  • rendering/RenderFlexibleBox.h:
  • rendering/RenderFlowThread.h:
  • rendering/RenderFrame.h:
  • rendering/RenderFrameSet.h:
  • rendering/RenderFullScreen.cpp:
  • rendering/RenderFullScreen.h:
  • rendering/RenderGrid.h:
  • rendering/RenderHTMLCanvas.h:
  • rendering/RenderIFrame.h:
  • rendering/RenderImage.h:

(RenderImage):
(WebCore::RenderImage::isRenderImage):

  • rendering/RenderInline.h:

(RenderInline):
(WebCore::RenderInline::virtualContinuation):
(WebCore::RenderInline::virtualChildren):
(WebCore::RenderInline::isRenderInline):
(WebCore::RenderInline::layout):
(WebCore::RenderInline::requiresLayer):
(WebCore::RenderInline::offsetWidth):
(WebCore::RenderInline::offsetHeight):
(WebCore::RenderInline::borderBoundingBox):
(WebCore::RenderInline::dirtyLinesFromChangedChild):

  • rendering/RenderLayerModelObject.h:
  • rendering/RenderListBox.h:
  • rendering/RenderListItem.h:
  • rendering/RenderListMarker.h:
  • rendering/RenderMedia.h:

(WebCore::RenderMedia::virtualChildren):
(WebCore::RenderMedia::canHaveChildren):
(WebCore::RenderMedia::isMedia):
(WebCore::RenderMedia::isImage):
(WebCore::RenderMedia::requiresForcedStyleRecalcPropagation):

  • rendering/RenderMediaControlElements.h:
  • rendering/RenderMenuList.h:
  • rendering/RenderMeter.h:
  • rendering/RenderMultiColumnBlock.h:
  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderPart.h:

(RenderPart):
(WebCore::RenderPart::isRenderPart):
(WebCore::RenderPart::renderName):

  • rendering/RenderProgress.h:
  • rendering/RenderRegion.h:

(WebCore::RenderRegion::isRenderRegion):

  • rendering/RenderRegionSet.h:
  • rendering/RenderReplaced.h:

(RenderReplaced):
(WebCore::RenderReplaced::renderName):

  • rendering/RenderReplica.h:
  • rendering/RenderRuby.h:
  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.h:
  • rendering/RenderScrollbarPart.h:
  • rendering/RenderSearchField.h:
  • rendering/RenderSlider.h:
  • rendering/RenderSnapshottedPlugIn.h:

(RenderSnapshottedPlugIn):

  • rendering/RenderTable.h:

(RenderTable):
(WebCore::RenderTable::renderName):
(WebCore::RenderTable::isTable):
(WebCore::RenderTable::avoidsFloats):

  • rendering/RenderTableCaption.h:
  • rendering/RenderTableCell.h:
  • rendering/RenderTableCol.h:
  • rendering/RenderTableRow.h:
  • rendering/RenderTableSection.h:
  • rendering/RenderText.h:

(RenderText):
(WebCore::RenderText::marginLeft):
(WebCore::RenderText::marginRight):
(WebCore::RenderText::styleWillChange):
(WebCore::RenderText::length):
(WebCore::RenderText::paint):
(WebCore::RenderText::layout):

  • rendering/RenderTextControl.h:

(RenderTextControl):
(WebCore::RenderTextControl::renderName):
(WebCore::RenderTextControl::isTextControl):
(WebCore::RenderTextControl::avoidsFloats):

  • rendering/RenderTextControlMultiLine.h:
  • rendering/RenderTextControlSingleLine.h:

(RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::isTextField):

  • rendering/RenderTextFragment.h:
  • rendering/RenderTextTrackCue.h:
  • rendering/RenderVideo.h:
  • rendering/RenderView.h:
  • rendering/RenderWidget.h:

(RenderWidget):
(WebCore::RenderWidget::isWidget):

  • rendering/RenderWordBreak.h:
  • rendering/RootInlineBox.h:

(RootInlineBox):

  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/svg/RenderSVGBlock.h:

(RenderSVGBlock):

  • rendering/svg/RenderSVGContainer.h:

(WebCore::RenderSVGContainer::setNeedsBoundariesUpdate):
(WebCore::RenderSVGContainer::virtualChildren):
(WebCore::RenderSVGContainer::isSVGContainer):
(WebCore::RenderSVGContainer::renderName):
(RenderSVGContainer):
(WebCore::RenderSVGContainer::objectBoundingBox):
(WebCore::RenderSVGContainer::strokeBoundingBox):
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):

  • rendering/svg/RenderSVGEllipse.h:
  • rendering/svg/RenderSVGForeignObject.h:
  • rendering/svg/RenderSVGGradientStop.h:
  • rendering/svg/RenderSVGHiddenContainer.h:

(WebCore::RenderSVGHiddenContainer::renderName):
(RenderSVGHiddenContainer):
(WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):

  • rendering/svg/RenderSVGImage.h:
  • rendering/svg/RenderSVGInline.h:

(WebCore::RenderSVGInline::renderName):
(WebCore::RenderSVGInline::requiresLayer):
(WebCore::RenderSVGInline::isSVGInline):
(RenderSVGInline):

  • rendering/svg/RenderSVGInlineText.h:
  • rendering/svg/RenderSVGModelObject.h:

(WebCore::RenderSVGModelObject::requiresLayer):
(RenderSVGModelObject):

  • rendering/svg/RenderSVGPath.h:
  • rendering/svg/RenderSVGRect.h:
  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceContainer.h:

(RenderSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::isSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer):

  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/RenderSVGResourceFilterPrimitive.h:
  • rendering/svg/RenderSVGResourceGradient.h:

(RenderSVGResourceGradient):
(WebCore::RenderSVGResourceGradient::resourceBoundingBox):

  • rendering/svg/RenderSVGResourceLinearGradient.h:
  • rendering/svg/RenderSVGResourceMarker.h:
  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/RenderSVGResourceRadialGradient.h:
  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGShape.h:

(WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
(WebCore::RenderSVGShape::setNeedsTransformUpdate):
(WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
(WebCore::RenderSVGShape::localToParentTransform):
(WebCore::RenderSVGShape::localTransform):
(WebCore::RenderSVGShape::isSVGShape):
(RenderSVGShape):
(WebCore::RenderSVGShape::objectBoundingBox):
(WebCore::RenderSVGShape::strokeBoundingBox):

  • rendering/svg/RenderSVGTSpan.h:
  • rendering/svg/RenderSVGText.h:
  • rendering/svg/RenderSVGTextPath.h:
  • rendering/svg/RenderSVGTransformableContainer.h:
  • rendering/svg/RenderSVGViewportContainer.h:

Tools:

  • Scripts/webkitpy/port/mac.py:
10:58 AM Changeset in webkit [149966] by Martin Robinson
  • 4 edits in trunk

Move defines to platform

[GTK] Move defines that will never be configured to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=115965

Reviewed by Andreas Kling.

.:

  • Source/autotools/SetupAutoconfHeader.m4: Move some unchanging defines to Platform.h.

Source/WTF:

  • wtf/Platform.h: Add new defines that were previously in the autoconf header.
10:50 AM Changeset in webkit [149965] by andersca@apple.com
  • 7 edits in trunk/Source

Simplify AutodrainedPool
https://bugs.webkit.org/show_bug.cgi?id=115986

Reviewed by Andreas Kling.

Source/WebCore:

Remove calls to AutodrainedPool::cycle as well as the iteration counter passed to the constructor.
Instead, just declare RAII pools where it seems necessary.

  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::databaseThread):

  • fileapi/FileThread.cpp:

(WebCore::FileThread::runLoop):

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::setIconDataForIconURL):
(WebCore::IconDatabase::performURLImport):
(WebCore::IconDatabase::readFromDatabase):

Source/WTF:

Remove the ability to cycle an AutodrainedPool, as well as the iteration count.
Creating and draining pools is fast enough now that we don't need to try to be clever about it.

  • wtf/AutodrainedPool.h:

(AutodrainedPool):
(WTF::AutodrainedPool::AutodrainedPool):

  • wtf/AutodrainedPoolMac.mm:

(WTF::AutodrainedPool::AutodrainedPool):

10:47 AM Changeset in webkit [149964] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/13402976> Sandbox violations in com.nvidia.OpenGL on Lion.

Reviewed by Dan Bernstein.

  • WebProcess/com.apple.WebProcess.sb.in: Silence the violations (on Lion only).
9:45 AM Changeset in webkit [149963] by andersca@apple.com
  • 9 edits
    1 delete in trunk/Source/WTF

Move RemoteMemoryReader into FastMalloc.cpp
https://bugs.webkit.org/show_bug.cgi?id=115985

Reviewed by Andreas Kling.

RemoteMemoryReader is only used in FastMalloc.cpp, and even had one of its member functions
implemented there, so move the entire class template there and remove MallocZoneSupport.h.

  • GNUmakefile.list.am:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/FastMalloc.cpp:

(WTF):
(PageHeapAllocator):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/MallocZoneSupport.h: Removed.
9:37 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
9:33 AM Changeset in webkit [149962] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.0/Source

Merge r147640 - Fix the build with GCC 4.8
https://bugs.webkit.org/show_bug.cgi?id=113147

Reviewed by Allan Sandfeld Jensen.

Source/JavaScriptCore:

Initialize JSObject* exception to suppress warnings that make
the build fail because of -Werror=maybe-uninitialized.

  • runtime/Executable.cpp:

(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):

Source/WTF:

Disable diagnostic warning -Wunused-local-typedefs for GCC 4.8
since dummy typedefs are commonly used in the codebase.

  • wtf/Compiler.h:
8:26 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
8:22 AM Changeset in webkit [149961] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.0/Source/WTF

Merge r146993 - Support C++11 static_assert
https://bugs.webkit.org/show_bug.cgi?id=113308

Reviewed by Alexey Proskuryakov.

Use the C++11 static_assert for COMPILE_ASSERT when it is available. Note that
even when compiling with C++11 support, static_assert will not always be available
since Assertions.h may also be used outside of C++.

C11 _Static_assert is enabled for GCC when it has C11 support (gcc>=4.7 -std=c11).

  • wtf/Assertions.h:
  • wtf/Compiler.h:
8:12 AM Changeset in webkit [149960] by akling@apple.com
  • 184 edits in trunk/Source/WebCore

Apply FINAL to the Node hierarchy.
<http://webkit.org/b/115984>

Mostly from Blink r149454 by <cevans@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=149454>

A couple of the stable DOM/ microbenchmarks are perf positive on Linux clang:

  • CloneNodes time reduced from 162.4 to 156.5 ms.
  • CreateNodes time reduced from 113.9 to 104.9 ms.
  • dom/: Beat things with the FINAL stick.
  • html/: Ditto.
  • svg/: Ditto.
7:23 AM Changeset in webkit [149959] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Devirtualize some things on Document.

From Blink r149967 by <esprehn@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=149967>

Several methods on Document are virtual but don't override a super class method
and don't need to be virtual. This patch devirtualizes:

  • createElementNS()
  • finishedParsing()
  • suspendScriptedAnimationControllerCallbacks()
  • resumeScriptedAnimationControllerCallbacks()

It also removes the suspend and resume callbacks from ScriptExecutionContext
since they didn't need to be there.

  • dom/Document.h:
  • dom/ScriptExecutionContext.h:
7:11 AM Changeset in webkit [149958] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WTF

Merge r145701 - Support C++11 features in GCC <4.6
https://bugs.webkit.org/show_bug.cgi?id=111553

Reviewed by Simon Hausmann.

Enable support for rvalue references from gcc 4.3, deleted functions
from gcc 4.4, explicit conversion from gcc 4.5, and strongly typed
enums from gcc 4.6.

  • wtf/Compiler.h:
7:05 AM Changeset in webkit [149957] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Remove redundant call to removeAllEventListeners() in Document::open().

From Blink r150175 by <dcheng@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=150175>

Document::open() already calls Document::removeAllEventListeners(), which
removes the event listeners from the DOMWindow it's attached to, so
there's no need to do it manually here as well.

  • dom/Document.cpp:

(WebCore::Document::open):

6:57 AM Changeset in webkit [149956] by akling@apple.com
  • 2 edits in trunk/LayoutTests

Rebaseline fast/js/global-constructors-attributes.html for mac-lion after r149920.

  • platform/mac-lion/fast/js/global-constructors-attributes-expected.txt:
6:38 AM Changeset in webkit [149955] by akling@apple.com
  • 102 edits in trunk

Apply FINAL to the RenderObject hierarchy.
<http://webkit.org/b/115977>

Mostly from Blink r148795 by <cevans@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=148795>

  • rendering/: Beat things with the FINAL stick.
  • WebCore.exp.in: Export a now-needed symbol.
4:23 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
4:19 AM Changeset in webkit [149954] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Tools

Merge r145881 - Build fix for Tools/GtkLauncher/Programs_GtkLauncher-main.o if gstreamer is not installed
https://bugs.webkit.org/show_bug.cgi?id=112394

Patch by Tobias Mueller <tobiasmue@gnome.org> on 2013-03-15
Reviewed by Philippe Normand.

  • GtkLauncher/main.c:

(main): Guard using the gstreamer function with #ifdef WTF_USE_GSTREAMER

4:19 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
4:15 AM Changeset in webkit [149953] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.0

Merge r148860 - [WebKit2] Plugins without a MIME Type fail to load
https://bugs.webkit.org/show_bug.cgi?id=112834

Reviewed by Benjamin Poulain.

Source/WebKit2:

The problem is that when the plugin is created and the MIME Type
is empty, since the MIME Type guessed in the UI process using the
plugin extension is not passed to the WebProcess, when the plugin
is instantiated, the value of NPMIMEType parameter passed to
NPP_New is NULL, and NPERR_INVALID_INSTANCE_ERROR is returned.
GetPluginPath message has been renamed to FindPlugin, since it
doesn't only return the path but also the new MIME Type and load
policy.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::findPlugin): Receive an output newMIMEType
parameter that is passed to PluginModuleInfo::findPlugin() so that
in case of guessing the MIME Type, the new one is passed back to
the WebProcess.

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::createPlugin): Pass the MIME Type
from the parameters to WebPage::createPlugin.
(WebKit::WebFrameLoaderClient::recreatePlugin): Pass a newMIMEType
parameter to WebPage::createPlugin.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin): Add newMIMEType out parameter and
pass it to the FindPlugin message.
(WebKit::WebPage::canPluginHandleResponse): Pass newMIMEType to
FindPlugin message.

  • WebProcess/WebPage/WebPage.h:

(WebPage):

LayoutTests:

  • platform/wk2/TestExpectations: Unskip

plugins/no-mime-with-valid-extension.html.

2:25 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
Only bug fixes in the stable branch (diff)
2:05 AM Changeset in webkit [149952] by Carlos Garcia Campos
  • 44 edits in trunk

[GTK] Remove unnecessary GTK_CHECK_VERSION #ifdefs
https://bugs.webkit.org/show_bug.cgi?id=115914

Reviewed by Martin Robinson.

Source/WebCore:

  • platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:

(WebCore::FullscreenVideoControllerGtk::hideHud):
(WebCore::FullscreenVideoControllerGtk::initializeWindow):

  • platform/gtk/GtkVersioning.c:
  • platform/gtk/GtkVersioning.h:
  • platform/gtk/WidgetRenderingContext.cpp:

(WebCore::WidgetRenderingContext::WidgetRenderingContext):

  • plugins/gtk/gtk2xtbin.c:

(gtk_xtbin_realize):

Source/WebKit/gtk:

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::contentsSizeChanged):

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::transitionToCommittedForNewPage):

  • tests/testapplicationcache.c:
  • tests/testatk.c:
  • tests/testatkroles.c:

(main):

  • tests/testcontextmenu.c:
  • tests/testcopyandpaste.c:

(main):

  • tests/testdomdocument.c:
  • tests/testdomdomwindow.c:
  • tests/testdomnode.c:
  • tests/testdownload.c:

(main):

  • tests/testfavicondatabase.c:

(main):

  • tests/testglobals.c:
  • tests/testhittestresult.c:
  • tests/testhttpbackend.c:

(main):

  • tests/testkeyevents.c:

(main):

  • tests/testloading.c:
  • tests/testmimehandling.c:

(main):

  • tests/testnetworkrequest.c:

(main):

  • tests/testnetworkresponse.c:

(main):

  • tests/testwebbackforwardlist.c:

(main):

  • tests/testwebdatasource.c:

(main):

  • tests/testwebframe.c:

(main):

  • tests/testwebhistoryitem.c:

(main):

  • tests/testwebinspector.c:

(main):

  • tests/testwebplugindatabase.c:

(main):

  • tests/testwebresource.c:

(main):

  • tests/testwebsettings.c:

(main):

  • tests/testwebview.c:
  • tests/testwindow.c:

(main):

  • webkit/webkitwebview.cpp:

(webkit_web_view_realize):
(webkit_web_view_show_help):
(webkit_web_view_class_init):
(webkit_web_view_set_tooltip_text):

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize):

Tools:

  • GtkLauncher/main.c:

(createToolbar):

  • MiniBrowser/gtk/BrowserWindow.c:

(_BrowserWindow):
(browserWindowSetStatusText):
(fullScreenMessageTimeoutCallback):
(webViewEnterFullScreen):
(webViewLeaveFullScreen):
(browserWindowFinalize):
(browserWindowConstructed):

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::continuousMouseScrollBy):

May 11, 2013:

11:15 PM Changeset in webkit [149951] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Windows] Unreviewed build fix after r149932

Patch by Brent Fulgham <Brent Fulgham> on 2013-05-11

  • make-export-file-generator: Don't attempt to import

(or use) non-existent cxxabi functions on Windows.

10:39 PM Changeset in webkit [149950] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Add more info to compositing log channel output
https://bugs.webkit.org/show_bug.cgi?id=115978

Reviewed by Dean Jackson.

Add to compositing log channel output whether a layer paints
into its compositing ancestor.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::logLayerInfo):

9:54 PM Changeset in webkit [149949] by Simon Fraser
  • 4 edits
    4 adds in trunk

REGRESSION: Fixed background on ColterReed.com scrolls
https://bugs.webkit.org/show_bug.cgi?id=115951

Source/WebCore:

Reviewed by Beth Dakin.

The logic for painting the fixed root background into its own layer was
broken when the document element's layer was composited. This could be caused
by a negative z-index child of the body, or by an explicit compositing-causing
style on the <html>.

There were two issues. First, when painting the layer for the fixed root
background, we would simply short-circuit the fixed background paint in
RenderLayer::paintLayer(), when checking for a composited layer. We have
to continue to paint through the composited <html> layer to get the root
background in this case.

Secondly, RenderLayerBacking::paintIntoLayer() would only set the PaintLayerPaintingSkipRootBackground
flag if this RenderLayerBacking had a m_backgroundLayer. However, when the <html> is
composited, we need to skip painting the root layer for both the RenderView's backing,
and for the <html>'s backing. Checking whether there is *any* layer that paints
the fixed root background (i.e. checking compositor()->fixedRootBackgroundLayer())
is a simple way to fix this test.

Tests: platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html.html

platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed.html

  • rendering/RenderLayer.cpp:

(WebCore::paintForFixedRootBackground):
(WebCore::RenderLayer::paintLayer):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer):

LayoutTests:

Reviewed by Beth Dakin.

Tests with a fixed background and two different ways of making the <html> composited.

  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html-expected.html: Added.
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-composited-html.html: Added.
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed-expected.html: Added.
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-negative-z-index-fixed.html: Added.
9:28 PM Changeset in webkit [149948] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Possible crash when going Back while loading PDF
https://bugs.webkit.org/show_bug.cgi?id=115972

Reviewed by Dan Bernstein.

It's possible for m_frame to be null when Document::findUnsafeParentScrollPropagationBoundary()
is called, so null-check currentFrame.

  • dom/Document.cpp:

(WebCore::Document::findUnsafeParentScrollPropagationBoundary):

5:53 PM Changeset in webkit [149947] by ap@apple.com
  • 3 edits in trunk/Source/WebCore

<rdar://problem/13823864> TextCodecICU complains about ambiguous codec names with current ICU release
https://bugs.webkit.org/show_bug.cgi?id=115953

Reviewed by Darin Adler.

Store and use canonical converter name to create converters.

As a side effect, we now actually reuse cached converters - previously we would compare
a standard encoding name to internal canonical one, which rarely match.

  • platform/text/TextCodecICU.h:
  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::create): Pass canonical ICU converter name to constructor. (WebCore::TextCodecICU::registerEncodingNames):
    • Updated terminology.
    • Added a comment that special cases should be kept in sync between registerEncodingNames and registerCodecs.
    • Moved maccyrillic alias to a correct section. It's not present in ICU even today.
    • Changed a few aliases to actually map to standard name, not to an overridden one (this doesn't change behavior since addToTextEncodingNameMap looks up canonical name, but is clearer).

(WebCore::TextCodecICU::registerCodecs): Store a converter name to use with each
canonical encoding name.
(WebCore::TextCodecICU::TextCodecICU): Ditto.
(WebCore::TextCodecICU::releaseICUConverter): Reset the converter to remove any
leftover data.
(WebCore::TextCodecICU::createICUConverter):

  • Compare converter name to converter name, not to another alias name.
  • Use proper string comparison instead of pointer comparison.
  • When creating a converter, assert that the name is not ambigous - canonical converter names should never be, otherwise there would be no way to create the converter without ambiguity.
5:26 PM Changeset in webkit [149946] by mhahnenberg@apple.com
  • 6 edits
    2 adds
    2 deletes in branches/dfgFourthTier/Source/JavaScriptCore

Rename StructureCheckHoistingPhase to TypeCheckHoistingPhase
https://bugs.webkit.org/show_bug.cgi?id=115938

We're going to add some more types of check hoisting soon, so let's have
the right name here.

Rubber stamped by Filip Pizlo.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGStructureCheckHoistingPhase.cpp: Removed.
  • dfg/DFGStructureCheckHoistingPhase.h: Removed.
  • dfg/DFGTypeCheckHoistingPhase.cpp: Added.

(DFG):
(TypeCheckHoistingPhase):
(JSC::DFG::TypeCheckHoistingPhase::TypeCheckHoistingPhase):
(JSC::DFG::TypeCheckHoistingPhase::run):
(JSC::DFG::TypeCheckHoistingPhase::shouldConsiderForHoisting):
(JSC::DFG::TypeCheckHoistingPhase::noticeStructureCheck):
(CheckData):
(JSC::DFG::TypeCheckHoistingPhase::CheckData::CheckData):
(JSC::DFG::performTypeCheckHoisting):

  • dfg/DFGTypeCheckHoistingPhase.h: Added.
4:42 PM Changeset in webkit [149945] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix after r149944.

  • Platform/CoreIPC/ArgumentEncoder.cpp: Include <sys/mman.h> for mmap(2).
4:28 PM Changeset in webkit [149944] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Don't pass malloced pointers as out-of-line data when sending Mach messages
https://bugs.webkit.org/show_bug.cgi?id=115970
<rdar://problem/13144680>

Reviewed by Sam Weinig.

Give ArgumentEncoder an inline buffer of 512 bytes. If we need more than that, use mmap to allocate data
since that gives us fresh zero-filled memory that we can safely share.

  • Platform/CoreIPC/ArgumentEncoder.cpp:

(CoreIPC::ArgumentEncoder::ArgumentEncoder):
Set up the buffer pointers to point to the inline buffer.

(CoreIPC::ArgumentEncoder::~ArgumentEncoder):
Unmap the buffer if necessary.

(CoreIPC::ArgumentEncoder::grow):
Grow the allocation exponentially, rounded up to the nearest page. This is a simplification from the
current strategy, but most messages are either tiny in which case they will fit inside the inline buffer,
or big in which case we'll end up doing less allocations + memory copying.

  • Platform/CoreIPC/ArgumentEncoder.h:

(ArgumentEncoder):

4:26 PM Changeset in webkit [149943] by mhahnenberg@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

SpeculativeJIT::checkArray should use the correct ExitKind
https://bugs.webkit.org/show_bug.cgi?id=115943

Currently it uses Uncountable, which gives us no information if we end up exiting due to a
mismatched ClassInfo pointer. It should instead use BadType and should pass the correct
JSValueSource and Node instead of passing empty values.

Reviewed by Filip Pizlo.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::checkArray):

2:42 PM Changeset in webkit [149942] by Antoine Quint
  • 3 edits in trunk/Source/WebCore

[Mac] The captions menu should not use a canned max-width and max-height
https://bugs.webkit.org/show_bug.cgi?id=115968

Reviewed by Eric Carlson.

Use more real estate to display the captions menu should the caption names
be long.

  • css/mediaControlsQuickTime.css:

(video::-webkit-media-controls-closed-captions-container):
(video::-webkit-media-controls-closed-captions-track-list):
Make the captions menu scale to a max-width and max-height to allow 4px
above and below the menu, except on the right where it always aligns with
the captions icon in the media controller.

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::createControls):
Move the captions menu element to be a child of the controls instead of
the panel such that it may scale relative to the controls when using %
CSS values.

2:07 PM Changeset in webkit [149941] by fpizlo@apple.com
  • 5 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: FTL should support Jump and ForceOSRExit
https://bugs.webkit.org/show_bug.cgi?id=115942

Reviewed by Oliver Hunt.

Added two obvious nodes: Jump and ForceOSRExit. We already had everything we needed
to support them.

Adding these increases our coverage a fair bit, and revealed a bug: LLVM's full
instruction selector currently appears to mishandle doubles in constant pools (or
just constant pools in general) with the small code model in the MCJIT. But switching
to FastISel "fixes" it. That's what this patch does, for now. This will probably
actually be permanent; the FastISel does pretty much everything we would ever want,
at least in the foreseeable future.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):
(FTL):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileBlock):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileJSConstant):
(LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::compileJump):
(JSC::FTL::LowerDFGToLLVM::compileReturn):
(JSC::FTL::LowerDFGToLLVM::compileForceOSRExit):

  • runtime/Options.h:

(JSC):

1:57 PM Changeset in webkit [149940] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix after r149904.

  • GNUmakefile.list.am: Adding missing build targets.
1:08 PM Changeset in webkit [149939] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Bogus -webkit-columns value in fast/text/international/spaces-combined-in-vertical-text.html
https://bugs.webkit.org/show_bug.cgi?id=115164

Patch by Xan Lopez <xlopez@igalia.com> on 2013-05-11
Reviewed by Rob Buis.

Remove bogus -webkit-columns property.

  • fast/text/international/spaces-combined-in-vertical-text.html:
1:07 PM Changeset in webkit [149938] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed, Fix WK2 EFL build after r149904.

Add new PluginInformation.cpp file to CMake.

  • CMakeLists.txt:
12:47 PM Changeset in webkit [149937] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed, fix WK2 EFL build after r149904.

Add new WKPluginInformation.cpp file to CMake.

  • CMakeLists.txt:
12:09 PM Changeset in webkit [149936] by jochen@chromium.org
  • 5 edits
    2 adds in trunk

Disallow a window to focus itself via javascript URLs or using target _self
https://bugs.webkit.org/show_bug.cgi?id=115906

Reviewed by Geoffrey Garen.

Source/WebCore:

Test: fast/dom/Window/window-focus-self.html

  • loader/FrameLoader.cpp:

(WebCore::createWindow):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::focus):

LayoutTests:

  • fast/dom/Window/window-focus-self-expected.txt: Added.
  • fast/dom/Window/window-focus-self.html: Added.
  • platform/wk2/TestExpectations: test uses unimplemented setWindowIsKey.
12:07 PM Changeset in webkit [149935] by Christophe Dumez
  • 58 edits in trunk/Source/WebCore

Fix several style warnings in generated bindings
https://bugs.webkit.org/show_bug.cgi?id=115961

Reviewed by Kentaro Hara.

Fix several style errors in the bindings generated under
Source/WebCore/bindings/scripts/test/

No new tests, no behavior change.

  • bindings/scripts/CodeGeneratorCPP.pm:

(GenerateImplementation):
(WriteData):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):
(WriteData):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateHeader):

  • bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
  • bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp:
  • bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
  • bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp:
  • bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp:
  • bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp:
  • bindings/scripts/test/CPP/WebDOMTestException.cpp:
  • bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
  • bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp:
  • bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp:
  • bindings/scripts/test/CPP/WebDOMTestNode.cpp:
  • bindings/scripts/test/CPP/WebDOMTestObj.cpp:
  • bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp:
  • bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:

(WebCore::JSTestActiveDOMObject::releaseImplIfNotNull):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:

(WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestEventConstructor.h:

(WebCore::JSTestEventConstructor::releaseImplIfNotNull):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestEventTarget.h:

(WebCore::JSTestEventTarget::releaseImplIfNotNull):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestException.h:

(WebCore::JSTestException::releaseImplIfNotNull):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestInterface.h:

(WebCore::JSTestInterface::releaseImplIfNotNull):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:

(WebCore::JSTestMediaQueryListListener::releaseImplIfNotNull):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestNamedConstructor.h:

(WebCore::JSTestNamedConstructor::releaseImplIfNotNull):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestObj.h:

(WebCore::JSTestObj::releaseImplIfNotNull):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:

(WebCore::JSTestOverloadedConstructors::releaseImplIfNotNull):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:

(WebCore::JSTestSerializedScriptValueInterface::releaseImplIfNotNull):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestTypedefs.h:

(WebCore::JSTestTypedefs::releaseImplIfNotNull):

  • bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestNodeInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestObjInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:

(WebCore):

11:53 AM Changeset in webkit [149934] by akling@apple.com
  • 3 edits in trunk/Source/WebKit2

When possible, terminate web processes immediately when closing their last page.
<http://webkit.org/b/115964>
<rdar://problem/13869266>

Reviewed by Geoffrey Garen.

When we're using a network process, there's no need for the UI process to wait for web processes
to clear resource caches and terminate nicely.

We can just kill them off right away in WebProcessProxy::removeWebPage() when the last page is closed.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::removeWebPage):

Terminate the child process immediately if possible.

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::canTerminateChildProcess):
(WebKit::WebProcessProxy::shouldTerminate):

Broke out the logic from the shouldTerminate() IPC message handler into a separate function
so we can call it from removeWebPage().

11:00 AM Changeset in webkit [149933] by andersca@apple.com
  • 8 edits
    1 add in trunk

Crash when terminating a process that has not been fully launched
https://bugs.webkit.org/show_bug.cgi?id=115962
<rdar://problem/13660916>

Reviewed by Andreas Kling.

Source/WebKit2:

Handle terminating a process that has not been fully launched.

  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::ProcessLauncher::didFinishLaunchingProcess):
If we have been invalidated, dispose the connection identifier.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::terminateProcess):
If we're still launching the process, invalidate so the client won't get an unexpected
didFinishLaunching callback.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::requestTermination):
Check if webConnection() is null before calling it. (It will be null if the process isn't fully launched).

Tools:

Add TerminateTwice, a test that terminates a page, then reloads it and terminates it again
before the process has had a chance to be fully launched.

  • TestWebKitAPI/GNUmakefile.am:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp: Added.

(TestWebKitAPI):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/WebKit2.pro:
9:09 AM Changeset in webkit [149932] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Make it a build error to put invalid C++ symbol names in WebCore.exp.in
https://bugs.webkit.org/show_bug.cgi?id=115958

Reviewed by Andreas Kling.

While invalid C++ symbols will eventually show up as a link error since the symbol won't be found,
this makes it easier to catch invalid symbols inside of #ifdefs.

  • make-export-file-generator:

Try to demangle C++ symbols before printing them.

7:09 AM Changeset in webkit [149931] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

BUILD FIX (r149718): Move exported symbol into ENABLE(FULLSCREEN_API) section

Fixes the following build failure when ENABLE(FULLSCREEN_API) is
off:

Undefined symbols for architecture i386:

"ZNK7WebCore7Element25containsFullScreenElementEv", referenced from:

-exported_symbol[s_list] command line option

  • WebCore.exp.in: Move the symbol.
5:14 AM Changeset in webkit [149930] by robert@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, remove some lint accidentally left in r149929.

  • rendering/InlineFlowBox.cpp:

(WebCore::verticalAlignApplies):

5:08 AM Changeset in webkit [149929] by robert@webkit.org
  • 5 edits
    2 adds in trunk

Text flow broken in elements with vertical align top/bottom and inline elements taller than line-height
https://bugs.webkit.org/show_bug.cgi?id=111974

Source/WebCore:

Reviewed by Ryosuke Niwa.

Per http://www.w3.org/TR/CSS2/visudet.html#propdef-vertical-align 'vertical-align' only applies to inline and table-cell
elements.

Test: fast/css/vertical-align-block-elements.html

  • rendering/InlineFlowBox.cpp:

(WebCore::isTextInBlockElement):
(WebCore):
(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):

LayoutTests:

Reviewed by Ryosuke Niwa.

  • editing/execCommand/query-command-state-expected.txt:
  • editing/execCommand/script-tests/query-command-state.js: Remove invalid tests, vertical-align does not apply to div elements.

(runTests):

  • fast/css/vertical-align-block-elements-expected.html: Added.
  • fast/css/vertical-align-block-elements.html: Added.
1:36 AM Changeset in webkit [149928] by benjamin@webkit.org
  • 7 edits in trunk/Source/WebCore

Make CanvasStyle a plain object instead of an RefCounted object
https://bugs.webkit.org/show_bug.cgi?id=115775

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-11
Reviewed by Andreas Kling.

CanvasStyle is just 2 words wide. We do not gain anything from allocating
it on the heap. Change the object to be just a type and some data.

  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:

(WebCore::toJS):
(WebCore::toHTMLCanvasStyle):

  • html/HTMLCanvasElement.cpp:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::setStrokeStyle):
(WebCore::CanvasRenderingContext2D::setFillStyle):
(WebCore::CanvasRenderingContext2D::setStrokeColor):
(WebCore::CanvasRenderingContext2D::setFillColor):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • html/canvas/CanvasRenderingContext2D.h:

(WebCore::CanvasRenderingContext2D::strokeStyle):
(CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::fillStyle):
(State):

  • html/canvas/CanvasStyle.cpp:

(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::createFromString):
(WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
(WebCore::CanvasStyle::isEquivalentColor):
(WebCore):
(WebCore::CanvasStyle::operator=):
(WebCore::CanvasStyle::applyStrokeColor):
(WebCore::CanvasStyle::applyFillColor):

  • html/canvas/CanvasStyle.h:

(CanvasStyle):
(WebCore::CanvasStyle::isValid):
(WebCore::CanvasStyle::CanvasStyle):
(WebCore):
(WebCore::CanvasStyle::operator=):

12:56 AM Changeset in webkit [149927] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Gradient::platformGradient: Vector reserveCapacity -> reserveInitialCapacity
https://bugs.webkit.org/show_bug.cgi?id=115779

Reviewed by Andreas Kling.

  • platform/graphics/cg/GradientCG.cpp:

(WebCore::Gradient::platformGradient): Clang is surprisingly smart at removing
all the branches of this function. Remove two more with reserveInitialCapacity.

12:47 AM Changeset in webkit [149926] by benjamin@webkit.org
  • 2 edits in trunk/Websites/planet.webkit.org

Remove irrelevant blogs from Planet WebKit
https://bugs.webkit.org/show_bug.cgi?id=115620

Reviewed by Ryosuke Niwa.

  • config.ini:
Note: See TracTimeline for information about the timeline view.