Timeline
Dec 27, 2016:
- 6:48 PM Changeset in webkit [210181] by
-
- 19 edits in trunk/Source/WebKit2
reduce PassRefPtr use in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=166452
Patch by Alex Christensen <achristensen@webkit.org> on 2016-12-27
Reviewed by Yusuke Suzuki.
- Shared/API/c/cg/WKImageCG.cpp:
(WKImageCreateCGImage):
(WKImageCreateFromCGImage):
- Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::createHandle):
- Shared/ShareableBitmap.h:
- Shared/UserData.cpp:
(WebKit::UserData::encode):
(WebKit::UserData::decode):
- Shared/WebImage.cpp:
(WebKit::WebImage::create):
(WebKit::WebImage::WebImage):
- Shared/WebImage.h:
(WebKit::WebImage::bitmap):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didGetImageForFindMatch):
- UIProcess/mac/WKTextFinderClient.mm:
(-[WKTextFinderClient didGetImageForMatchResult:]):
- WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::takeScreenshot):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
(-[WKWebProcessPlugInNodeHandle renderedImageWithOptions:]):
- WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::imageForRect):
(WebKit::InjectedBundleNodeHandle::renderedImage):
(WebKit::InjectedBundleNodeHandle::visibleRange):
(WebKit::InjectedBundleNodeHandle::htmlTableCellElementCellAbove):
(WebKit::InjectedBundleNodeHandle::documentFrame):
(WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
(WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
- WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
- WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::renderedImage):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::takeSnapshot):
(WebKit::WebPage::snapshotAtSize):
(WebKit::WebPage::snapshotNode):
(WebKit::WebPage::drawRectToImage):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::setTopOverhangImage):
(WebKit::WebPage::setBottomOverhangImage):
- 9:57 AM Changeset in webkit [210180] by
-
- 2 edits in trunk/Source/WebKit2
Ensure NetworkProcess is ready before whitelisting TLS certificates
https://bugs.webkit.org/show_bug.cgi?id=162962
Patch by Emanuele Aina <Emanuele Aina> on 2016-12-27
Reviewed by Alex Christensen.
If the API user tries to whitelist TLS certificates before any web
view has been created, the action will be ignored because the
NetworkProcess hasn't been fired up yet.
For example, the snippet below using the GTK+ API does not work,
unless the whitelisting is moved after the web view creation:
webkit_web_context_allow_tls_certificate_for_host(webkit_web_context_get_default(), crt, host);
webView = webkit_web_view_new();
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::allowSpecificHTTPSCertificateForHost): Ensure
that the NetworkProcess has been already fired up when adding
certificates, so they can be whitelisted before the first web view is
instantiated.
- 9:57 AM WebKitGTK/2.14.x edited by
- Propose r210180 (diff)
- 9:12 AM Changeset in webkit [210179] by
-
- 4 edits in releases/WebKitGTK/webkit-2.14
Merge r210168 - [GTK] Improve user agent construction
https://bugs.webkit.org/show_bug.cgi?id=142074
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Use the macOS rather than the Chrome quirk for Google domains, to avoid problems with
Google Calendar and Google Maps.
- platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresChromeBrowser):
(WebCore::urlRequiresMacintoshPlatform):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
- 9:11 AM WebKitGTK/2.14.x edited by
- (diff)
- 9:03 AM Changeset in webkit [210178] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r209534 - [GTK] Process accelerated compositing env variables only if they are really enabled
https://bugs.webkit.org/show_bug.cgi?id=165300
Don't process the WEBKIT_FORCE_COMPOSITING_MODE and
WEBKIT_DISABLE_COMPOSITING_MODE env variables if they are disabled
(eg. WEBKIT_DISABLE_COMPOSITING_MODE=0).
Reviewed by Michael Catanzaro.
- UIProcess/gtk/WebPreferencesGtk.cpp:
(WebKit::WebPreferences::platformInitializeStore):
- 9:02 AM Changeset in webkit [210177] by
-
- 7 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r209064 - [GTK] Crash in WebCore::PlatformDisplayX11::supportsXComposite when running under Wayland
https://bugs.webkit.org/show_bug.cgi?id=164917
Reviewed by Michael Catanzaro.
WebKitGTK+ appplications are expected to call gtk_init(), because WebKitGTK+, like GTK+ itself, requires a
display to work. We currently fallback to create a X11 display when X11 is enabled in cases where GTK+ doesn't
have a default display (gtk_init() wasn't called or failed). That's why we end up creating an X11 display under
Wayland when both Wayland and X11 option are enabled. The code assumes X11 display creation will always work if
X11 is enabled, but that's not true now that we support also Wayland at runtime. So, we should try to get a
native display before creating the PlatformDisplay. Rendering will not work in any case when gtk_init() is not
called, but in most of the cases those applications are not actually going to render anything, so this way at
least we will not crash.
- platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::createPlatformDisplay): Use create() method for X11 and Wayland if we couldn't get a
native display from GTK+. If everything fails create a display with no native.
(WebCore::PlatformDisplay::PlatformDisplay): Add NativeDisplayOwned parameter.
- platform/graphics/PlatformDisplay.h:
- platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::create): Try to create a native Wayland display or return nullptr.
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland): Initialize NativeDisplayOwned parameter.
(WebCore::PlatformDisplayWayland::~PlatformDisplayWayland): Destroy the display if owned.
(WebCore::PlatformDisplayWayland::initialize): Return early if native display is nullptr.
- platform/graphics/wayland/PlatformDisplayWayland.h:
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::create): Try to create a native X11 display or return nullptr.
(WebCore::PlatformDisplayX11::PlatformDisplayX11): Use NativeDisplayOwned now.
(WebCore::PlatformDisplayX11::~PlatformDisplayX11): Ditto.
- platform/graphics/x11/PlatformDisplayX11.h:
- 9:02 AM Changeset in webkit [210176] by
-
- 5 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205852 - [GTK] Crash of WebProcess on the last WebView disconnect (take two)
https://bugs.webkit.org/show_bug.cgi?id=161842
Reviewed by Michael Catanzaro.
The problem is that when PlatformDisplayX11 is destroyed, the sharing GL context is deleted and its destructor
makes a downcast of PlatformDisplay to get the native X11 display. We could simply keep a pointer to the native
X11 display in GLContextGLX, got at construction time from the PlatformDisplay, and ensure the sharing GL
context is deleted before the native X11 display is closed.
- platform/graphics/PlatformDisplay.h: Make m_sharingGLContext protected.
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::GLContextGLX): Initialize m_x11Display.
(WebCore::GLContextGLX::~GLContextGLX): Use m_x11Display and remove confusing comment about possible crash with
nviedia closed drivers.
(WebCore::GLContextGLX::defaultFrameBufferSize): Use m_x11Display.
(WebCore::GLContextGLX::makeContextCurrent): Ditto.
(WebCore::GLContextGLX::swapBuffers): Ditto.
(WebCore::GLContextGLX::swapInterval): Ditto.
(WebCore::GLContextGLX::cairoDevice): Ditto.
- platform/graphics/glx/GLContextGLX.h:
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::~PlatformDisplayX11): Delete the sharing GL context before closing the display.
- 9:00 AM WebKitGTK/2.14.x edited by
- (diff)
- 8:44 AM Changeset in webkit [210175] by
-
- 3 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r209177 - [GTK] UI process crash in WebKit::WaylandCompositor::Surface::prepareTextureForPainting
https://bugs.webkit.org/show_bug.cgi?id=164911
Reviewed by Michael Catanzaro.
The problem is that m_buffer is nullptr in Surface::prepareTextureForPainting() even though we have already an
image. We only use the buffer to get the image size, so we could save the image size when the image is created,
and then we don't need to care about the buffer anymore.
- UIProcess/gtk/WaylandCompositor.cpp:
(WebKit::WaylandCompositor::Surface::prepareTextureForPainting):
(WebKit::WaylandCompositor::Surface::commit):
- UIProcess/gtk/WaylandCompositor.h:
- 8:43 AM Changeset in webkit [210174] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r209063 - [GTK] BadDamage X Window System error in WebKit::AcceleratedBackingStoreX11::update when called from WebPageProxy::exitAcceleratedCompositingMode
https://bugs.webkit.org/show_bug.cgi?id=164303
Reviewed by Michael Catanzaro.
Trap also BadDrawable and BadDamage X errors when creating the surface and damage.
- UIProcess/gtk/AcceleratedBackingStoreX11.cpp:
(WebKit::AcceleratedBackingStoreX11::update):
- 8:43 AM Changeset in webkit [210173] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r208285 - [GTK] BadDamage X Window System error in WebKit::AcceleratedBackingStoreX11::update when called from WebPageProxy::exitAcceleratedCompositingMode
https://bugs.webkit.org/show_bug.cgi?id=164303
Reviewed by Michael Catanzaro.
This can happen if the web process exits before the UI process has cleaned up the accelerated surface. Trap
BadDrawable and BadDamage X errors and ignore them, while still crashing for any other X error.
- UIProcess/gtk/AcceleratedBackingStoreX11.cpp:
(WebKit::AcceleratedBackingStoreX11::~AcceleratedBackingStoreX11):
(WebKit::AcceleratedBackingStoreX11::update):
- 8:41 AM Changeset in webkit [210172] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r210056 - [Cairo] Conditional jump or move depends on uninitialised value(s)
https://bugs.webkit.org/show_bug.cgi?id=166058
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-12-20
Reviewed by Michael Catanzaro.
Initialize x and y members of cairo_glyph_t struct before passing it to cairo_glyph_path.
- platform/graphics/cairo/FontCairo.cpp:
(WebCore::CairoGlyphToPathTranslator::path):
- 8:39 AM Changeset in webkit [210171] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r209122 - [GTK] Database process should not initialize gtk
https://bugs.webkit.org/show_bug.cgi?id=165138
Reviewed by Sergio Villar Senin.
It doesn't use GTK+ at all.
- DatabaseProcess/gtk/DatabaseProcessMainGtk.cpp:
(WebKit::DatabaseProcessMainUnix):
(): Deleted.
- 8:38 AM WebKitGTK/2.14.x edited by
- (diff)
- 8:38 AM Changeset in webkit [210170] by
-
- 4 edits3 adds in releases/WebKitGTK/webkit-2.14
Merge r208675 - [HarfBuzz] HarfBuzzShaper should not assume numGlyphs is greater than 0
https://bugs.webkit.org/show_bug.cgi?id=164500
Patch by Fujii Hironori <Fujii Hironori> on 2016-11-13
Reviewed by Myles C. Maxfield.
Source/WebCore:
Test: fast/text/international/harfbuzz-runs-with-no-glyph.html
HarfBuzzShaper assumes numGlyphs of HarfBuzzRun is greater than
zero. But this is not necessarily true. If a font does not have a
glyph of SPACE (U+0020), HarfBuzz removes ignorable glyphs. In
this case, HarfBuzzRun can have no glyphs.
- platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult): Resize
m_offsets to one if m_numGlyphs is zero.
- platform/graphics/harfbuzz/HarfBuzzShaper.h:
(WebCore::HarfBuzzShaper::HarfBuzzRun::glyphs): Use Vector::data()
instread of operator[0].
(WebCore::HarfBuzzShaper::HarfBuzzRun::advances): Ditto.
(WebCore::HarfBuzzShaper::HarfBuzzRun::offsets): Ditto.
(WebCore::HarfBuzzShaper::HarfBuzzRun::glyphToCharacterIndexes): Ditto.
LayoutTests:
- fast/text/international/harfbuzz-runs-with-no-glyph-expected.txt: Added.
- fast/text/international/harfbuzz-runs-with-no-glyph.html: Added.
- fast/text/international/resources/ignorables.woff: Added.
- 8:36 AM Changeset in webkit [210169] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r208495 - Experimental features should not be enabled by default
https://bugs.webkit.org/show_bug.cgi?id=164367
Reviewed by Darin Adler.
We have two classes of experimental features:
(1) Features that are unstable and should be off by default, except for the developers
currently working on them. This is straightforward to handle; the default value should
be false.
(2) Features that are still not ready for end users, but are stable enough for testing. We
want these features to be enabled in testing environments like the bots, MiniBrowser,
Safari Tech Preview, and so forth, but not in stable release builds.
Implement this. It is better than having all experimental features on unconditionally, and
expecting them to be disabled manually on release branches, which is not something we are
keen to do. An exception is Cocoa ports, which to my knowledge do not currently have any
concept of development builds. These ports seem happy to continue disabling features
manually in release branches, and should continue to do so at least for now.
We also have features that we wish to enumerate at runtime, yet have enabled by default
unconditionally. We do not currently have any infrastructure to support this and should not
abuse the experimental status for this purpose; it requires future work. All settings can
still be toggled at runtime by clients that know about them using the existing runtime
features API.
Lastly, the custom elements feature is ready to be enabled by default, so it's no longer
experimental and can graduate to the list of normal boolean features.
- Shared/WebPreferencesDefinitions.h:
- 7:26 AM Changeset in webkit [210168] by
-
- 4 edits in trunk
[GTK] Improve user agent construction
https://bugs.webkit.org/show_bug.cgi?id=142074
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Use the macOS rather than the Chrome quirk for Google domains, to avoid problems with
Google Calendar and Google Maps.
- platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresChromeBrowser):
(WebCore::urlRequiresMacintoshPlatform):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
- 7:26 AM WebKitGTK/2.14.x edited by
- Propose r210168 (diff)
- 4:13 AM WebKitGTK/2.14.x edited by
- (diff)
- 4:11 AM Changeset in webkit [210167] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r209982 - [GTK] GLXBadFBConfig error when creating an OpenGL context
https://bugs.webkit.org/show_bug.cgi?id=165200
Reviewed by Carlos Garcia Campos.
glXCreateContextAttribsARB causes a GLXBadFBConfig X error when it's not able to provide the
OpenGL version >= 3.2 we are requesting. Due to this, the app crashes instead of falling back to
the legacy path.
The patch modifies GLX context creation using a XErrorTrapper, so the first time a context is created
we don't crash if OpenGL >= 3.2 is not available.
If the gotten context is not valid, we fall back to whatever version glXCreateContextAttribsARB is
able to provide.
The legacy glXCreateContext is only used if the GLX_ARB_create_context extension is not available.
Covered by existent tests.
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::tryCreateGLXARBContext):
(WebCore::GLContextGLX::createWindowContext):
(WebCore::GLContextGLX::createPbufferContext):
- 4:11 AM Changeset in webkit [210166] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r209234 - [GTK] Use an OpenGL < 3.0 compliant way to request the OpenGL version
https://bugs.webkit.org/show_bug.cgi?id=165253
Reviewed by Carlos Garcia Campos.
Use glGetString(GL_VERSION) to get the OpenGL version, as glGetIntegerv with GL_MAJOR_VERSION
and GL_MINOR_VERSION is only supported from 3.0 on.
Covered by existent tests.
- platform/graphics/GLContext.cpp:
(WebCore::GLContext::version):
- 3:52 AM Changeset in webkit [210165] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r210133 - [GTK] GLES build broken since r208997
https://bugs.webkit.org/show_bug.cgi?id=166455
Unreviewed. Fix the preprocessor guards here; this code is incompatible with GLES2.
Looks like it's been broken for a month. Typical!
- platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
- 3:52 AM Changeset in webkit [210164] by
-
- 11 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r208997 - [GTK] Dramatic increase on memory usage since 2.14.x
https://bugs.webkit.org/show_bug.cgi?id=164049
Reviewed by Žan Doberšek.
Use OpenGL version 3.2 Core for rendering when available.
Update some operations that have changed when using 3.2 Core:
- Use glGetStringi to get the extensions list.
- Do not use GL_POINT_SPRITE.
- Always use a VAO when rendering.
- Use a GLSL 1.50 compatible shader.
No new tests needed.
- platform/graphics/GLContext.cpp:
(WebCore::GLContext::version):
Add a method to get OpenGL version we are using.
- platform/graphics/GLContext.h:
Ditto.
- platform/graphics/GraphicsContext3D.h:
Add an attribute to store the VAO used for rendering.
- platform/graphics/OpenGLShims.cpp:
(WebCore::initializeOpenGLShims):
Add glGetStringi to the list of functions.
- platform/graphics/OpenGLShims.h:
Ditto.
- platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
Set appropriate output to the shader compiler and initalize the VAO if needed.
(WebCore::GraphicsContext3D::~GraphicsContext3D):
Delete the VAO if needed.
(WebCore::GraphicsContext3D::getExtensions):
Use glGetExtensionsi for OpenGL versions >= 3.2.
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::hasGLXARBCreateContextExtension):
Check whether the GLX_ARB_create_context extension is available.
(WebCore::GLContextGLX::createWindowContext):
Use glXCreateContextAttribsARB() if possible to request an OpenGL 3.2 context.
(WebCore::GLContextGLX::createPbufferContext):
Ditto.
- platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
Enable glGetStringi for GTK.
- platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
Do not use default getExtensions() method for GTK.
- platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
Ditto.
- 3:52 AM Changeset in webkit [210163] by
-
- 11 edits in releases/WebKitGTK/webkit-2.14/Source/ThirdParty/ANGLE
Merge r208136 - -Wpragmas warning spam from angleutils.h
https://bugs.webkit.org/show_bug.cgi?id=164207
Reviewed by Darin Adler.
Use #pragma clang instead of #pragma GCC since all of the warnings we need to suppress are
Clang-specific warnings. GCC ignores unknown pragmas and does not warn, but it does warn if
any GCC pragma is invalid.
Note that this might still be broken for MSVCC, as MSVCC warns when it sees unknown pragmas.
- changes.diff:
- src/common/angleutils.cpp:
(FormatString):
- src/common/angleutils.h:
(MakeStaticString):
- src/common/debug.cpp:
- src/common/mathutil.cpp:
- src/libANGLE/Caps.cpp:
(gl::TextureCapsMap::get):
(gl::GetExtensionInfoMap):
- src/libANGLE/Device.cpp:
(egl::GetDeviceSet):
- src/libANGLE/Display.cpp:
(egl::Display::getClientExtensionString):
- src/libANGLE/formatutils.cpp:
(gl::GetInternalFormatMap):
(gl::GetAllSizedInternalFormats):
- src/libANGLE/validationES3.cpp:
(gl::IsValidES3CopyTexImageCombination):
- 3:52 AM Changeset in webkit [210162] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/ThirdParty/ANGLE
Merge r208041 - Another build fix.
- CMakeLists.txt:
- 3:51 AM Changeset in webkit [210161] by
-
- 7 edits in releases/WebKitGTK/webkit-2.14/Source
Merge r208040 - Fix Windows WebGL build after r208036
https://bugs.webkit.org/show_bug.cgi?id=164101
- CMakeLists.txt:
Source/WebCore:
Fix Windows WebGL build after r208022
https://bugs.webkit.org/show_bug.cgi?id=164091
- platform/graphics/opengl/Extensions3DOpenGLCommon.h:
- platform/graphics/opengl/Extensions3DOpenGLES.cpp:
(WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
- platform/graphics/opengl/Extensions3DOpenGLES.h:
- platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
(WebCore::GraphicsContext3D::getExtensions):
- 3:51 AM Changeset in webkit [210160] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/ThirdParty/ANGLE
Merge r208037 - Fix Windows WebGL build after r208036
https://bugs.webkit.org/show_bug.cgi?id=164101
- CMakeLists.txt:
Add new files, remove deleted files.
- 3:49 AM Changeset in webkit [210159] by
-
- 436 edits537 adds96 deletes in releases/WebKitGTK/webkit-2.14/Source
Merge r208036 - Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=164101
Reviewed by Darin Adler.
Source/ThirdParty/ANGLE:
Updated to f01731530e7f754e5ebaf32d00f3e23b62376424
Differences between upstream ANGLE and WebKit's copy of ANGLE are in changes.diff
Source/WebCore:
ShCheckVariablesWithinPackingLimits has changed signatures from taking a ShVariableInfo* and length
to taking a std::vector<sh::ShaderVariable> which requires more information about the shader variables
than we kept in GraphicsContext3D::SymbolInfo. I removed the SymbolInfo class because it was redundant
with ANGLE's sh::ShaderVariable and now unused.
Covered by existing WebGL tests.
- CMakeLists.txt:
- PlatformMac.cmake:
- PlatformWin.cmake:
- platform/graphics/ANGLEWebKitBridge.cpp:
(WebCore::appendSymbol):
(WebCore::getStructInfo):
(WebCore::getSymbolInfo):
(WebCore::ANGLEWebKitBridge::compileShaderSource):
- platform/graphics/ANGLEWebKitBridge.h:
(WebCore::ANGLEShaderSymbol::isSampler): Deleted.
- platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo): Deleted.
(WebCore::GraphicsContext3D::SymbolInfo::operator==): Deleted.
- platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::checkVaryingsPacking):
(WebCore::GraphicsContext3D::precisionsMatch):
(WebCore::GraphicsContext3D::mappedSymbolName):
(WebCore::GraphicsContext3D::originalSymbolName):
- 3:41 AM Changeset in webkit [210158] by
-
- 11 edits2 adds in releases/WebKitGTK/webkit-2.14
Merge r208022 - [macOS] [WebGL2] Temporarily upgrade WebGL 2's internal OpenGL context from version 2.1 to 3.2
https://bugs.webkit.org/show_bug.cgi?id=164091
Reviewed by Dean Jackson.
Source/WebCore:
In order to test WebGL2 correctly, I had to upgrade the macOS's OpenGL
context to a 3.2-compatible context to make sure the new symbols are
accepted. Eventually, this 3.2-compatible context will have to be
reverted and replaced with an ANGLE context. The current 3.2-compatible
context is just for testing.
Test: fast/canvas/webgl/webgl2-context-creation.html
- html/canvas/WebGLBuffer.cpp: Use "nullptr" instead of 0.
(WebCore::WebGLBuffer::associateBufferData):
- html/canvas/WebGLRenderingContextBase.cpp: Use make_unique() instead
of the unique_ptr constructor.
(WebCore::WebGLRenderingContextBase::create):
- platform/graphics/GraphicsContext3D.h: GraphicsContext should know
if it is using a 3.2-compatible context because some parts of 2.1 are
removed in these contexts, and replaced with new things which aren't
in 2.1.
- platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::setPixelFormat): Use kCGLPFAOpenGLProfile to specify an
OpenGL 3.2 context.
(WebCore::GraphicsContext3D::GraphicsContext3D): GL_CLAMP is deprecated
in OpenGL 3.2. Fortunately, GL_CLAMP_TO_EDGE isn't deprecated and does
exactly what we want. In OpenGL3.2, point sprites are always enabled,
so there's no need to enable them in those contexts.
(WebCore::GraphicsContext3D::isGLES2Compliant):
- platform/graphics/opengl/Extensions3DOpenGL.cpp: In OpenGL 3.2,
glGetString() no longer accepts GL_EXTENSIONS. Instead, glGetStringi()
is used instead. Unfortunately, glGetString() is not available in
OpenGL 2.1 contexts, so we need to use one or the other based on the
version of the context we're using.
(WebCore::Extensions3DOpenGL::Extensions3DOpenGL):
(WebCore::Extensions3DOpenGL::getExtensions):
- platform/graphics/opengl/Extensions3DOpenGL.h:
- platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
Instead of modifying getExtensions() to use glGetStringi(), it makes
better sense to modify this function because getExtensions() returns
a string. Building up a string just to split it up again is silly, so
modifying this function instead makes more sense.
- platform/graphics/opengl/Extensions3DOpenGLCommon.h:
- platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::getIntegerv): GL_MAX_VARYING_FLOATS is
removed in OpenGL 3.2 contexts. However, it is replaced by
GL_MAX_VARYING_COMPONENTS, though this is deprecated but not removed.
In the more recent OpenGL context versions, GL_MAX_VARYING_VECTORS is
recommended instead, but that isn't available in OpenGL 3.2.
(WebCore::GraphicsContext3D::getExtensions):
LayoutTests:
- TestExpectations:
- fast/canvas/webgl/webgl2-context-creation-expected.txt: Added.
- fast/canvas/webgl/webgl2-context-creation.html: Added.
- 3:40 AM WebKitGTK/2.14.x edited by
- (diff)
- 2:43 AM Changeset in webkit [210157] by
-
- 6 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r207666 - [GTK] Several tests crashing on debug bot in (anonymous namespace)::MediaPlayerPrivateGStreamerBase::repaint
https://bugs.webkit.org/show_bug.cgi?id=163511
Patch by Miguel Gomez <magomez@igalia.com> on 2016-10-21
Reviewed by Carlos Garcia Campos.
Perform the video repaint in the main thread when accelerated compositing is disabled. Added a new method to
MediaPlayerClient to get whether accelerated compositing is enabled from the MediaPlayer. This is needed
because mediaPlayerAcceleratedCompositingEnabled() will return false while HTMLMediaElement doesn't have a
RenderVideo, even when accelerated compositing is enabled.
Covered by existent tests.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerAcceleratedCompositingEnabled):
- html/HTMLMediaElement.h:
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerAcceleratedCompositingEnabled):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::repaint):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- 2:43 AM Changeset in webkit [210156] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r207287 - [GTK] Video playback doesn't work properly with accelerated compositing disabled
https://bugs.webkit.org/show_bug.cgi?id=163386
Patch by Miguel Gomez <magomez@igalia.com> on 2016-10-13
Reviewed by Carlos Garcia Campos.
Trigger a repaint of the player when a new frame arrives and accelerated compositing is disabled.
Covered by existent tests.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
- 2:42 AM WebKitGTK/2.14.x edited by
- (diff)
- 2:34 AM WebKitGTK/2.14.x edited by
- (diff)
- 2:33 AM Changeset in webkit [210155] by
-
- 3 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205544 - [GTK] Crash of WebProcess on the last WebView disconnect
https://bugs.webkit.org/show_bug.cgi?id=161605
Reviewed by Michael Catanzaro.
Stop tracking X11 GL contexts to be cleanered on an exit handler. This was added to work around bugs on drivers,
and it's assuming that all GLContext not deleted when the exit handler is called are leaked, which is no longer
true, because PlatformDisplay now owns a GLContext and is deleted after exit handlers.
- platform/graphics/GLContext.cpp:
(WebCore::GLContext::GLContext):
(WebCore::GLContext::~GLContext):
(WebCore::activeContextList): Deleted.
(WebCore::GLContext::addActiveContext): Deleted.
(WebCore::GLContext::removeActiveContext): Deleted.
(WebCore::GLContext::cleanupActiveContextsAtExit): Deleted.
- 2:33 AM Changeset in webkit [210154] by
-
- 5 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Revert "Merge r205852 - [GTK] Crash of WebProcess on the last WebView disconnect (take two)"
This reverts commit c6853af17a2290c2321cce33f5e012656511d27c.
- 12:04 AM Changeset in webkit [210153] by
-
- 2 edits in trunk/LayoutTests
[EFL] Gardening on 27th Dec.
Unreviewed EFL gardening.
Patch by Gyuyoung Kim <gyuyoung.kim@navercorp.com> on 2016-12-27
- platform/efl/TestExpectations: Mark failing tests to Timeout or Skip.
Dec 26, 2016:
- 7:14 PM Changeset in webkit [210152] by
-
- 3 edits2 adds in trunk
ASSERTION FAILED: !rect.isEmpty() in WebCore::GraphicsContext::drawRect
https://bugs.webkit.org/show_bug.cgi?id=163461
Reviewed by Darin Adler.
Source/WebCore:
Make sure we don't paint empty rects.
Test: fast/lists/assert-on-empty-list-marker.html
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
LayoutTests:
- fast/lists/assert-on-empty-list-marker-expected.txt: Added.
- fast/lists/assert-on-empty-list-marker.html: Added.
- 11:00 AM Changeset in webkit [210151] by
-
- 3 edits in trunk/Source/JavaScriptCore
Use variadic templates in JSC Parser to clean up
https://bugs.webkit.org/show_bug.cgi?id=166482
Reviewed by Saam Barati.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::logError):
- parser/Parser.h: