Timeline



Jul 4, 2014:

11:33 PM Changeset in webkit [170823] by gyuyoung.kim@samsung.com
  • 8 edits in trunk

[EFL] Support Geolocation
https://bugs.webkit.org/show_bug.cgi?id=134439

Reviewed by Antonio Gomes.

.:

  • Source/cmake/OptionsEfl.cmake: Turn on ENABLE_GEOLOCATION.

Source/WebCore:
Add geoclue files in order to enable geolocation for EFL port.

  • PlatformEfl.cmake:

Tools:

  • Scripts/webkitperl/FeatureList.pm: Enable geolocation for EFL port.

LayoutTests:

  • platform/efl/TestExpectations: Unskip geolocation tests.
10:25 PM Changeset in webkit [170822] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

CSS JIT: compile :in-range and :out-of-range
https://bugs.webkit.org/show_bug.cgi?id=134639

Reviewed by Andreas Kling.

The pseudo class :in-range and :out-of-range are trivial non-inlined selectors.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::isInRange):
(WebCore::isOutOfRange):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):

9:43 PM Changeset in webkit [170821] by fpizlo@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

Merge trunk r169595.

2014-06-04 Filip Pizlo <fpizlo@apple.com>


DFG::Safepoint::begin() should set m_didCallBegin before releasing the rightToRun lock, because otherwise, Safepoint::checkLivenessAndVisitChildren() may assert due to a race
https://bugs.webkit.org/show_bug.cgi?id=133525
<rdar://problem/16790296>


Reviewed by Oliver Hunt.


  • dfg/DFGSafepoint.cpp: (JSC::DFG::Safepoint::begin):
9:28 PM Changeset in webkit [170820] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Enhance the Minibrowser to show selected/highlighted text in search bar, if any.
https://bugs.webkit.org/show_bug.cgi?id=134485

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-07-04
Reviewed by Gyuyoung Kim.

Use script_execute_callback to get selected/highlighted text and show in search bar.

  • MiniBrowser/efl/main.c:

(script_execute_callback):
(on_key_down):

9:13 PM Changeset in webkit [170819] by fpizlo@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt][REGRESSION] debug tests fail because PutByIdDirect is now implemented in terms of In
https://bugs.webkit.org/show_bug.cgi?id=134642

Rubber stamped by Andreas Kling.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

8:36 PM Changeset in webkit [170818] by akling@apple.com
  • 10 edits in trunk/Source

Fast path for jsStringWithCache() when asked for the same string repeatedly.
<https://webkit.org/b/134635>

Source/JavaScriptCore:
Also moved the whole thing from WebCore to JavaScriptCore since it
makes more sense here, and inline the lightweight checks, leaving only
the hashmap stuff out of line.

Reviewed by Darin Adler.

  • runtime/JSString.cpp:

(JSC::jsStringWithCacheSlowCase):

  • runtime/JSString.h:

(JSC::jsStringWithCache):

  • runtime/VM.h:

Source/WebCore:
Reviewed by Darin Adler.

  • WebCore.exp.in:
  • bindings/js/JSDOMBinding.cpp:

(WebCore::jsStringWithCache): Deleted.

  • bindings/js/JSDOMBinding.h:

(WebCore::JSValueTraits<String>::arrayJSValue):
(WebCore::jsStringWithCache): Deleted.

  • bridge/c/c_utility.cpp:

(JSC::Bindings::convertNPVariantToValue):

  • loader/cache/CachedResourceHandle.h:
8:03 PM Changeset in webkit [170817] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Subpixel rendering: ebay.com rotating billboard on the main page has cut off buttons.
https://bugs.webkit.org/show_bug.cgi?id=134636
<rdar://problem/17529112>

Reviewed by Darin Adler.

Missing pixel snapping when clipping the transparency layer for BackgroundBleedUseTransparencyLayer.
Clipping needs to take the same snapping strategy as the rest of the painting code.

Source/WebCore:
Test: fast/borders/border-radius-on-subpixel-position-non-hidpi.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):

LayoutTests:

  • fast/borders/border-radius-on-subpixel-position-non-hidpi-expected.html: Added.
  • fast/borders/border-radius-on-subpixel-position-non-hidpi.html: Added.
6:29 PM Changeset in webkit [170816] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

QualifiedName should use RefPtr<QualifiedNameImpl> internally.
<https://webkit.org/b/132796>

We were not inlining ~QualifiedName() and it was showing up in some
profiles (over 1% on dom-attr.html.)

This patch modernizes QualifiedName a bit by using RefPtr to store
the QualifiedNameImpl instead of doing manual ref() and deref()
in out-of-line functions.

Reviewed by Darin Adler.

  • WebCore.exp.in:
  • dom/QualifiedName.cpp:

(WebCore::QNameComponentsTranslator::translate):
(WebCore::QualifiedName::QualifiedName):
(WebCore::QualifiedName::~QualifiedName): Deleted.
(WebCore::QualifiedName::deref): Deleted.

  • dom/QualifiedName.h:

(WebCore::QualifiedName::QualifiedNameImpl::create):
(WebCore::QualifiedName::QualifiedName):
(WebCore::QualifiedName::isHashTableDeletedValue):
(WebCore::QualifiedName::~QualifiedName):
(WebCore::QualifiedName::operator=):
(WebCore::QualifiedName::impl):
(WebCore::QualifiedName::ref): Deleted.

4:03 PM Changeset in webkit [170815] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] [Media] Prevent page zoom if it started in the video element
https://bugs.webkit.org/show_bug.cgi?id=134640
<rdar://problem/16630794>

Reviewed by Sam Weinig.

In r170572 I attempted to prevent the page zoom from happening
when the user was attempting to fullscreen the video. That fix was
not complete, because it relied on the touchstart event being
sent before a gesture event. It turns out this doesn't always happen,
so we need to apply the same check in the gesture event - if the
gesture began with two fingers on the media, don't do a page zoom.
The exception is zooming out, if you've managed to make the video
cover the entire screen (also, the pinch-out-of-fullscreen gesture
does not get handled by WebKit).

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handleBaseGestureChange): Add a check to
make sure our pinch didn't start in the video element.

3:27 PM Changeset in webkit [170814] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2]Fix build break in EFL WK2
https://bugs.webkit.org/show_bug.cgi?id=134629

Unreviewed build fix.

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-07-04

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:

(WebKit::CoordinatedDrawingArea::scheduleCompositingLayerFlushImmediately):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
3:26 PM Changeset in webkit [170813] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[CoordinatedGraphics] Use the C++11 syntax to clean-up for loops
https://bugs.webkit.org/show_bug.cgi?id=134594

Patch by Hunseop Jeong <Hunseop Jeong> on 2014-07-04
Reviewed by Darin Adler.

Convert a couple of loops to range-based for

No change in functionality, no new tests.

  • platform/graphics/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::updateTileBuffers):
(WebCore::TiledBackingStore::resizeEdgeTiles):
(WebCore::TiledBackingStore::setKeepRect):

  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::~CompositingCoordinator):
(WebCore::CompositingCoordinator::flushPendingImageBackingChanges):
(WebCore::CompositingCoordinator::setVisibleContentsRect):
(WebCore::CompositingCoordinator::purgeBackingStores):

  • platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:

(WebCore::CoordinatedBackingStore::removeAllTiles):
(WebCore::CoordinatedBackingStore::paintToTextureMapper):
(WebCore::CoordinatedBackingStore::drawBorder):
(WebCore::CoordinatedBackingStore::drawRepaintCounter):
(WebCore::CoordinatedBackingStore::commitTileOperations):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
(WebCore::CoordinatedGraphicsScene::commitPendingBackingStoreOperations):

2:54 PM Changeset in webkit [170812] by mitz@apple.com
  • 2 edits in trunk/Tools

Build fix after r170811.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController reload:]):

2:00 PM Changeset in webkit [170811] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] -[WKWebView _reload] is unused
https://bugs.webkit.org/show_bug.cgi?id=134638

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _reload]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
1:49 PM Changeset in webkit [170810] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2] Take TopContentInset into account when sending dictionary lookup point to PluginView
https://bugs.webkit.org/show_bug.cgi?id=134624
<rdar://problem/17222041>

Reviewed by Sam Weinig.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::performDictionaryLookupAtLocation):
Perform the same coordinate conversion we use for mouse events, which happens
to take the top content inset into account.

12:54 PM Changeset in webkit [170809] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

CTTE: ScriptElement always has a HTTPScriptElement or SVGScriptElement.
<https://webkit.org/b/134637>

Have ScriptElement store the pointer to the more specific subclass
element as a reference. Also made the constructor protected since
nobody should instantiate ScriptElement directly.

Reviewed by Antti Koivisto.

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::ScriptElement):
(WebCore::ScriptElement::childrenChanged):
(WebCore::ScriptElement::dispatchErrorEvent):
(WebCore::ScriptElement::prepareScript):
(WebCore::ScriptElement::requestScript):
(WebCore::ScriptElement::executeScript):
(WebCore::ScriptElement::notifyFinished):
(WebCore::ScriptElement::ignoresLoadRequest):
(WebCore::ScriptElement::scriptContent):

  • dom/ScriptElement.h:

(WebCore::ScriptElement::element):

  • dom/ScriptRunner.cpp:

(WebCore::ScriptRunner::queueScriptForExecution):

  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::HTMLScriptElement):

  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::SVGScriptElement):

12:12 PM Changeset in webkit [170808] by commit-queue@webkit.org
  • 10 edits in trunk

input type=range element should only fire change events after committing a value
https://bugs.webkit.org/show_bug.cgi?id=134545

Patch by Julien Quint <pom@graougraou.com> on 2014-07-04
Reviewed by Dean Jackson.

Source/WebCore:
A "change" event was fired every time the slider thumb element was dragged
by the user. The "change" event is now fired only after the thumb
element has stopped moving; previously, both "input" and "change" events
where dispatched while changes were being made. This new behavior is
consistent with the specification (cf.
http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#event-input-change),
as well as other implementations such as Firefox and Chrome.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls): Listen to the "input" event
rather than the "change" event for the timeline control in order to
keep track of value changes when the user is dragging the thumb.

  • accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySlider::setValue): Dispatch "change" event while
setting the new value rather than dispatching later, since setting the
value now clears the change flag.

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::setValue): Update the text value of the
control in the case when no event is to be dispatched, so that this
value can be checked the next time a "change" event dispatch is
requested.

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::setPositionFromPoint): Removed the
dispatch of the "change" event, and no longer track the text value of
the element as a result of dispatching a "change" event.
(WebCore::SliderThumbElement::stopDragging): Dispatch the "change" event
on completing the drag.

LayoutTests:
Two existing tests are updated to count "input" events as well as
"change" events. The tests now verify that "change" is only fired once
after every slider drag completes, whereas "input" may be fired more
than once.

  • fast/forms/range/range-drag-expected.txt:
  • fast/forms/range/range-drag-when-toggled-disabled-expected.txt:
  • fast/forms/range/range-drag-when-toggled-disabled.html:
  • fast/forms/range/range-drag.html:
11:07 AM Changeset in webkit [170807] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

CTTE: ApplicationCacheHost always has a DocumentLoader.
<https://webkit.org/b/b/128435>

Have ApplicationCacheHost store the backpointer to its owning
DocumentLoader as a reference.

Reviewed by Sam Weinig.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::startLoadingMainResource):

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::ApplicationCacheHost):
(WebCore::ApplicationCacheHost::~ApplicationCacheHost):
(WebCore::ApplicationCacheHost::selectCacheWithoutManifest):
(WebCore::ApplicationCacheHost::selectCacheWithManifest):
(WebCore::ApplicationCacheHost::maybeLoadMainResource):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
(WebCore::ApplicationCacheHost::failedLoadingMainResource):
(WebCore::ApplicationCacheHost::finishedLoadingMainResource):
(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForError):
(WebCore::ApplicationCacheHost::maybeLoadSynchronously):
(WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
(WebCore::ApplicationCacheHost::stopDeferringEvents):
(WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
(WebCore::ApplicationCacheHost::update):
(WebCore::ApplicationCacheHost::swapCache):
(WebCore::ApplicationCacheHost::abort):
(WebCore::ApplicationCacheHost::isApplicationCacheEnabled):

  • loader/appcache/ApplicationCacheHost.h:

(WebCore::ApplicationCacheHost::documentLoader): Deleted.

8:31 AM Changeset in webkit [170806] by mario.prada@samsung.com
  • 17 edits
    1 add in trunk/LayoutTests

buildAccessibilityTree() needs to be removed from individual layout tests
https://bugs.webkit.org/show_bug.cgi?id=95286

Reviewed by Chris Fleizach.

Extracted two functions to 'dump' and 'touch' the accessibility
hierarchies out of different layout tests and into a single file,
living in LayoutTests/resources/accessibility-helper.js

  • resources/accessibility-helper.js: Added.

(dumpAccessibilityTree): New, based on buildAccessibilityTree()
for the cases where it was used to actually 'dump' it into the output.
(touchAccessibilityTree): Same, but for the cases where we don't
want to dump the accessibility tree, just to make sure is generated.

Updated affected layout tests to use the newly added helper functions.

  • accessibility/adjacent-continuations-cause-assertion-failure.html: Updated.
  • accessibility/children-changed-sends-notification.html: Ditto.
  • accessibility/deleting-iframe-destroys-axcache.html: Ditto.
  • accessibility/div-within-anchors-causes-crash.html: Ditto.
  • accessibility/first-letter-text-transform-causes-crash.html: Ditto.
  • accessibility/image-map-update-parent-crash.html: Ditto.
  • accessibility/table-with-empty-thead-causes-crash.html: Ditto.
  • platform/efl/accessibility/media-emits-object-replacement.html: Ditto.
  • platform/gtk/accessibility/entry-and-password.html: Ditto.
  • platform/gtk/accessibility/media-emits-object-replacement.html: Ditto.
  • platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html: Ditto.

Updated Mac specific expectations not to print the "End of test" element.

  • platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: Updated.
  • platform/mac/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Ditto.
  • platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: Ditto.
  • platform/mac/accessibility/div-within-anchors-causes-crash-expected.txt: Ditto.
6:55 AM Changeset in webkit [170805] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION(r159345): Lines are clipped between pages when printing web content from Safari
https://bugs.webkit.org/show_bug.cgi?id=134633

Source/WebCore:
<rdar://problem/17088936>

Reviewed by Zalan Bujtas.

Test: printing/simple-lines-break.html

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

Disable simple lines if global pagination is enabled.
Printing does not currently use flow threads which we already test for.

LayoutTests:

Reviewed by Zalan Bujtas.

  • printing/simple-lines-break-expected.html: Added.
  • printing/simple-lines-break.html: Added.
4:19 AM Changeset in webkit [170804] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r170707 - [GTK] WebKitVersion.h should be shared between UI and Web Process APIs
https://bugs.webkit.org/show_bug.cgi?id=134538

Reviewed by Martin Robinson.

To be able to check current version from web extensions too.

  • UIProcess/API/gtk/WebKitVersion.h.in: Allow to include WebKitVersion.h also from webkit-web-extension.h.
  • WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h: Include WebKitVersion.h.
3:46 AM Changeset in webkit [170803] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.4

Merge r163519 - Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro
https://bugs.webkit.org/show_bug.cgi?id=128267

Reviewed by Andreas Kling.

Source/WTF:

Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro that was manually defined for compilers
that support the C++11 initializer lists. The feature is well supported in Clang, MSVC and also GCC. It
was actually already used unguarded in HashSet.

  • wtf/Compiler.h:
  • wtf/HashMap.h:

(WTF::HashMap::HashMap):

  • wtf/Vector.h:

(WTF::Vector::Vector):

Tools:

Remove the COMPILER_SUPPORTS(CXX_GENERALIZED_INITIALIZERS) as the underlying macro is also
being removed since the feature is supported by all the compilers the project approves.

  • TestWebKitAPI/Tests/WTF/HashMap.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

3:33 AM Changeset in webkit [170802] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Typo in watchlist config means four specific people get Cc'd on everything
https://bugs.webkit.org/show_bug.cgi?id=134626

Reviewed by Gyuyoung Kim.

  • Scripts/webkitpy/common/config/watchlist:

Remove leading pipe, which meant that this rule matched everything!

2:58 AM Changeset in webkit [170801] by Philippe Normand
  • 3 edits in trunk/Source/WebKit2

2014-07-04 Philippe Normand <pnormand@igalia.com>

Unreviewed, GTK WK2 build fix after r170787.

  • WebProcess/WebPage/DrawingAreaImpl.cpp: (WebKit::DrawingAreaImpl::scheduleCompositingLayerFlushImmediately):
  • WebProcess/WebPage/DrawingAreaImpl.h:
1:55 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:55 AM Changeset in webkit [170800] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r170526 - [GTK] 8tracks.com triggers annoying pop-up window/installation of "About protocol source plugin" (GStreamer?)
https://bugs.webkit.org/show_bug.cgi?id=133605

Reviewed by Carlos Garcia Campos.

Don't attempt to load blank URLs with the GStreamer media
player. Those URLs trigger the codec installer which is useless in
this scenario. This patch also renames some of the variables of
the ::load method, as suggested by Carlos.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
Check video-sink validity before disconnecting its signal handlers.
(WebCore::MediaPlayerPrivateGStreamer::load): Don't load blank
URLs (about:blank).

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
Disconnect repaint handler only if it's valid.

1:50 AM Changeset in webkit [170799] by zandobersek@gmail.com
  • 7 edits in trunk/Source

Source/WebCore: Unreviewed. Fixing the build after r170795.

Mac didn't like that change as it seems to properly typedef long long to int64_t.
That's not the case on 64-bit Linux (for some reason), so I'm changing the type of
the two long long variables in FormDataElement to int64_t to avoid any further trouble.

  • platform/network/FormData.h:

Source/WebKit2: Unreviewed. Reverting the bad changes introduced in r170795.

  • Platform/IPC/ArgumentDecoder.cpp:

(IPC::ArgumentDecoder::decode): Deleted.

  • Platform/IPC/ArgumentDecoder.h:
  • Platform/IPC/ArgumentEncoder.cpp:

(IPC::ArgumentEncoder::encode): Deleted.

  • Platform/IPC/ArgumentEncoder.h:
1:48 AM Changeset in webkit [170798] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r169896 - [GTK] fails to build with --disable-webgl --disable-accelerated-compositing
https://bugs.webkit.org/show_bug.cgi?id=131267

Reviewed by Philippe Normand.

Add missing headers needed for Float32Array::create().

  • Modules/webaudio/AudioBuffer.cpp:
1:48 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:38 AM Changeset in webkit [170797] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r169935 - [GTK] GLContextEGL.cpp: conflicting declaration 'typedef ptrdiff_t GLintptr'
https://bugs.webkit.org/show_bug.cgi?id=133550

Reviewed by Gustavo Noronha Silva.

Cairo includes some definitions from GLX that conflict with the
ones provided by our GLES2 headers (GLintptr, GLsizeiptr).

Since GLContextEGL doesn't use any GLX functions we can safely
disable the inclusion of those functions in that source file.

  • platform/graphics/egl/GLContextEGL.cpp:
1:36 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:28 AM Changeset in webkit [170796] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Tools

Merge r169768 - [GTK][gtkdoc] remove -Wcast-align
https://bugs.webkit.org/show_bug.cgi?id=133640

Apparently gcc warns that GParamSpec is not castable to
GParamSpecInt64/GParamSpecUInt64/GParamSpecDouble due they are 64bit, even
though ARM hackers claim that those only need 4byte alignment. As long as gcc
behaves that way, this warning is not very useful, also they break the Debian
packaging.

This patch appends the compiler flag -Wno-align-cast for the gtkdoc
scanner compilation, thus the compiler ignores the previous
-Waling-cast flag.

Reviewed by Martin Robinson.

  • gtk/generate-gtkdoc:

(get_generator_for_config):

1:27 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:24 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:23 AM Changeset in webkit [170795] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebKit2

Unreviewed. Fixing the build for ports on 64-bit Linux.

Add IPC encoding and decoding overloads for the long long type, needed
after r170755 started encoding and decoding long long variables in
FormDataElement.

  • Platform/IPC/ArgumentDecoder.cpp:

(IPC::ArgumentDecoder::decode):

  • Platform/IPC/ArgumentDecoder.h:
  • Platform/IPC/ArgumentEncoder.cpp:

(IPC::ArgumentEncoder::encode):

  • Platform/IPC/ArgumentEncoder.h:
1:09 AM Changeset in webkit [170794] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

[GTK] [Stable] Crash while playing a video
https://bugs.webkit.org/show_bug.cgi?id=133940

Unreviewed. Rolling out r160688.

  • jit/CCallHelpers.h:
  • jit/Repatch.cpp:

(JSC::generateProtoChainAccessStub):
(JSC::tryBuildGetByIDList):

12:55 AM Changeset in webkit [170793] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.4

Merge r170359 - Source/WebCore: [ATK] Don't ignore links rendered as blocks.
https://bugs.webkit.org/show_bug.cgi?id=130941

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-06-24
Reviewed by Mario Sanchez Prada.

  • /m/usr/src/webkit-trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(WebCore::AccessibilityObject::objectFocusedAndCaretOffsetUnignored): Don't ignore links
when they are renderered with display:block.

LayoutTests: [ATK] Extended the test for accessibility of text inside "span" block in "a" block
with the tests for caret movements in these cases.
https://bugs.webkit.org/show_bug.cgi?id=130941

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-06-24
Reviewed by Mario Sanchez Prada.

  • platform/gtk/accessibility/text-in-span-block-in-a-block-expected.txt:
  • platform/gtk/accessibility/text-in-span-block-in-a-block.html:

Added testing for text-caret-moved signal. Added one more "a" element to the set.

12:55 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:50 AM Changeset in webkit [170792] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r169936 - Source/WebCore: [ATK] Fix text inside "span" block in "a" block was not accessible.
https://bugs.webkit.org/show_bug.cgi?id=132349

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-06-13
Reviewed by Mario Sanchez Prada.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp: Add link role to the list of roles whose objects always expose atk_text interface.

LayoutTests: [ATK] Add test for accessibility of text inside "span" block in "a" block.
https://bugs.webkit.org/show_bug.cgi?id=132349

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-06-13
Reviewed by Mario Sanchez Prada.

  • platform/gtk/accessibility/text-in-span-block-in-a-block-expected.txt: Added.
  • platform/gtk/accessibility/text-in-span-block-in-a-block.html: Added.
12:48 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:43 AM Changeset in webkit [170791] by Carlos Garcia Campos
  • 10 edits
    6 adds in releases/WebKitGTK/webkit-2.4

Merge r169483 - Tools: [ATK] Added new accessibility signal: text-caret-moved.
Make AccessibilityUIElement.setSelectedTextRange work
as atk_text_set_caret_offset when given offset == 0.
https://bugs.webkit.org/show_bug.cgi?id=132527

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-05-30
Reviewed by Mario Sanchez Prada.

text-caret-moved signal in accessibilityController is needed to
implement tests from Tools/TestWebKitAPI/Tests/WebKitGtk/testatk.c
as LayoutTests. Add the signal to the controller.

  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(setSelectedTextRange): Change return type to bool.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(setSelectedTextRange): Call atk_text_set_caret_offset and return bool.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:

(axObjectEventListener): Add notification name AXTextCaretMoved, allow
for extra arguments passed to handler and use it for text-caret-moved offset.
(WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
Connect callback to new listener for ATK:AtkText:text-caret-moved.
Refactor so that failures be reported.
Initialize atk interfaces before trying to connect to them, see
https://bugzilla.gnome.org/show_bug.cgi?id=729922
(WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks):
Simplify code by using a vector in place of dozen variables.

  • DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp:

Comment about not synchronizing with accessibilityController.

LayoutTests: [ATK] Convert caret offset tests from testatk.c.
https://bugs.webkit.org/show_bug.cgi?id=132527

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-05-30
Reviewed by Mario Sanchez Prada.

The tests are replicated from testatk.c file, functions

testWebkitAtkCaretOffsets()
testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces()

The file was present in webkit1. Removed from trunk in r166977, so
the last version was
https://trac.webkit.org/browser/trunk/Tools/TestWebKitAPI/Tests/WebKitGtk/testatk.c?rev=166976
What could not be verified in the same way:

  1. Whether element implements ATK_TEXT. If setCaretOffset

succeeds, it confirms that element is text as well. But in cases
when setCaretOffset must fail I see no way to confirm it is text
element.

  1. Whether position is correct through a call to

atk_text_get_caret_offset. text-caret-moved signal value is
tested instead.

Anyway these cases don't look crucial, so they are skipped.

  • platform/gtk/resources/atk-helpers.js: Added.

(setCaretOffset): Added.

  • platform/gtk/accessibility/caret-offsets-and-extraneous-white-spaces-expected.txt: Added.
  • platform/gtk/accessibility/caret-offsets-and-extraneous-white-spaces.html: Added.
  • platform/gtk/accessibility/caret-offsets-expected.txt: Added.
  • platform/gtk/accessibility/caret-offsets.html: Added.
12:43 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:26 AM Changeset in webkit [170790] by Carlos Garcia Campos
  • 19 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r170423 - [GTK] Windowed plugins visibility doesn't work
https://bugs.webkit.org/show_bug.cgi?id=131487

Reviewed by Anders Carlsson.

Implement plugins visibility changes and add a new message to
notify the UI process when a windowed plugin is shown/hidden to
show/hide the plugin widget.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::visibilityDidChange): Add
implementation to notify the plugin about visibility change.
(WebKit::PluginControllerProxy::windowedPluginVisibilityDidChange):
Send WindowedPluginVisibilityDidChange to the plugin proxy.

  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginControllerProxy.messages.in: Add VisibilityDidChange message.
  • UIProcess/WebPageProxy.h: Add windowedPluginVisibilityDidChange

to handle WindowedPluginVisibilityDidChange message.

  • UIProcess/WebPageProxy.messages.in: Add WindowedPluginVisibilityDidChange message.
  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebPageProxy::windowedPluginVisibilityDidChange):

  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::createPluginContainer): Do not show the
plugins by default.
(WebKit::WebPageProxy::windowedPluginVisibilityDidChange): Show or hide the plugin widget.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::NetscapePlugin): Initialize m_isVisible.
(WebKit::NetscapePlugin::visibilityDidChange): Add visible parameter and save it in m_isVisible
member, calling platformVisibilityDidChange() only when it has actually changed.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformVisibilityDidChange): Notify the controller about visibility change.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/Plugin.h:
  • WebProcess/Plugins/PluginController.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::visibilityDidChange): Send VisibilityDidChange message to the plugin controller proxy.
(WebKit::PluginProxy::windowedPluginVisibilityDidChange): Notify the controller about visibility change.

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginProxy.messages.in: Add WindowedPluginVisibilityDidChange message.
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::didInitializePlugin): Also call viewVisibilityDidChange() when the plugin is initialized.
(WebKit::PluginView::setParentVisible): Override this Widget method to update the plugin visibility when parent
widget is shown/hidden.
(WebKit::PluginView::viewVisibilityDidChange): Pass visible parameter to visibilityDidChange().
(WebKit::PluginView::windowedPluginVisibilityDidChange): Send WindowedPluginVisibilityDidChange message to the UI process.

  • WebProcess/Plugins/PluginView.h:
12:26 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:16 AM Changeset in webkit [170789] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r170633 - [GTK] Annotations for WebResource.get_data produce wrong signature in Vala binding
https://bugs.webkit.org/show_bug.cgi?id=134476

Patch by Evan Nemerson <evan@nemerson.com> on 2014-07-01
Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitWebResource.cpp: Add array length and

element-type annotations to return value of webkit_web_resource_get_data_finish().

12:14 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:13 AM Changeset in webkit [170788] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/ThirdParty/ANGLE

[GTK] [Stable] Crash in TSymbolTableLevel::~TSymbolTableLevel with GCC 4.9
https://bugs.webkit.org/show_bug.cgi?id=134593

Unreviewed. Backported from Mozilla by Mike Hommey <mh+mozilla@glandium.org>
https://bugzilla.mozilla.org/show_bug.cgi?id=1025576
https://code.google.com/p/angleproject/issues/detail?id=651

  • src/compiler/SymbolTable.cpp:

(TSymbolTableLevel::~TSymbolTableLevel):

12:10 AM Changeset in webkit [170787] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit2

[iOS][WK2] Black web view after un-suspending process
https://bugs.webkit.org/show_bug.cgi?id=134623
<rdar://problem/17513223>

Reviewed by Simon Fraser.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::viewStateDidChange):
Add an argument to viewStateDidChange that allows callers (-[WKContentView _applicationWillEnterForeground:])
to force us to wait for a synchronous reply from the Web process after performing a view state change.

(WebKit::WebPageProxy::dispatchViewStateChange):
Move the has-been-in-window-and-now-is-newly-in-window check into dispatchViewStateChange.
Adjust the logic surrounding going into/out of window by factoring out the IsInWindow-did-change check, for clarity.

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _applicationWillEnterForeground:]):
As previously mentioned, wait for a reply when foregrounding.

  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlushImmediately):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
(WebKit::RemoteLayerTreeDrawingArea::viewStateDidChange):
Make sure to schedule a commit immediately if the UI process is waiting for a reply.
Previously we assumed that a commit would be scheduled anyway because we would have to reparent the
layer tree, but that doesn't happen in the suspension-without-unparenting case. Also, we want to skip
all throttling in this case.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerFlushImmediately):

Jul 3, 2014:

10:38 PM Changeset in webkit [170786] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Enhance the Minibrowser to show text search count and close search bar.
https://bugs.webkit.org/show_bug.cgi?id=134486

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-07-03
Reviewed by Gyuyoung Kim.

Use on_search_close_button_clicked() callback to close search bar and on_search_text_found() callback to show search count.

  • MiniBrowser/efl/main.c:

(search_box_show):
(search_box_hide):
(on_search_close_button_clicked):
(on_search_text_found):
(window_create):

6:12 PM Changeset in webkit [170785] by barraclough@apple.com
  • 7 edits in trunk/Source/WebKit2

Should not take background task assertion for NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=134622

Reviewed by Tim Horton.

When the WebContent wants to complete a task in the background we take a process assertion on the child process, and also need to prevent the UI process from suspending.
However for the NetworkProcess we always just hold a process assertion, and don't want this to interfere with UIApp suspension.

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):

  • ProcessAssertion -> ProcessAndUIAssertion
  • UIProcess/ProcessAssertion.cpp:

(WebKit::ProcessAssertion::ProcessAssertion):

  • assignment -> initializer list.

(WebKit::ProcessAndUIAssertion::ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::~ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::setState):

  • added no-op implementation.

(WebKit::ProcessAssertion::~ProcessAssertion): Deleted.

  • UIProcess/ProcessAssertion.h:
    • removed ~ProcessAssertion, added ProcessAndUIAssertion class.
  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::didConnnectToProcess):

  • ProcessAssertion -> ProcessAndUIAssertion
  • UIProcess/ProcessThrottler.h:
    • ProcessAssertion -> ProcessAndUIAssertion
  • UIProcess/ios/ProcessAssertionIOS.mm:

(WebKit::ProcessAssertion::ProcessAssertion):

  • assignment -> initializer list.
  • moved code to manage WKProcessAssertionBackgroundTaskManager

(WebKit::ProcessAssertion::setState):

  • moved code to manage WKProcessAssertionBackgroundTaskManager

(WebKit::ProcessAndUIAssertion::ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::~ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::setState):

  • moved code to manage WKProcessAssertionBackgroundTaskManager from ProcessAssertion.

(WebKit::ProcessAssertion::~ProcessAssertion): Deleted.

  • delete - moved code to manage WKProcessAssertionBackgroundTaskManager
6:09 PM Changeset in webkit [170784] by Simon Fraser
  • 5 edits in trunk/Source/WebKit2

Clean up Brady's mess on iOS.

  • Platform/mac/StringUtilities.h:
  • Platform/mac/StringUtilities.mm:
5:48 PM Changeset in webkit [170783] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

[iOS WK2] Compositing layers draw outside page bounds
https://bugs.webkit.org/show_bug.cgi?id=134619
<rdar://problem/16953222>

Reviewed by Benjamin Poulain.

With the new rubber-banding behavior, we no longer have the root content layer clipping all
the web layers, but this resulted in web layers which were moved outside the viewport by CSS
transforms not being clipped.

Fix by adding a clipping layer inside the scroll view, above _rootContentView. This layer
normally has the same bounds as the content, but when rubber-banding or pinching,
it takes the union of the content bounds and the rect used for fixed positioning.
To make scrolling work as expected in this scenario, when it has non-zero offset, it
has to compensate by setting its bounds origin.

The bounds of the clipping layer are updated on scrolling/zooming, and when the
layer commit tells us that the content size changed.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateScrollViewBackground]):

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView initWithFrame:context:configuration:webView:]):
(-[WKContentView updateFixedClippingView:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
(-[WKContentView _didCommitLayerTree:]):

5:39 PM Changeset in webkit [170782] by beidson@apple.com
  • 15 edits
    1 copy
    1 add in trunk/Source

When showing the selection menu, include menu options for all selected phone numbers.
<rdar://problem/16983434>, <rdar://problem/16874568>, and https://bugs.webkit.org/show_bug.cgi?id=134613

Reviewed by Tim Horton.

Source/WebCore:

  • English.lproj/Localizable.strings:
  • dom/Range.cpp:

(WebCore::rangesOverlap): Fix reversed arguments that caused some types of overlaps to not be detected.

Source/WebKit2:
Move some telephone number menu logic from WebKitSystemInterface here.
Also provide utility to get just the one menu item relevant to a telephone number.

  • Platform/mac/MenuUtilities.h:
  • Platform/mac/MenuUtilities.mm: Added.

(WebKit::menuItemForTelephoneNumber):
(WebKit::menuItemsForTelephoneNumber):

  • Platform/mac/StringUtilities.h:
  • Platform/mac/StringUtilities.mm:

(WebKit::formattedPhoneNumberString): Return a localized formatted phone number.

Add a member to track the selected phone numbers:

  • Shared/ContextMenuContextData.h:

(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::selectedTelephoneNumbers):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::setupServicesMenu): Also add menu items for each phone number that is

in the selection.

Switch away from a WKSI method, and remove a lot of unneeded forward declarations and soft linking:

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::showTelephoneNumberMenu):
(WebKit::WebPageProxy::showSelectionServiceMenu):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::drawSelectionHighlight):
(WebKit::ServicesOverlayController::handleClick): Pass the phone numbers along.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::handleSelectionServiceClick): Pass the phone numbers along.

5:36 PM Changeset in webkit [170781] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

WKProcessAssertionBackgroundTaskManager should clear member if task expires
https://bugs.webkit.org/show_bug.cgi?id=134618

Reviewed by Anders Carlson.

Failure to do so results in a warning, and could result in us erroneously completing a background task too soon.

  • UIProcess/ios/ProcessAssertionIOS.mm:

(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):

  • remove local variable, _backgroundTask = UIBackgroundTaskInvalid;
5:15 PM Changeset in webkit [170780] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Unreviewed iOS build fix for r170774.

Remove some unnecessary WTF::moves on iOS:
error: static_assert failed "T is not an lvalue reference; move() is unnecessary."

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::getQueuedTouchEventsForPage):
(WebKit::EventDispatcher::touchEvent):

5:08 PM Changeset in webkit [170779] by andersca@apple.com
  • 3 edits
    1 add in trunk/Source/WebKit2

Try to fix the iOS build.

Add WebPageProxyCocoa.mm for code shared between iOS and OS X. Put the recent searches save/restore code there.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm: Added.

(WebKit::autosaveKey):
(WebKit::WebPageProxy::saveRecentSearches):
(WebKit::WebPageProxy::loadRecentSearches):

  • UIProcess/mac/WebPageProxyMac.mm:
  • WebKit2.xcodeproj/project.pbxproj:
4:47 PM Changeset in webkit [170778] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WTF

Unreivewed, fix build break on EFL and GTK since r170767.

  • wtf/CMakeLists.txt: Exclude Decoder.h and Encoder.h because those files were removed.
4:46 PM Changeset in webkit [170777] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

4:31 PM Changeset in webkit [170776] by mitz@apple.com
  • 14 edits in trunk/Source/WebKit2

<rdar://problem/16337741> The UI process needs to track the number of HTTP subresource loads in progress (or at least whether there are any)
https://bugs.webkit.org/show_bug.cgi?id=134615

Reviewed by Anders Carlsson.

Added a _networkRequestsInProgress boolean property to WKWebView.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm: Added no-op overrides of new

PageLoadStateObserver member functions.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _networkRequestsInProgress]): New getter that gets this state from the
PageLoadState.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h: Declared new property.
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::willChangeNetworkRequestsInProgress):: Override this new
PageLoadState::Observer member function by sending the appropriate KVO change message to the
WKWebView.
(WebKit::NavigationState::didChangeNetworkRequestsInProgress): Ditto.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::commitChanges): Check for changes to networkRequestsInProgress
and call the observers if needed.
(WebKit::PageLoadState::reset): Reset networkRequestsInProgress in the uncommitted state.
(WebKit::PageLoadState::setNetworkRequestsInProgress): Set networkRequestsInProgress in the
uncommitted state.

  • UIProcess/PageLoadState.h:

(WebKit::PageLoadState::networkRequestsInProgress): Added this getter.
(WebKit::PageLoadState::Data::Data): Initialize new networkRequestsInProgress member.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setNetworkRequestsInProgress): Added. Updates the PageLoadState.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added SetNetworkRequestsInProgress message.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest): Call
WebPage::addResourceRequest.
(WebKit::WebFrameLoaderClient::dispatchDidFinishLoading): Call
WebPage::removeResourceRequest.
(WebKit::WebFrameLoaderClient::dispatchDidFailLoading): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::addResourceRequest): Added. If the new request is for an HTTP-family URL,
add its identifier to the set of network resourece request identifiers. If the set was
previously empty, send the WebPageProxy a message.
(WebKit::WebPage::removeResourceRequest): Added. Remove the identifier from the set. If it
becomes empty, send the WebPageProxy a message.

  • WebProcess/WebPage/WebPage.h:
3:31 PM Changeset in webkit [170775] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove two unused functions
https://bugs.webkit.org/show_bug.cgi?id=134614

Reviewed by Andreas Kling.

  • UIProcess/LegacySessionStateCoding.h:
  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeLegacySessionHistoryEntryData): Deleted.
(WebKit::decodeLegacySessionHistoryEntryData): Deleted.

3:13 PM Changeset in webkit [170774] by dbates@webkit.org
  • 689 edits in trunk

Add WTF::move()
https://bugs.webkit.org/show_bug.cgi?id=134500

Source/JavaScriptCore:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • bytecode/CodeBlock.h:
  • bytecode/UnlinkedCodeBlock.cpp:
  • bytecompiler/BytecodeGenerator.cpp:
  • dfg/DFGGraph.cpp:
  • dfg/DFGJITCompiler.cpp:
  • dfg/DFGStackLayoutPhase.cpp:
  • dfg/DFGWorklist.cpp:
  • heap/DelayedReleaseScope.h:
  • heap/HeapInlines.h:

[...]

Source/WebCore:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • Modules/battery/NavigatorBattery.cpp:
  • Modules/encryptedmedia/MediaKeys.cpp:
  • Modules/gamepad/NavigatorGamepad.cpp:
  • Modules/gamepad/deprecated/NavigatorGamepad.cpp:
  • Modules/geolocation/NavigatorGeolocation.cpp:
  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
  • Modules/indexeddb/IDBDatabaseBackend.cpp:
  • Modules/indexeddb/IDBDatabaseBackend.h:

[...]

Source/WebKit/ios:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • WebCoreSupport/WebFixedPositionContent.mm:

(-[WebFixedPositionContent setViewportConstrainedLayers:stickyContainerMap:]):

  • WebCoreSupport/WebInspectorClientIOS.mm:

(WebInspectorFrontendClient::WebInspectorFrontendClient):

Source/WebKit/mac:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • History/WebHistoryItem.mm:

(-[WebHistoryItem initFromDictionaryRepresentation:]):

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:

(WebKit::NetscapePluginInstanceProxy::setCurrentReply):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebFrameLoaderClient::dispatchWillSubmitForm):

  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorClient::openInspectorFrontend):
(WebInspectorFrontendClient::WebInspectorFrontendClient):

  • WebView/WebArchive.mm:

(-[WebArchive initWithMainResource:subresources:subframeArchives:]):

Source/WebKit/win:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorClient::openInspectorFrontend):
(WebInspectorFrontendClient::WebInspectorFrontendClient):

  • WebHistory.cpp:

(createUserInfoFromArray):

  • WebHistoryItem.cpp:

(WebHistoryItem::initFromDictionaryRepresentation):

  • WebView.cpp:

(WebView::addToDirtyRegion):
(WebView::scrollBackingStore):

Source/WebKit2:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • DatabaseProcess/DatabaseProcess.cpp:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:
  • Platform/IPC/ArgumentCoders.h:
  • Platform/IPC/ArgumentDecoder.cpp:
  • Platform/IPC/Connection.cpp:
  • Platform/IPC/Connection.h:

[...]

Source/WTF:
Reviewed by Darin Adler.

Substitution of WTF::move() for std::move() rubber-stamped by Anders Carlsson.

Implement WTF::move(), a replacement for std::move(). WTF::move() is less error
prone than std::move() as it compile asserts that its argument is a non-const
lvalue reference before ultimately casting it to a rvalue reference (via std::move).

  • wtf/Deque.h: Substitute WTF::move() for std::move().
  • wtf/HashMap.h: Ditto.
  • wtf/HashSet.h: Ditto.
  • wtf/HashTable.h: Ditto.
  • wtf/IteratorAdaptors.h: Ditto.
  • wtf/IteratorRange.h: Ditto.
  • wtf/ListHashSet.h: Ditto.
  • wtf/MainThread.cpp: Ditto.

[...]

  • wtf/StdLibExtras.h:

(WTF::move): Added.
[...]

Tools:
Rubber-stamped by Anders Carlsson.

Substitute WTF::move() for std::move().

  • DumpRenderTree/win/DRTDataObject.cpp:
  • TestWebKitAPI/Tests/WTF/HashMap.cpp:
  • TestWebKitAPI/Tests/WTF/HashSet.cpp:
  • TestWebKitAPI/Tests/WTF/RefPtr.cpp:
  • TestWebKitAPI/Tests/WTF/Vector.cpp:
  • TestWebKitAPI/Tests/WTF/WTFString.cpp:
  • TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm: Added FIXME comments that explain that some of the sub-tests

aren't actually testing move semantics in tests: MoveAssignmentFromSameType, MoveAssignmentFromSimilarType,
ConstructionFromSameType, and ConstructionFromSimilarType.

  • TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:
3:11 PM Changeset in webkit [170773] by benjamin@webkit.org
  • 6 edits in trunk/Source

[iOS][WK2] Fix small bugs of dynamicViewportSizeUpdate that were causing inaccuracies in the computed target
https://bugs.webkit.org/show_bug.cgi?id=134582

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-03
Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:
  • platform/ScrollView.h:

(WebCore::ScrollView::unobscuredContentSize):

  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::unobscuredContentRect):
(WebCore::ScrollView::setUnobscuredContentSize):

Source/WebKit2:
This patch fixes two small bugs that were causing "jumpiness" on animated resize:
1) The new scale was less accurate than the target scale, making the WebProcess force a worse scale on the content.
2) The code putting back the rects in view was ignoring the obscured insets, constraining the scroll position more

than it should be.

The first problem was cause by a series of rounding issues accumulating to the fact that "scale != targetScale"
was almost never true.

The first issue is that the unobscured content size was stored in integer coordinates. Because of that, it was
impossible to determine accurately how much content is in the view.
The outcome was that visibleHorizontalFraction was very inaccurate compared to what the UIProcess computed.

Another issue affecting the scale is that scaleAfterViewportWidthChange was computing the widthToKeepInView
on floating point. Since ARM64 does all those computations on doubles in the UIProcess, the value would be quite
different from the received targetScale.

Finally, the code uses withinEpsilon() instead of a strict equality to reduce the effect of rounding errors.

For the second issue, the problem was that I was bounding the exposed rect to the page bounds. It is completely
valid to have an exposed rect outside the page bounds, that area is just under the obscured insets.

On the other hand, the unobscured rect needs to be within the bounds as we do not want to rotate to a rubberbanding
position. The fix is simply to put the right rect into bounds, and the horizontal/vertical adjustement applies on
both rects.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::scaleAfterViewportWidthChange):
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::updateVisibleContentRects):

2:52 PM Changeset in webkit [170772] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • UIProcess/mac/WebPageProxyMac.mm:
2:34 PM Changeset in webkit [170771] by bshafiei@apple.com
  • 4 edits in tags/Safari-538.44.1/Source/WebCore

Merged r170762.

2:29 PM Changeset in webkit [170770] by bshafiei@apple.com
  • 4 edits in tags/Safari-538.44.1/Source/WebCore

Relanding r170578, incorrect roll out was done in r170742.

2:04 PM Changeset in webkit [170769] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

SSA DCE should process blocks in forward order
https://bugs.webkit.org/show_bug.cgi?id=134611

Reviewed by Andreas Kling.

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::run):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode):

  • tests/stress/dead-value-with-mov-hint-in-another-block.js: Added.

(foo):

2:04 PM Changeset in webkit [170768] by andersca@apple.com
  • 3 edits
    1 delete in trunk/Source/WebKit2

Get rid of WebPageProxyCF.cpp
https://bugs.webkit.org/show_bug.cgi?id=134609

Reviewed by Dan Bernstein.

  • UIProcess/cf/WebPageProxyCF.cpp: Removed.
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::autosaveKey):
(WebKit::WebPageProxy::saveRecentSearches):
(WebKit::WebPageProxy::loadRecentSearches):

  • WebKit2.xcodeproj/project.pbxproj:
1:46 PM Changeset in webkit [170767] by andersca@apple.com
  • 6 edits
    2 deletes in trunk/Source

Get rid of Encoder.h and Decoder.h from WTF
https://bugs.webkit.org/show_bug.cgi?id=134600

Reviewed by Darin Adler.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/Decoder.h: Removed.
  • wtf/Encoder.h: Removed.
1:22 PM Changeset in webkit [170766] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

JSActivation::symbolTablePut() should invalidate variable watchpoints
https://bugs.webkit.org/show_bug.cgi?id=134602

Reviewed by Oliver Hunt.

Usually stores to captured variables cause us to invalidate the variable watchpoint because CodeBlock does so
during linking - we essentially assume that if it's at all possible for an inner function to store to a
variable we declare then this variable cannot be a constant. But this misses the dynamic store case, i.e.
JSActivation::symbolTablePut(). Part of the problem here is that JSActivation duplicates
JSSymbolTableObject's symbolTablePut() logic, which did have the invalidation. This patch keeps that code
duplicated, but fixes JSActivation::symbolTablePut() to do the right thing.

  • runtime/JSActivation.cpp:

(JSC::JSActivation::symbolTablePut):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTablePut):

  • tests/stress/constant-closure-var-with-dynamic-invalidation.js: Added.

(.):

1:10 PM Changeset in webkit [170765] by Brent Fulgham
  • 5 edits
    2 adds in trunk

[Mac] WebKit1 WebView iframe not responding to scroll gestures
https://bugs.webkit.org/show_bug.cgi?id=134569
<rdar://problem/17309008>

Reviewed by Simon Fraser.

Source/WebCore:
New test: platform/mac/fast/scrolling/scroll-iframe-fragment.html

WK1 scrollable areas are implemented on top of PlatformWidget (i.e., NSView) objects. They only
perform a scroll operation if the EventHandler::handleWheelEvent method returns 'false', indicating
that the Cocoa layer should do scrolling work. This is in contrast to WK2, where the scrolling is
handled separately and we return 'true' from EventHandler::handleWheelEvent to indicate that the
scroll event has been handled and that no other work is needed. This mismatch in the meaning of
EventHandler::handleWheelEvent means that WK1 views do not properly handle scroll wheel events.

To correct this, we need to see if we are acting on an Element backed by a PlatformWidget. When we
are (the WK1 case) we want to return 'false' to instruct the Cocoa object to do the scroll operation.
To implement proper latching behavior in WK1, we must return 'true' in the case where we are latched
to a PlatformWidget, and that PlatformWidget did not start the scroll gesture at the edge of
the region in the dominant scroll direction.

Finally, additional logic was needed to determine whether the PlatformWidget is scrolled to the
edge in the dominant scroll direction.

  • page/EventHandler.cpp:

(WebCore::EventHandler::platformCompleteWheelEvent): Added stub.
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Added stub.
(WebCore::EventHandler::handleWheelEvent): Call new platformCompletePlatformWidgetWheelEvent if the
event was handled for a PlatformWidget.

  • page/EventHandler.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::widgetForEventTarget): Added helper function.
(WebCore::scrollViewForEventTarget): Added helper function.
(WebCore::eventTargetIsPlatformWidget): Added helper function.
(WebCore::EventHandler::platformPrepareForWheelEvents): Check whether we are at a scrolled edge
for the NSView (PlatformWidget) case.
(WebCore::EventHandler::platformCompleteWheelEvent): Return 'false' when handling WK1-style scrolls.
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Added. We generally want to
return false so the PlatformWidget handles scrolling, except in the case where we are latched to
a PlatformWidget, which has already performed its scroll, and we want to avoid propegating a
scroll event to an enclosing region.

LayoutTests:

  • platform/mac/fast/scrolling/scroll-iframe-fragment-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-iframe-fragment.html: Added.
1:06 PM Changeset in webkit [170764] by ryuan.choi@samsung.com
  • 4 edits in trunk

Broken build with build-webkit --no-video
https://bugs.webkit.org/show_bug.cgi?id=134587

Reviewed by Darin Adler.

MEDIA_CONTROLS_SCRIPT requires VIDEO enabled.

.:

  • Source/cmake/WebKitFeatures.cmake: Added the dependency for ENABLE_MEDIA_CONTROLS_SCRIPT.

Source/WTF:

  • wtf/FeatureDefines.h: Added error message for dependency failure.
1:01 PM Changeset in webkit [170763] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2] Revise the flat find indicator secondary highlight shadows
https://bugs.webkit.org/show_bug.cgi?id=134607
<rdar://problem/17554828>

Reviewed by Brady Eidson.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::drawRect):
Bring back the secondary highlight shadow, with new constants.

12:48 PM Changeset in webkit [170762] by psolanki@apple.com
  • 4 edits in trunk/Source/WebCore

Preserve old behavior of creating an NSURLRequest of the exact same type as passed to us
https://bugs.webkit.org/show_bug.cgi?id=134605
<rdar://problem/17544641>

Reviewed by Andreas Kling.

We have client code that passes us a subclass of NSURLRequest to load resource. Later when
we call willSendRequest, they test to make sure they get an object of the same type. My
optimization in r170642 broke this path when I cleared out the NSURLRequest object. We
already had code in updateNSURLRequest() that was taking this quirk into account but I broke
that. Fix it by reverting to old behavior for such clients.

No new tests though we need one. I will add it later.

  • platform/network/cf/ResourceRequest.h:
  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::setStorageSession):

  • platform/network/ios/ResourceRequestIOS.mm:

(WebCore::ResourceRequest::updateNSURLRequest):
(WebCore::ResourceRequest::clearOrUpdateNSURLRequest):

12:30 PM Changeset in webkit [170761] by timothy_horton@apple.com
  • 12 edits in trunk/Source/WebKit2

[iOS][WK2] Sometimes the swipe snapshot stays up too long
https://bugs.webkit.org/show_bug.cgi?id=134506
<rdar://problem/17496803>

Reviewed by Simon Fraser.

Implement a transaction callback mechanism.
The UI process can register a callback at any point, generally immediately after sending a message to the Web process.
It will then send another message (in-order) with the callback ID to the Web process, which will put it into the next transaction
(scheduling a new one if needed). When the transaction comes back to the UI process, the callbacks are performed.
This ensures that the callback fires alongside a commit that includes the results of whatever messages were sent before it was registered.
For now, all callbacks are fired just before committing layer changes, but it's possible future patches will want post-commit callbacks.

Make use of this to remove the ViewGestureControllerIOS snapshots at the right time.

  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::callbackIDs):
(WebKit::RemoteLayerTreeTransaction::setCallbackIDs):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
Add a vector of callback IDs to the transaction; encode and decode as appropriate.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::dispatchAfterEnsuringDrawing):
(WebKit::DrawingAreaProxy::lastVisibleTransactionID): Deleted.

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):
Add dispatchAfterEnsuringDrawing, which takes a function.
When a callback is added, we send the callback ID to the Web process via the AddTransactionCallbackID message.
Perform callbacks listed in the incoming transaction's vector of callback IDs.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::addTransactionCallbackID):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
(WebKit::RemoteLayerTreeDrawingArea::addTransactionCallbackID):
Keep track of the pending callback IDs on the drawing area, and move them into the transaction.
We schedule a flush when installing a transaction callback on the premise that
sometimes the action (goToBackForwardListItem in the swipe case) might have already occurred
and been committed by the time the Web process receives AddTransactionCallbackID, so we need
to cause another commit to send the callbacks across. If said commit is still pending, this is a no-op.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(allViewGestureControllers):
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::~ViewGestureController):
(WebKit::ViewGestureController::endSwipeGesture):
(WebKit::ViewGestureController::willCommitPostSwipeTransitionLayerTree):
(WebKit::ViewGestureController::setRenderTreeSize):

  • UIProcess/mac/ViewGestureController.h:

Keep a side-map of page IDs to ViewGestureControllers, so that we can safely get back to
our ViewGestureController from the callback.

When the callback fires, if it succeeded, set m_shouldRemoveSnapshotWhenTargetRenderTreeSizeHit,
so that the commit (which is about to occur immediately after the callback returns) which calls
setRenderTreeSize will (perhaps) remove the snapshot.

If it failed, we remove the snapshot immediately, as this usually happens if the Web process crashed.

12:16 PM Changeset in webkit [170760] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Followup to "rects sent to ServicesOverlayController are wrong"
https://bugs.webkit.org/show_bug.cgi?id=134568

Rubberstamped by Tim Horton.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::drawSelectionHighlight): Don’t check to see if the

proposed rect intersects the dirty rect. We always need to include all rects that form
the selection when creating the DDHighlight.

12:04 PM Changeset in webkit [170759] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

[WK2] RemoteLayerTreeDrawingAreaProxy re-checks a preference every commit for no reason
https://bugs.webkit.org/show_bug.cgi?id=134586

Reviewed by Benjamin Poulain.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::setShouldShowDebugIndicator):
(WebKit::DrawingAreaProxy::showDebugIndicator): Deleted.
(WebKit::DrawingAreaProxy::isShowingDebugIndicator): Remove this, nobody is using it.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::preferencesDidChange):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::setShouldShowDebugIndicator):
(WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator): Deleted.
Check the debug indicator pref at construction time, and update the state when it changes.
Checking it every commit was surprisingly expensive.

10:56 AM Changeset in webkit [170758] by beidson@apple.com
  • 16 edits in trunk/Source

Selection rects sent to ServicesOverlayController are wrong.
<rdar://problem/16727796> and https://bugs.webkit.org/show_bug.cgi?id=134568

Reviewed by Darin Adler (and Tim Horton and Ryosuke Niwa).

Source/WebCore:

  • WebCore.exp.in:

Update the gatherer to keep GapRects separate from LayoutRects:

  • editing/SelectionRectGatherer.cpp:

(WebCore::SelectionRectGatherer::addRects):
(WebCore::SelectionRectGatherer::Notifier::~Notifier):
(WebCore::SelectionRectGatherer::clearAndCreateNotifier):

  • editing/SelectionRectGatherer.h:
  • page/EditorClient.h:

(WebCore::EditorClient::selectionRectsDidChange): Updated to take LayoutRects and GapRects separately.

Change RenderSelectionInfo to also hang on to the individual rects that formed the final bounding rect:

  • rendering/RenderSelectionInfo.h:

(WebCore::RenderSelectionInfo::RenderSelectionInfo): If the RenderObject is a RenderText, then call

collectSelectionRectsForLineBoxes instead of selectionRectForRepaint.

(WebCore::RenderSelectionInfo::rects):

  • rendering/RenderText.cpp:

(WebCore::RenderText::collectSelectionRectsForLineBoxes): Added
(WebCore::RenderText::selectionRectForRepaint):

  • rendering/RenderText.h:
  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::collectSelectionRectsForRange): Added

  • rendering/RenderTextLineBoxes.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::setSubtreeSelection): Add the list of rects to the gatherer instead of just

the bounding rect.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::selectionRectsDidChange): Also pass the GapRects to the ServicesOverlayController.

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/ServicesOverlayController.h:
  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::expandForGap):
(WebKit::compactRectsWithGapRects): Combine 3+ rects down to exactly 3 rects, then expand them based on GapRects.
(WebKit::ServicesOverlayController::selectionRectsDidChange): Call compactRectsWithGapRects, then reverse the list.
(WebKit::ServicesOverlayController::drawSelectionHighlight): Tell data detectors to flip this.
(WebKit::ServicesOverlayController::drawTelephoneNumberHighlight): Tell data detectors to flip this.
(WebKit::ServicesOverlayController::drawCurrentHighlight): No need to flip this anymore.

10:13 AM Changeset in webkit [170757] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Ensure frame creation messages get through to UI process
https://bugs.webkit.org/show_bug.cgi?id=134591
<rdar://problem/16918218>

Reviewed by Anders Carlsson.

If we are middle of handling a synchronous message from UI process a frame creation message back gets delayed.
The subsequent synchronous DecidePolicyForNavigationAction message expects that the frame creation
message has arrived first and fails.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::createWithCoreMainFrame):
(WebKit::WebFrame::createSubframe):

Send messages with DispatchMessageEvenWhenWaitingForSyncReply so they always go through in order.

10:09 AM Changeset in webkit [170756] by andersca@apple.com
  • 4 edits
    4 deletes in trunk/Source/WebKit2

Get rid of DecoderAdapter and EncoderAdapter
https://bugs.webkit.org/show_bug.cgi?id=134598

Reviewed by Andreas Kling.

  • CMakeLists.txt:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/DecoderAdapter.cpp: Removed.
  • WebProcess/WebPage/DecoderAdapter.h: Removed.
  • WebProcess/WebPage/EncoderAdapter.cpp: Removed.
  • WebProcess/WebPage/EncoderAdapter.h: Removed.
  • WebProcess/WebPage/WebPage.cpp:
10:05 AM Changeset in webkit [170755] by andersca@apple.com
  • 6 edits in trunk/Source

Stop using EncoderAdapter/DecoderAdapter for FormData
https://bugs.webkit.org/show_bug.cgi?id=134571

Reviewed by Andreas Kling.

Source/WebCore:

  • WebCore.exp.in:
  • platform/network/FormData.cpp:

(WebCore::encodeElement): Deleted.
(WebCore::decodeElement): Deleted.
(WebCore::FormData::encode): Deleted.
(WebCore::FormData::decode): Deleted.

  • platform/network/FormData.h:

(WebCore::FormDataElement::encode):
(WebCore::FormDataElement::decode):
(WebCore::FormData::encode):
(WebCore::FormData::decode):

Source/WebKit2:

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):

9:19 AM Changeset in webkit [170754] by beidson@apple.com
  • 8 edits in trunk/Source

Possible crash in IconDatabase in WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread
<rdar://problem/17437687> and https://bugs.webkit.org/show_bug.cgi?id=134517

Reviewed by Eric Carlson.

Source/WebCore:
Since WebCore::IconDatabase is not RefCounted there’s no obvious way to keep it alive until it is
truly no longer needed.

This isn’t generally a problem because they are usually a singleton that lasts the lifetime of the process.

In the WebKit2 case, WebCore::IconDatabases can come and go as their owning WebIconDatabases come and go.

So we can rely on WebIconDatabase to handle the lifetime appropriately.

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::close): If the database is actually closed, notify the client.
(WebCore::IconDatabase::IconDatabase):
(WebCore::IconDatabase::isOpen): Take into account whether there’s any main thread callbacks, plus what

is covered by isOpenBesidesMainThreadCallbacks.

(WebCore::IconDatabase::isOpenBesidesMainThreadCallbacks): Take into account whether the sync thread

is still running and whether or not the database file is still open.

(WebCore::IconDatabase::checkClosedAfterMainThreadCallback): Checks to see if the database has just

become 100% closed and - if so - notify the client.

(WebCore::IconDatabase::dispatchDidImportIconURLForPageURLOnMainThread): Updated to increment the main thread

callback count and to call checkClosedAfterMainThreadCallback when done.

(WebCore::IconDatabase::dispatchDidImportIconDataForPageURLOnMainThread): Ditto.
(WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread): Ditto.
(WebCore::IconDatabase::dispatchDidFinishURLImportOnMainThread): Ditto.

  • loader/icon/IconDatabase.h:
  • loader/icon/IconDatabaseClient.h:

(WebCore::IconDatabaseClient::didClose): Added. For the IconDatabase to tell its client it is 100% closed.

Source/WebKit2:

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::~WebContext): Instead of directly deref’ing the WebIconDatabase, ask it to

deref itself when appropriate.

  • UIProcess/WebIconDatabase.cpp:

(WebKit::WebIconDatabase::WebIconDatabase):
(WebKit::WebIconDatabase::didClose): If this WebIconDatabase is supposed to deref itself when

appropriate, do so now.

(WebKit::WebIconDatabase::derefWhenAppropriate): If the WebCore::IconDatabase is still open then

defer this deref.

  • UIProcess/WebIconDatabase.h:
8:46 AM Changeset in webkit [170753] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: VoiceOver does not read aria-expanded attribute on controls in Safari
https://bugs.webkit.org/show_bug.cgi?id=134527

Reviewed by Mario Sanchez Prada.

Expose whether the ARIA expanded property is present or not.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]):

7:55 AM Changeset in webkit [170752] by llango.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

[JavaScriptCore] Add --cmakeargs option to build-jsc.
https://bugs.webkit.org/show_bug.cgi?id=134590

Reviewed by Ryosuke Niwa.

  • Scripts/build-jsc:
7:17 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
6:36 AM Changeset in webkit [170751] by Carlos Garcia Campos
  • 2 edits in trunk

[GTK] The list of features shown by cmake is not accurate
https://bugs.webkit.org/show_bug.cgi?id=134588

Reviewed by Gustavo Noronha Silva.

The problem is that some options might change after the feature
list has been printed.

  • Source/cmake/OptionsGTK.cmake: Find package dependencies before

setting the default values of features and set WEBGL value
depending on the dependencies, and API_TEST depending on whether
developer mode is enabled or not.

5:49 AM Changeset in webkit [170750] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add option to specify jsc args in run-sunspider.
https://bugs.webkit.org/show_bug.cgi?id=134341

Patch by Gergo Balogh <gbalogh.u-szeged@partner.samsung.com> on 2014-07-03
Reviewed by Csaba Osztrogonác.

  • Scripts/run-sunspider:
1:04 AM Changeset in webkit [170749] by ryuan.choi@samsung.com
  • 4 edits in trunk

[CMAKE] Add WEBKIT_OPTION_DEPEND macro to resolve macro dependency
https://bugs.webkit.org/show_bug.cgi?id=134578

Reviewed by Gyuyoung Kim.

Some options depend on another option such as ENABLE_VIDEO_TRACK and ENABLE_VIDEO.
This patch adds WEBKIT_OPTION_DEPEND to check the depending option and
disable related option if it is not ON.

  • Source/cmake/OptionsEfl.cmake: Removed hack for option dependency.
  • Source/cmake/OptionsGTK.cmake: Ditto.
  • Source/cmake/WebKitFeatures.cmake: Added WEBKIT_OPTION_DEPEND macro.
12:56 AM Changeset in webkit [170748] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r170676): [GTK] UI process crashes when the Web Process crashes
https://bugs.webkit.org/show_bug.cgi?id=134541

Reviewed by Gyuyoung Kim.

It happens when attaching a new web process, because it tries to
encode a null SessionState.

  • UIProcess/LegacySessionStateCodingNone.cpp:

(WebKit::encodeLegacySessionState): Return an empty API::Data
object instead of nullptr.
(WebKit::encodeLegacySessionHistoryEntryData): Ditto.

12:53 AM Changeset in webkit [170747] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

REGRESSION(r170743): [GTK] [EFL] Build broken.
https://bugs.webkit.org/show_bug.cgi?id=134585

Reviewed by Philippe Normand.

Add ENABLE(PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC) guards where needed.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::initializePlugin):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):

Note: See TracTimeline for information about the timeline view.