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):

Jul 2, 2014:

9:25 PM Changeset in webkit [170746] by jhoneycutt@apple.com
  • 4 edits in trunk/Source/WebCore

Removing an element with CSS -webkit-overflow-scrolling: touch breaks
subsequent touch events

<https://bugs.webkit.org/show_bug.cgi?id=134584>
<rdar://problem/17202021>

This issue is caused by the order of teardown for RenderLayers.

RenderLayer clears its m_backing in its destructor, calling the
RenderLayerBacking destructor. The RenderLayerBacking destructor calls
RenderLayerCompositor::willRemoveScrollingLayer(), which tries to
access the RenderLayer's backing that has already been cleared. This
causes us to skip the call to ChromeClient::removeScrollingLayer(),
resulting in a stale view that can block touch events.

Reviewed by Simon Fraser.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateScrollingLayers):
When calling willRemoveScrollingLayerWithBacking(), pass both the layer
and the RenderLayerBacking.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::willRemoveScrollingLayerWithBacking):
Renamed. Use the passed RenderLayerBacking, as the RenderLayer's
backing might have already been cleared.
(WebCore::RenderLayerCompositor::willRemoveScrollingLayer): Deleted.

  • rendering/RenderLayerCompositor.h:

Renamed willRemoveScrollingLayer() to
willRemoveScrollingLayerWithBacking() and added a parameter.

9:03 PM Changeset in webkit [170745] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk

Tools: [GTK] Unreviewed gardening.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-07-02

  • Scripts/run-gtk-tests:

(TestRunner): Report and mark flaky test WebKit2Gtk/TestCookieManager:persistent-storage

LayoutTests: Unreviewed gardening.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-07-02

  • platform/gtk/TestExpectations: Report and mark several flaky tests.
  • platform/gtk/fast/text/indic-expected.txt: Added. Add baseline for GTK.
  • platform/mac-wk2/TestExpectations: Report and mark flaky test http/tests/cache/iframe-304-crash.html.
8:52 PM Changeset in webkit [170744] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Make is safe/fast to use the animated resize API without resizing anything
https://bugs.webkit.org/show_bug.cgi?id=134570

Reviewed by Enrica Casucci.

Today, if someone calls _beginAnimatedResizeWithUpdates-_endAnimatedResize, it is always a very heavy process
forcing a relayout and can cause synchronous operations.

We should not force the caller of the API to maintain their own state tracking, we should do that for them.

With this patch, we track everything we need for a resize and only do the heavy lifting if anything has actually changed.

  • UIProcess/API/Cocoa/WKWebView.mm:

(activeMinimumLayoutSize):
(activeMinimumLayoutSizeForMinimalUI):
(activeMaximumUnobscuredSize):
(activeOrientation):
This code is used in both _didRelaunchProcess and _beginAnimatedResizeWithUpdates. It is moved to static functions
to avoid having it in two places.

(-[WKWebView _didRelaunchProcess]):

(-[WKWebView _beginAnimatedResizeWithUpdates:]):
The updates now goes like this:
1) Set _isAnimatingResize to prevent the undesired side effects updateBlock() if we really need to resize.
2) Get all the original values before calling the update block.
3) Call the update block.
4a) If nothing useful for resize has changed, reset _isAnimatingResize to false.

We also need to update the visible content rect because the update block may have changed something unrelated
to the view size (scale, scroll position, etc).

4b) If we really need to resize, proceed as usual.

(-[WKWebView _endAnimatedResize]):
With the changes in _beginAnimatedResizeWithUpdates:, _isAnimatingResize is only set for real cases of animated resize,
bail out early if that flag isn't set.

The remaining code is unchanged, it is just not indented due to the removal of the if() branch.

8:31 PM Changeset in webkit [170743] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebKit2

Improve handling of primary offscreen plugins.
https://bugs.webkit.org/show_bug.cgi?id=134528.
<rdar://problem/17471864>

Reviewed by Dean Jackson.

  • WebProcess/Plugins/PluginView.cpp:

Determine whether or not the plugin starts offscreen when the plugin is initialized.
(WebKit::PluginView::initializePlugin):
(WebKit::PluginView::pluginSnapshotTimerFired):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):
Use the PluginProcessTypeNormal for offscreen plugins that are potentially primary plugins.

8:03 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
7:47 PM Changeset in webkit [170742] by bshafiei@apple.com
  • 4 edits in tags/Safari-538.44.1/Source/WebCore

Roll out r170578.

7:31 PM Changeset in webkit [170741] by gyuyoung.kim@samsung.com
  • 6 edits in trunk/Tools

Clean up unused EFL buildbot information in BuildSlaveSupport and TestResultServer
https://bugs.webkit.org/show_bug.cgi?id=134581

Reviewed by Tim Horton.

Should be removed unused EFL bot info.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js:

(EWS):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

  • TestResultServer/static-dashboards/builders.jsonp:
  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(test):

7:14 PM Changeset in webkit [170740] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.44.1/Source

Versioning.

7:03 PM Changeset in webkit [170739] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.44.1

New tag.

5:59 PM Changeset in webkit [170738] by enrica@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION(WK2): Undo does not work in text fields in Safari.
https://bugs.webkit.org/show_bug.cgi?id=134572
<rdar://problem/17542238>

Reviewed by Benjamin Poulain.

This patch adds for iOS the same implementation we have already for OS X.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(-[WKEditCommandObjC initWithWebEditCommandProxy:]):
(-[WKEditCommandObjC command]):
(-[WKEditorUndoTargetObjC undoEditing:]):
(-[WKEditorUndoTargetObjC redoEditing:]):
(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::registerEditCommand):
(WebKit::PageClientImpl::clearAllEditCommands):
(WebKit::PageClientImpl::canUndoRedo):
(WebKit::PageClientImpl::executeUndoRedo):

5:55 PM Changeset in webkit [170737] by barraclough@apple.com
  • 4 edits in trunk/Source/WebKit2

ProcessAssertion should also prevent UIApp suspension
https://bugs.webkit.org/show_bug.cgi?id=134563

Reviewed by Dan Bernstein.

If the application suspends then the child processes will, too.
Use beginBackgroundTaskWithName:expirationHandler: to request that the application remain runnable
while waiting for background tasks to complete.

  • UIProcess/ProcessAssertion.cpp:

(WebKit::ProcessAssertion::~ProcessAssertion):

  • Added destructor.
  • UIProcess/ProcessAssertion.h:
    • Added destructor.
  • UIProcess/ios/ProcessAssertionIOS.mm:

(+[WKProcessAssertionBackgroundTaskManager shared]):

  • singleton WKProcessAssertionBackgroundTaskManager.

(-[WKProcessAssertionBackgroundTaskManager init]):
(-[WKProcessAssertionBackgroundTaskManager dealloc]):

  • register/remove notification handlers.

(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):

  • if we need to be runnable make sure we're holding a BackgroundTask, if not release it.

(-[WKProcessAssertionBackgroundTaskManager _applicationDidEnterBackgroundOrWillEnterForeground:]):

  • detect when the app enters/leaves foreground; calls to _updateBackgroundTask.

(-[WKProcessAssertionBackgroundTaskManager incrementNeedsToRunInBackgroundCount]):
(-[WKProcessAssertionBackgroundTaskManager decrementNeedsToRunInBackgroundCount]):

  • interface to update the count; calls to _updateBackgroundTask.

(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::~ProcessAssertion):

  • count ProcessAssertions in and out of existance.

(WebKit::ProcessAssertion::setState):

  • count when the state changes.
4:41 PM Changeset in webkit [170736] by mmirman@apple.com
  • 12 edits
    2 adds in branches/ftlopt/Source/JavaScriptCore

Added In for cells to the FTL

4:02 PM Changeset in webkit [170735] by mrowe@apple.com
  • 5 edits in trunk/Source/WebCore

Ensure that the WebKit bundle version in the user agent string continues to match the current format.
<https://webkit.org/b/134524> / <rdar://problem/17447771>

Reviewed by Simon Fraser.

  • page/cocoa/UserAgent.h:
  • page/cocoa/UserAgent.mm:

(WebCore::userVisibleWebKitBundleVersionFromFullVersion): Updated to take an NSString now that it's internal
to the file.
(WebCore::userAgentBundleVersionFromFullVersionString): Limit the bundle version included in the user agent
string to three components.

  • page/ios/UserAgentIOS.mm:

(WebCore::standardUserAgentWithApplicationName): Update to call userAgentBundleVersionFromFullVersionString.

  • page/mac/UserAgentMac.mm:

(WebCore::standardUserAgentWithApplicationName): Ditto.

4:02 PM Changeset in webkit [170734] by mrowe@apple.com
  • 10 edits in trunk/Source

<https://webkit.org/b/134522> Remove duplication in code that prepares the user agent string on Mac and iOS

Reviewed by Simon Fraser.

Source/WebCore:

  • page/cocoa/UserAgent.h:
  • page/cocoa/UserAgent.mm:

(WebCore::userVisibleWebKitBundleVersionFromFullVersion): Moved from WebKit2.

  • page/ios/UserAgentIOS.mm:

(WebCore::standardUserAgentWithApplicationName): Pass the WebKit bundle version through userVisibleWebKitBundleVersionFromFullVersion
before including it in the user agent string.

  • page/mac/UserAgentMac.mm:

(WebCore::standardUserAgentWithApplicationName): Ditto.

Source/WebKit/mac:

  • WebView/WebView.mm:

(webKitBundleVersionString): Return the entire CFBundleVersion now that WebCore handles formatting it.
(+[WebView _standardUserAgentWithApplicationName:]):

Source/WebKit2:

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::webKitBundleVersionString): Return the entire CFBundleVersion now that WebCore handles formatting it.
(WebKit::WebPageProxy::standardUserAgent):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::webKitBundleVersionString): Ditto.
(WebKit::WebPageProxy::standardUserAgent):

3:54 PM Changeset in webkit [170733] by oliver@apple.com
  • 10 edits in trunk/Source/WebKit2

Restrict network process sandbox
https://bugs.webkit.org/show_bug.cgi?id=134360

Reviewed by Sam Weinig.

Add more restrictions to the network process sandbox.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

Always use the cache directory provided in the initialization parameters,
and make sure we consume the cookie directory extension.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

Make the sandbox profile much more restrictive.

  • Shared/Network/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode): (WebKit::NetworkProcessCreationParameters::decode):
  • Shared/Network/NetworkProcessCreationParameters.h:

The network process now requires an extension to access
its cookie storage.

  • Shared/mac/SandboxUtilities.cpp: (WebKit::pathForProcessContainer):
  • Shared/mac/SandboxUtilities.h:

We need to be able to get hold of our container so
that we can get the correct cookie storage directory.

  • UIProcess/WebContext.cpp: (WebKit::WebContext::ensureNetworkProcess):

We have to pass in the an extension for the cookie storage directory when

initalising the network process

  • UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformDefaultCookieStorageDirectory):

Make sure we provide the correct location on IOS

  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):

Consume the cookie storage extension

3:52 PM Changeset in webkit [170732] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r170725.

  • CMakeLists.txt: Removed Shared/LegacySessionState.cpp.
3:52 PM Changeset in webkit [170731] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r170719 for !CF platforms.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::sessionStateData): Deleted.
(WebKit::WebPageProxy::restoreFromSessionStateData): Deleted.

3:38 PM Changeset in webkit [170730] by mrowe@apple.com
  • 7 edits
    1 copy
    3 moves
    1 add in trunk/Source

<https://webkit.org/b/134521> iOS should use shared code to determine the system marketing version

Reviewed by Simon Fraser.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj: Add the new files, and sort the groups they're in.
  • page/cocoa/UserAgent.h: Copied from Source/WebCore/page/mac/UserAgent.h.
  • page/cocoa/UserAgent.mm: Renamed from Source/WebCore/page/mac/UserAgent.h.

Move systemMarketingVersionForUserAgentString to a location where it can be shared between
Mac and iOS.

  • page/ios/UserAgentIOS.mm:

(WebCore::standardUserAgentWithApplicationName): Switch to systemMarketingVersionForUserAgentString.

  • page/mac/UserAgentMac.mm:
  • platform/cocoa/SystemVersion.h: Renamed from Source/WebCore/platform/mac/SystemVersionMac.h.
  • platform/cocoa/SystemVersion.mm: Renamed from Source/WebCore/platform/mac/SystemVersionMac.mm.

Move to a location that makes it clear this is shared between Mac and iOS. Enable the modern Mac
codepath for iOS as well.

Source/WebKit2:

  • Shared/ios/ChildProcessIOS.mm: Update #import.
  • Shared/mac/ChildProcessMac.mm: Ditto.
3:34 PM Changeset in webkit [170729] by fpizlo@apple.com
  • 4 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Allocate a new GetterSetter if we change the value of any of its entries other than when they were previously null, so that if we constant-infer an accessor slot then we immediately get the function constant for free
https://bugs.webkit.org/show_bug.cgi?id=134518

Reviewed by Mark Hahnenberg.

This has no real effect right now, particularly since almost all uses of
setSetter/setGetter were already allocating a branch new GetterSetter. But once we start
doing more aggressive constant property inference, this change will allow us to remove
all runtime checks from getter/setter calls.

  • runtime/GetterSetter.cpp:

(JSC::GetterSetter::withGetter):
(JSC::GetterSetter::withSetter):

  • runtime/GetterSetter.h:

(JSC::GetterSetter::setGetter):
(JSC::GetterSetter::setSetter):

  • runtime/JSObject.cpp:

(JSC::JSObject::defineOwnNonIndexProperty):

3:14 PM Changeset in webkit [170728] by fpizlo@apple.com
  • 3 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Rename notifyTransitionFromThisStructure to didTransitionFromThisStructure

Rubber stamped by Mark Hahnenberg.

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::didTransitionFromThisStructure):
(JSC::Structure::notifyTransitionFromThisStructure): Deleted.

  • runtime/Structure.h:
3:12 PM Changeset in webkit [170727] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Remove keyed coding from FormData
https://bugs.webkit.org/show_bug.cgi?id=134565

Reviewed by Tim Horton.

  • platform/network/FormData.cpp:

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

  • platform/network/FormData.h:
3:04 PM Changeset in webkit [170726] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Get rid of the HistoryItem encoding/decoding in WebCore
https://bugs.webkit.org/show_bug.cgi?id=134564

Reviewed by Beth Dakin.

  • WebCore.exp.in:
  • history/HistoryItem.cpp:

(WebCore::HistoryItem::encodeBackForwardTree): Deleted.
(WebCore::encodeRect): Deleted.
(WebCore::encodeSize): Deleted.
(WebCore::HistoryItem::encodeBackForwardTreeNode): Deleted.
(WebCore::DecodeRecursionStackElement::DecodeRecursionStackElement): Deleted.
(WebCore::decodeRect): Deleted.
(WebCore::decodeSize): Deleted.
(WebCore::HistoryItem::decodeBackForwardTree): Deleted.

  • history/HistoryItem.h:
2:49 PM Changeset in webkit [170725] by andersca@apple.com
  • 6 edits
    2 deletes in trunk/Source/WebKit2

Rip out more dead code
https://bugs.webkit.org/show_bug.cgi?id=134562

Reviewed by Andreas Kling.

  • Shared/LegacySessionState.cpp: Removed.
  • Shared/LegacySessionState.h: Removed.
  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::WebBackForwardListItem): Deleted.
(WebKit::WebBackForwardListItem::backForwardData): Deleted.
(WebKit::WebBackForwardListItem::setBackForwardData): Deleted.
(WebKit::WebBackForwardListItem::encode): Deleted.
(WebKit::WebBackForwardListItem::decode): Deleted.

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::create): Deleted.
(WebKit::WebBackForwardListItem::setOriginalURL): Deleted.
(WebKit::WebBackForwardListItem::setURL): Deleted.
(WebKit::WebBackForwardListItem::setTitle): Deleted.

  • UIProcess/WebPageProxy.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:
2:35 PM Changeset in webkit [170724] by fpizlo@apple.com
  • 5 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Remove the functionality for cloning StructureRareData since we never do that anymore.

Rubber stamped by Mark Hahnenberg.

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::cloneRareDataFrom): Deleted.

  • runtime/Structure.h:
  • runtime/StructureRareData.cpp:

(JSC::StructureRareData::clone): Deleted.
(JSC::StructureRareData::StructureRareData): Deleted.

  • runtime/StructureRareData.h:

(JSC::StructureRareData::needsCloning): Deleted.

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

RestoreSession should take a vector of BackForwardListItemStates
https://bugs.webkit.org/show_bug.cgi?id=134558

Reviewed by Tim Horton.

  • Scripts/webkit2/messages.py:

(struct_or_class):
(headers_for_type):

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::itemStates):

  • UIProcess/WebBackForwardList.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::restoreFromSessionState):
(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::restoreSession):
(WebKit::WebPage::restoreSessionAndNavigateToCurrentItem): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
2:13 PM Changeset in webkit [170722] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Store the back forward list item id inside BackForwardListItemState
https://bugs.webkit.org/show_bug.cgi?id=134557

Reviewed by Tim Horton.

  • Shared/SessionState.cpp:

(WebKit::BackForwardListItemState::encode):
(WebKit::BackForwardListItemState::decode):

  • Shared/SessionState.h:
  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::create):
(WebKit::WebBackForwardListItem::WebBackForwardListItem):
(WebKit::WebBackForwardListItem::encode):

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::itemID):

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::restoreFromState):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::addBackForwardItem):

2:05 PM Changeset in webkit [170721] by Manuel Rego Casasnovas
  • 2 edits in trunk/Source/WebKit2

Unreviewed. EFL and GTK build fix after r170716.

  • UIProcess/LegacySessionStateCodingNone.cpp:

(WebKit::decodeLegacySessionState): Update method signature.

2:03 PM Changeset in webkit [170720] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.44/Source/WTF

Merged r170713.

1:43 PM Changeset in webkit [170719] by andersca@apple.com
  • 5 edits
    1 delete in trunk/Source/WebKit2

Begin ripping out the old session state code
https://bugs.webkit.org/show_bug.cgi?id=134556

Reviewed by Andreas Kling.

  • UIProcess/WebBackForwardList.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/cf/WebBackForwardListCF.cpp: Removed.
  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::sessionStateData): Deleted.
(WebKit::WebPageProxy::restoreFromSessionStateData): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
1:29 PM Changeset in webkit [170718] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[WebGL] Fix crash when glsl expressions are too complex.
https://bugs.webkit.org/show_bug.cgi?id=134554
<rdar://problem/17540462>

Reviewed by Dean Jackson.

This fixes the Khronos test conformance/glsl/bugs/long-expressions-should-not-crash.html.

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
Add SH_LIMIT_EXPRESSION_COMPLEXITY to the ANGLE compile options.

1:22 PM Changeset in webkit [170717] by Antti Koivisto
  • 1 edit
    2 adds in trunk/LayoutTests

REGRESSION(160908): vube.com video won't play after going into and out of fullscreen
https://bugs.webkit.org/show_bug.cgi?id=134489

Reviewed by Zalan Bujtas.

  • fullscreen/full-screen-plugin-expected.txt: Added.
  • fullscreen/full-screen-plugin.html: Added.
1:19 PM Changeset in webkit [170716] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Use legacy state coding directly in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=134553

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKPage.cpp:

(WKPageRestoreFromSessionState):

  • UIProcess/API/C/WKSessionStateRef.cpp:

(WKSessionStateCreateFromData):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _sessionStateData]):
(-[WKWebView _sessionState]):
(-[WKWebView _restoreFromSessionStateData:]):
(-[WKWebView _restoreFromSessionState:]):
(releaseNSData): Deleted.

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

(WebKit::WebPageProxy::restoreFromSessionState):
(WebKit::WebPageProxy::restoreFromState): Deleted.

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

(WebKit::decodeLegacySessionState):

12:55 PM Changeset in webkit [170715] by achristensen@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Moved self to reviewers list.

  • Scripts/webkitpy/common/config/contributors.json:

Moved self to reviewers list, added WebGL to expertise.

12:48 PM Changeset in webkit [170714] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

WebCore JIT: rename registerCount to something less generic and add new types for lists of registers and lists of stack references
https://bugs.webkit.org/show_bug.cgi?id=134552

Reviewed by Alex Christensen.

Little cleanup:
-The name registerCount was a little too generic. Rename that to "maximumRegisterCount" to avoid confusion.
-Add a new type RegisterVector for any vector holding registers. This is just to avoid repeating the inline

size everywhere, no functional change.

-Same idea for the stack: welcome StackReferenceVector!

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::saveAllocatedCallerSavedRegisters):
Remove the appendVector here. It was unnecessarily cautious, StackAllocator already protect us
from mistakes.

  • cssjit/RegisterAllocator.h:

(WebCore::RegisterAllocator::allocatedRegisters):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
Changing from the count of "calleeSavedRegisterCount" to "maximumRegisterCount" will cause
calleeSavedRegisterStackReferences to always overallocate.
The code generator is never on the heap, so that should not change anything.

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::push):
(WebCore::StackAllocator::pop):

12:40 PM Changeset in webkit [170713] by enrica@apple.com
  • 2 edits in trunk/Source/WTF

iOS build fix after http://trac.webkit.org/changeset/170697.

Unreviewed.

  • wtf/Deque.h:
11:30 AM Changeset in webkit [170712] by dino@apple.com
  • 2 edits in trunk/LayoutTests

Skip fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image.html
on Mountain Lion. It doesn't support such large textures (or at least our
bots don't).

  • platform/mac/TestExpectations:
10:40 AM Changeset in webkit [170711] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add -[WKWebView _sessionStateData] and -[WKWebView _restoreFromSessionStateData:]
https://bugs.webkit.org/show_bug.cgi?id=134549

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _sessionState]):
(-[WKWebView _sessionStateData]):
(-[WKWebView _restoreFromSessionState:]):
(-[WKWebView _restoreFromSessionStateData:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
10:33 AM Changeset in webkit [170710] by mitz@apple.com
  • 16 edits in trunk/Source

Remove some code only needed for versions of Safari that are no longer supported
https://bugs.webkit.org/show_bug.cgi?id=134537

Reviewed by Anders Carlsson.

Source/WebCore:

  • bindings/objc/DOMHTML.mm:

(-[DOMHTMLInputElement _rectOnScreen]): Deleted.
(-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): Deleted.
(-[DOMHTMLInputElement _selectedRange]): Deleted.

  • bindings/objc/DOMPrivate.h:
  • editing/EditorCommand.cpp:

(WebCore::createCommandMap):

Source/WebKit/mac:

  • History/WebHistoryItem.mm:
  • Misc/WebKitVersionChecks.h:
  • WebCoreSupport/WebSecurityOrigin.mm:

(-[WebSecurityOrigin domain]): Deleted.

  • WebInspector/WebInspector.mm:

(-showTimeline:): Deleted.
(+webInspector): Deleted.
(-setWebFrame:): Deleted.
(-window): Deleted.
(-showWindow:): Deleted.

  • WebView/WebFrame.mm:

(-[WebFrame reload]):

  • WebView/WebPDFView.mm:

(-[WebPDFView menuForEvent:]):
(-[WebPDFView _anyPDFTagsFoundInMenu:]): Deleted.

  • WebView/WebView.mm:

(-[WebView _initWithFrame:frameName:groupName:]):
(-[WebView _preferencesChanged:]):
(-[WebView initWithFrame:frameName:groupName:]):
(-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]): Deleted.
(+[WebView _setAlwaysUseATSU:]): Deleted.
(-[WebView _needsUnrestrictedGetMatchedCSSRules]): Deleted.

  • WebView/WebViewPrivate.h:

Source/WTF:

  • wtf/Assertions.cpp:
  • wtf/Assertions.h:
9:02 AM Changeset in webkit [170709] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GStreamer] MediaPlayerPrivateGStreamer.cpp fails to build when VIDEO_TRACK is enabled and using GSTREAMER_MPEGTS
https://bugs.webkit.org/show_bug.cgi?id=134548

Reviewed by Philippe Normand.

Include AtomicStringHash.h when ENABLE(VIDEO_TRACK) && USE(GSTREAMER_MPEGTS)
since it's used by HashMap<AtomicString, RefPtr<InbandMetadataTextTrackPrivateGStreamer>>

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
8:24 AM Changeset in webkit [170708] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Unstable headers should include webkitdomdefines-unstable.h
https://bugs.webkit.org/show_bug.cgi?id=134540

Reviewed by Martin Robinson.

Instead of the class header that can only be included from webkitdom.h.

  • bindings/scripts/CodeGeneratorGObject.pm:

(WriteData):

8:22 AM Changeset in webkit [170707] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[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.
8:13 AM Changeset in webkit [170706] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Make dist only works when run from the source directory
https://bugs.webkit.org/show_bug.cgi?id=134543

Reviewed by Martin Robinson.

Since the paths in the manifest are relative to the source dir,
and the script expects the current working directory to be the
source directory, resolve all passed in relative paths while
parsing the arguments and then change the current working
directory.

  • gtk/make-dist.py:
8:11 AM Changeset in webkit [170705] by Carlos Garcia Campos
  • 5 edits in trunk

[GTK] make dist is broken
https://bugs.webkit.org/show_bug.cgi?id=134542

Reviewed by Martin Robinson.

.:

  • Source/PlatformGTK.cmake: Remove ENABLE_WEBKIT check.

Tools:

  • gtk/make-dist.py: Rename command line options to match what cmake uses.
  • gtk/manifest.txt: Remove WebKit1 references and add WebKitDOM documentation.
4:03 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
2:52 AM Changeset in webkit [170704] by mario.prada@samsung.com
  • 4 edits in trunk

REGRESSION(r170008): [GTK] Layout Tests fast/forms/option-constructor-selected.html and fast/forms/select-live-pseudo-selectors.html crash.
https://bugs.webkit.org/show_bug.cgi?id=134399

Reviewed by Chris Fleizach.

Source/WebCore:
Check that the value of optionIndex passed as a parameter is valid
before calling didUpdateActiveOption() over the item of the menu
list, to prevent crashes in platforms where renderers (and therefore
accessibility objects) might not be created for items at the time
of calling AccessibilityMenuList::didUpdateActiveOption().

  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::didUpdateActiveOption): Added check.

LayoutTests:
Removing Crash expectations for two layout tests.

  • platform/gtk/TestExpectations: Updated.
1:22 AM Changeset in webkit [170703] by Lucas Forschler
  • 1 copy in tags/Safari-538.44

New Tag.

12:19 AM Changeset in webkit [170702] by Carlos Garcia Campos
  • 22 edits
    3 adds in trunk

[GTK] WebKitWebView::create should receive information about the navigation action
https://bugs.webkit.org/show_bug.cgi?id=133680

Reviewed by Martin Robinson.

Source/WebKit2:
Add WebKitNavigationAction boxed type representing a navigation
action to be passed as parameter of WebKitWebView::create
signal. In the future it could be also for the
WebKitNavigationPolicyDecision class. The class contains
information about a navigation action like the navigation type,
the request, the mouse button and key modifiers and whether it was
started by a user gesture. This information is needed to be able
to implement a proper popup blocker. Since all that information is
not provided by the C API, we have switched the UI client to use a
custom client derived from API::UIClient. This also avoids a lot
of toAPI -> toImpl unneeded conversions.

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/WebKitHitTestResult.cpp:

(webkitHitTestResultCreate): Use a WebHitTestResult::Data const
reference instead of a pointer to a WebHitTestResult.
(webkitHitTestResultCompare): Ditto.

  • UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
  • UIProcess/API/gtk/WebKitNavigationAction.cpp: Added.

(webkitNavigationActionCreate): Create a WebKitNavigationAction
for the given ResourceRequest and NavigationActionData.
(webkit_navigation_action_copy):
(webkit_navigation_action_free):
(webkit_navigation_action_get_navigation_type):
(webkit_navigation_action_get_mouse_button):
(webkit_navigation_action_get_modifiers):
(webkit_navigation_action_get_request):
(webkit_navigation_action_is_user_gesture):

  • UIProcess/API/gtk/WebKitNavigationAction.h: Added.
  • UIProcess/API/gtk/WebKitNavigationActionPrivate.h: Added.
  • UIProcess/API/gtk/WebKitNavigationPolicyDecision.h:
  • UIProcess/API/gtk/WebKitPrivate.cpp:

(toGdkModifiers):
(toWebKitNavigationType):
(toWebKitMouseButton):

  • UIProcess/API/gtk/WebKitPrivate.h:
  • UIProcess/API/gtk/WebKitUIClient.cpp:

(UIClient::UIClient): Implement the UIClient using a custom class.
(attachUIClientToView): Set the UIClient directly to the WebPageProxy.
(createNewPage): Deleted.
(showPage): Deleted.
(closePage): Deleted.
(runJavaScriptAlert): Deleted.
(runJavaScriptConfirm): Deleted.
(runJavaScriptPrompt): Deleted.
(toolbarsAreVisible): Deleted.
(setToolbarsAreVisible): Deleted.
(menuBarIsVisible): Deleted.
(setMenuBarIsVisible): Deleted.
(statusBarIsVisible): Deleted.
(setStatusBarIsVisible): Deleted.
(isResizable): Deleted.
(setIsResizable): Deleted.
(getWindowFrame): Deleted.
(setWindowFrame): Deleted.
(mouseDidMoveOverElement): Deleted.
(printFrame): Deleted.
(runOpenPanel): Deleted.
(decidePolicyForGeolocationPermissionRequest): Deleted.
(runModal): Deleted.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewCreate): Add WebKitNavigationAction parameter.
(webkit_web_view_class_init): Add WebKitNavigationAction paramter
to CREATE signal.
(webkitWebViewCreateNewPage): Add WebKitNavigationAction parameter
and pass it to the signal callbacks.
(webkitWebViewMouseTargetChanged): Use a WebHitTestResult::Data
const reference.
(webkitWebViewPopulateContextMenu): Ditto.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/WebKitWindowProperties.cpp:

(webkitWindowPropertiesUpdateFromWebWindowFeatures): Use a
WebCore::WindowFeatures const reference.

  • UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section.
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  • UIProcess/API/gtk/webkit2.h: Include WebKitNavigationAction.h.

Tools:
Add unit test to check the WebKitNavigationAction passed to
WebKitWebView::create callback.

  • MiniBrowser/gtk/BrowserWindow.c:

(webViewCreate): Add WebKitNavigationAction parameter.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:

(testWebViewCreateNavigationData):
(beforeAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitPolicyClient.cpp:

(createCallback):

12:09 AM Changeset in webkit [170701] by Carlos Garcia Campos
  • 8 edits in trunk

[GTK] Do not add forward declaration of class struct for interfaces
https://bugs.webkit.org/show_bug.cgi?id=134297

Reviewed by Martin Robinson.

Source/WebCore:

  • PlatformGTK.cmake: Make files generated by

gobject-generate-headers.pl script depend on it.

  • bindings/gobject/WebKitDOMEventTarget.h: Remove forward declaration.
  • bindings/gobject/WebKitDOMNodeFilter.h: Ditto
  • bindings/gobject/WebKitDOMXPathNSResolver.h: Ditto.
  • bindings/scripts/gobject-generate-headers.pl: Use Iface instead

of Class suffix for interfaces.

Tools:
Add Iface symbol to documentation instead of Class for interfaces.

  • gtk/webkitdom.py:

(WebKitDOMDocGeneratorSections.write_section):

12:04 AM Changeset in webkit [170700] by Carlos Garcia Campos
  • 7 edits
    7 adds in trunk

[GTK] XPathNSResolver should be exposed as an interface instead of as a class
https://bugs.webkit.org/show_bug.cgi?id=134028

Reviewed by Gustavo Noronha Silva.

Source/WebCore:
Add custom implementation of WebKitDOMXPathNSResolver to expose it
as an interface instead of a class. It also includes an internal
default implementation of the interface to support methods that
create a XPathNSResolver using the native implementation.

  • PlatformGTK.cmake: Add new files to compilation.
  • bindings/gobject/GObjectXPathNSResolver.cpp: Added.

(WebCore::GObjectXPathNSResolver::~GObjectXPathNSResolver):
(WebCore::GObjectXPathNSResolver::lookupNamespaceURI): Call
webkit_dom_xpath_ns_resolver_lookup_namespace_uri().

  • bindings/gobject/GObjectXPathNSResolver.h: Added.

(WebCore::GObjectXPathNSResolver::create):
(WebCore::GObjectXPathNSResolver::GObjectXPathNSResolver): Create
a new GObjectXPathNSResolver for the given WebKitDOMXPathNSResolver.

  • bindings/gobject/WebKitDOMXPathNSResolver.cpp: Added.

(webkit_dom_xpath_ns_resolver_default_init):
(webkit_dom_xpath_ns_resolver_lookup_namespace_uri):
(webkitDOMNativeXPathNSResolverFinalize):
(webkitDOMNativeXPathNSResolverConstructor):
(webkit_dom_native_xpath_ns_resolver_init):
(webkit_dom_native_xpath_ns_resolver_class_init):
(webkitDOMNativeXPathNSResolverLookupNamespaceURI):
(webkitDOMXPathNSResolverIfaceInit):
(WebKit::core): Return the native XPathNSResolver when using the
internal implementation or create a custom XPathNSResolver when
using a user provided WebKitDOMXPathNSResolver.
(WebKit::kit):

  • bindings/gobject/WebKitDOMXPathNSResolver.h: Added.
  • bindings/gobject/WebKitDOMXPathNSResolverPrivate.h: Added.
  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateFunction): Add exceptions for XPathNSResolver since
the core method returns a PassRefPtr.

Tools:
Add unit tests to check WebKitDOMXPathNSResolver API when using the
native one and a user provided one.

  • Scripts/webkitpy/style/checker.py: Add WebKitDOMXPathNSResolver

to the list of GTK+ public API exceptions.

  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Add new files to compilation.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMXPathNSResolverTest.cpp: Added.

(webkitXPathNSResolverLookupNamespaceURI):
(webkitXPathNSResolverDOMXPathNSResolverIfaceInit):
(webkit_xpath_ns_resolver_init):
(webkit_xpath_ns_resolver_class_init):
(WebKitDOMXPathNSResolverTest::create):
(WebKitDOMXPathNSResolverTest::webPageFromArgs):
(WebKitDOMXPathNSResolverTest::evaluateFooChildTextAndCheckResult):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverNative):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverCustom):
(WebKitDOMXPathNSResolverTest::runTest):
(registerTests):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMXPathNSResolver.cpp: Added.

(runTest):
(testWebKitDOMXPathNSResolverNative):
(testWebKitDOMXPathNSResolverCustom):
(serverCallback):
(beforeAll):
(afterAll):

  • gtk/webkitdom.py:

(WebKitDOMDocGeneratorSections.write_section): Add
WebKitDOMXPathNSResolver to the list of interfaces.

Jul 1, 2014:

11:44 PM Changeset in webkit [170699] by fred.wang@free.fr
  • 6 edits
    4 deletes in trunk

The OpenType MATH table is not read on Mac
https://bugs.webkit.org/show_bug.cgi?id=133569

Reviewed by Chris Fleizach.

Source/WebCore:
An incorrect tag format is used to load the OpenType MATH table on Mac.
This commit makes the format consistent with what is used for other tables on Mac.
This will allow to load the MATH table and to use it for the MathML rendering.

No new tests. platform/graphics/opentype already contains tests for the OpenType MATH support.

  • platform/graphics/opentype/OpenTypeMathData.cpp:

LayoutTests:
We update the references for some tests in LayoutTests/mathml/opentype/ and remove the failure from TestExpectations.
Other tests require a font with a MATH table to be installed on Mac bots and to be used by default (bug 133603).

  • platform/mac-wk2/mathml/opentype/opentype-stretchy-expected.txt: Removed.
  • platform/mac/TestExpectations: Enable mathml/opentype/opentype-stretchy-horizontal.html and mathml/opentype/opentype-stretchy.html.
  • platform/mac/mathml/horizontal-LatinModern-expected.txt: Removed. This file should not have been in this directory.
  • platform/mac/mathml/horizontal-LatinModern-munderover-expected.txt: Removed. This file should not have been in this directory.
  • platform/mac/mathml/opentype-stretchy-horizontal-expected.txt: Removed. This file should not have been in this directory.
  • platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Add text reference.
  • platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Add text reference.
10:57 PM Changeset in webkit [170698] by achristensen@apple.com
  • 5 edits in trunk/Source

[Win64] Unreviewed build fix.

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj:

Exclude CA files from 32 and 64 bit WinCairo builds.

  • WebCore.vcxproj/WebCoreTestSupport.vcxproj:

Don't use a precompiled header in 32 or 63 bit builds of MockCDM.cpp.

Source/WebKit:

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

Corrected 64-bit linker symbols.

9:49 PM Changeset in webkit [170697] by achristensen@apple.com
  • 7 edits in trunk/Source

Reduce dynamic memory allocation in css jit.
https://bugs.webkit.org/show_bug.cgi?id=134416

Reviewed by Benjamin Poulain.

Source/WebCore:

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::saveAllocatedRegisters):

  • cssjit/RegisterAllocator.h:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::push):
(WebCore::StackAllocator::pop):
Use inlineCapacity template parameter to reduce malloc calls.
I use 32 as the inline capacity for non-register related vectors because that
is probably big enough for the selector compiler, and if it is not then a malloc
call will not be significant because the selector is very complex.

Source/WTF:

  • wtf/Deque.h:

Added inlineCapacity optional template parameter.

9:49 PM Changeset in webkit [170696] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] Fix occurrence of two cursors on WK2 EFL.
https://bugs.webkit.org/show_bug.cgi?id=134436

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-07-01
Reviewed by Anders Carlsson.

ecore_x_window_cursor is released when ecore_evas_object_cursor should be shown in order to avoid occurrence of two cursors.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::updateCursor):

8:44 PM Changeset in webkit [170695] by gyuyoung.kim@samsung.com
  • 4 edits in trunk

Fix build break on EFL and GTK ports since r170683
https://bugs.webkit.org/show_bug.cgi?id=134536

Unreviewed, build fix.

Source/WebKit2:

  • CMakeLists.txt:

Tools:

  • TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp:
8:35 PM Changeset in webkit [170694] by eric.carlson@apple.com
  • 24 edits in trunk

WebVTT percentage value can be a float
https://bugs.webkit.org/show_bug.cgi?id=134511

Reviewed by Brent Fulgham.

Source/WebCore:
No new tests, existing tests modified.

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::setLine): int -> double.
(WebCore::TextTrackCueGeneric::setPosition): Ditto.

  • html/track/TextTrackCueGeneric.h:
  • html/track/VTTCue.cpp:

(WebCore::VTTCue::setLine): Ditto.
(WebCore::VTTCue::setPosition): Ditto.
(WebCore::VTTCue::setCueSettings): Support floating point values for line, position, and size.
(WebCore::scanPercentage): Deleted.

  • html/track/VTTCue.h:
  • html/track/VTTScanner.cpp:

(WebCore::VTTScanner::scanFloat): Support negative values.

  • html/track/VTTScanner.h:
  • html/track/WebVTTParser.cpp: Include parseFloatPercentageValue in non-WEBVTT_REGIONS builds.
  • html/track/WebVTTParser.h:
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Drive by change to take a cue

reference rather than a pointer.

(WebCore::InbandTextTrackPrivateAVF::processAttributedStrings): Ditto.
(WebCore::InbandTextTrackPrivateAVF::removeCompletedCues): Loop over all cues, don't LOG that

we are asking the client to delete the cue because the client will have already deleted
it when status when to GenericCueData::Complete.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:

LayoutTests:

  • media/track/captions-webvtt/tc015-positioning-ltr.vtt:
  • media/track/captions-webvtt/tc015-positioning.vtt:
  • media/track/captions-webvtt/tc017-line-position.vtt:
  • media/track/captions-webvtt/tc018-align-text-line-position.vtt:
  • media/track/captions-webvtt/tc019-cue-size.vtt:
  • media/track/track-webvtt-tc015-positioning-expected.txt:
  • media/track/track-webvtt-tc015-positioning.html:
  • media/track/track-webvtt-tc017-line-position-expected.txt:
  • media/track/track-webvtt-tc017-line-position.html:
  • media/track/track-webvtt-tc018-align-text-line-position-expected.txt:
  • media/track/track-webvtt-tc018-align-text-line-position.html:
  • media/video-test.js:

(testCues):

8:21 PM Changeset in webkit [170693] by dino@apple.com
  • 2 edits in trunk/Source/WebKit2

Make LogsPageMessagesToSystemConsoleEnabled a global debug preference
https://bugs.webkit.org/show_bug.cgi?id=134534

Reviewed by Joseph Pecoraro.

  • Shared/WebPreferencesDefinitions.h:
8:06 PM Changeset in webkit [170692] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Handle invalid data more gracefully.

Reviewed by Anders Carlsson.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::decodeFormData):
(WebKit::decodeBackForwardTreeNode):

7:50 PM Changeset in webkit [170691] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Fix this test; it was waiting about 32 years for the end of an animation.
What we really care about is the start of the animation.

  • compositing/animation/keyframe-order.html:
7:43 PM Changeset in webkit [170690] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Improve behavior of position:sticky on zoomed pages
https://bugs.webkit.org/show_bug.cgi?id=134535
<rdar://problem/12898829>

Reviewed by Dean Jackson.

Despite r138036, position:sticky still had incorrect behavior in zoomed pages.

Fix by removing the scaling of the rect from viewportConstrainedVisibleContentRect(),
since all the other math happens in unscaled coordinates.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::constrainingRectForStickyPosition):

7:24 PM Changeset in webkit [170689] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit2

Add a missing return statement in WKPageCopySessionState.

Reviewed by Anders Carlsson.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopySessionState):

6:36 PM Changeset in webkit [170688] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Remove WebChromeClient code that was only needed for Safari versions earlier than 3.1
https://bugs.webkit.org/show_bug.cgi?id=134531

Reviewed by Daniel Bates.

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::exceededDatabaseQuota):

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

Don't encode/decode the snapshot UUID
https://bugs.webkit.org/show_bug.cgi?id=134532

Reviewed by Sam Weinig.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeSessionHistory):
(WebKit::decodeSessionHistoryEntry):

6:24 PM Changeset in webkit [170686] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebKit2

Unreviewed, rolling out r170608.
https://bugs.webkit.org/show_bug.cgi?id=134533

Safari keeps crashing on device due to sandbox violation.
(Requested by enrica on #webkit).

Reverted changeset:

"Restrict network process sandbox"
https://bugs.webkit.org/show_bug.cgi?id=134360
http://trac.webkit.org/changeset/170608

5:57 PM Changeset in webkit [170685] by psolanki@apple.com
  • 6 edits in trunk

Encode/decode CFURLRequestRefs when USE(CFNETWORK) is enabled
https://bugs.webkit.org/show_bug.cgi?id=134454
<rdar://problem/17510980>

Reviewed by Andreas Kling.

Source/WebKit2:
Use new helper methods to serialize/deserialize CFURLRequestRef directly so we can avoid
creating NSURLRequest.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):

WebKitLibraries:

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
5:49 PM Changeset in webkit [170684] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Fix a race between the short tap and long tap highlight
https://bugs.webkit.org/show_bug.cgi?id=134530

Reviewed by Enrica Casucci.

There was a potential race of event that can theoretically cause WKContentViewInteraction
to call [WKContentView _showTapHighlight] after all interactions have been cancelled.

The race would be like this:
1) On a short tap, _singleTapRecognized: is called, a tap highlight ID is defined and

_potentialTapInProgress is set to YES.

2) For some reason, the gesture is cancelled. The method _singleTapDidReset is called,

setting _potentialTapInProgress but leaving the tap highlight ID as valid.

3) The UIProcess receives the tap highlight information from the WebProcess, _didGetTapHighlightForRequest:

has a valid ID, _potentialTapInProgress is false -> the highlight is shown right away as if a long tap
was in progress.

The missing piece that causes this is _singleTapDidReset: must also invalidate the tap highlight ID. This is done
in the new static function cancelPotentialTapIfNecessary().

Just invalidating the ID would create another race:
1) Short tap gesture recognizer starts.
2) The long press recognizer starts before (1) is commited.
3) The long press recognizers sets up its own tap highlight ID.
4) The short tap gesture recognizer resets, erasing the tap highlight ID defined in (3).

To avoid this, the long press gesture recognizers immediately cancels any potential tap in progress.
If _singleTapDidReset: is called before (3), this does nothing. If the reset is called after (3),
_singleTapDidReset does nothing.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _highlightLongPressRecognized:]):
(cancelPotentialTapIfNecessary):
(-[WKContentView _singleTapDidReset:]):

5:47 PM Changeset in webkit [170683] by andersca@apple.com
  • 8 edits in trunk

Add ABI hacks to allow WKPageRef to use WKSessionStateRef
https://bugs.webkit.org/show_bug.cgi?id=134529

Reviewed by Sam Weinig.

  • UIProcess/API/APISessionState.h:

Add a sessionState() getter.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopySessionState):
Add a hack where we return a WKSessionStateRef if the least significant bit of the context pointer
is 1, and a WKDataRef otherwise.

(WKPageRestoreFromSessionState):
Handle both WKDataRef and WKSessionStateref.

  • UIProcess/API/C/WKPage.h:

Use WKTypeRefs for state saving and restoration.

  • UIProcess/API/C/WKSessionStateRef.cpp:

(WKSessionStateCopyData):
Add helper function.

5:43 PM Changeset in webkit [170682] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WebGL] Fix PVRTC extension.
https://bugs.webkit.org/show_bug.cgi?id=134525

Patch by Alex Christensen <achristensen@webkit.org> on 2014-07-01
Reviewed by Dean Jackson.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
Remove the return false which I mistakenly committed in r170128
and make the gl error match the S3TC error and the khronos test.

5:13 PM Changeset in webkit [170681] by jonowells@apple.com
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Hexadecimal color values in all CSS editors are purple when they should be blue
https://bugs.webkit.org/show_bug.cgi?id=133997

Reviewed by Joseph Pecoraro.

CodeMirror 4 removed the style for hex colors from the CSS tokenizer.
Feature has been added to CodeMirrorAdditions.js.

  • UserInterface/Views/CodeMirrorAdditions.js: Added hex-color to style for a valid hexadecimal color.
  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Added selector for hexadecimal color.
5:12 PM Changeset in webkit [170680] by mark.lam@apple.com
  • 17 edits
    1 delete in branches/ftlopt/Source

[ftlopt] DebuggerCallFrame::scope() should return a DebuggerScope.
<https://webkit.org/b/134420>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
Previously, DebuggerCallFrame::scope() returns a JSActivation (and relevant
peers) which the WebInspector will use to introspect CallFrame variables.
Instead, we should be returning a DebuggerScope as an abstraction layer that
provides the introspection functionality that the WebInspector needs. This
is the first step towards not forcing every frame to have a JSActivation
object just because the debugger is enabled.

  1. Instantiate the debuggerScopeStructure as a member of the JSGlobalObject instead of the VM. This allows JSObject::globalObject() to be able to return the global object for the DebuggerScope.
  1. On the DebuggerScope's life-cycle management:

The DebuggerCallFrame is designed to be "valid" only during a debugging session
(while the debugger is broken) through the use of a DebuggerCallFrameScope in
Debugger::pauseIfNeeded(). Once the debugger resumes from the break, the
DebuggerCallFrameScope destructs, and the DebuggerCallFrame will be invalidated.
We can't guarantee (from this code alone) that the Inspector code isn't still
holding a ref to the DebuggerCallFrame (though they shouldn't), but by contract,
the frame will be invalidated, and any attempt to query it will return null values.
This is pre-existing behavior.

Now, we're adding the DebuggerScope into the picture. While a single debugger
pause session is in progress, the Inspector may request the scope from the
DebuggerCallFrame. While the DebuggerCallFrame is still valid, we want
DebuggerCallFrame::scope() to always return the same DebuggerScope object.
This is why we hold on to the DebuggerScope with a strong ref.

If we use a weak ref instead, the following cooky behavior can manifest:

  1. The Inspector calls Debugger::scope() to get the top scope.
  2. The Inspector iterates down the scope chain and is now only holding a reference to a parent scope. It is no longer referencing the top scope.
  3. A GC occurs, and the DebuggerCallFrame's weak m_scope ref to the top scope gets cleared.
  4. The Inspector calls DebuggerCallFrame::scope() to get the top scope again but gets a different DebuggerScope instance.
  5. The Inspector iterates down the scope chain but never sees the parent scope instance that retained a ref to in step 2 above. This is because when iterating this new DebuggerScope instance (which has no knowledge of the previous parent DebuggerScope instance), a new DebuggerScope instance will get created for the same parent scope.

Since the DebuggerScope is a JSObject, it's liveness is determined by its reachability.
However, it's "validity" is determined by the life-cycle of its owner DebuggerCallFrame.
When the owner DebuggerCallFrame gets invalidated, its debugger scope chain (if
instantiated) will also get invalidated. This is why we need the
DebuggerScope::invalidateChain() method. The Inspector should not be using the
DebuggerScope instance after its owner DebuggerCallFrame is invalidated. If it does,
those methods will do nothing or returned a failed status.

  • debugger/Debugger.h:
  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::scope):
(JSC::DebuggerCallFrame::evaluate):
(JSC::DebuggerCallFrame::invalidate):
(JSC::DebuggerCallFrame::vm):
(JSC::DebuggerCallFrame::lexicalGlobalObject):

  • debugger/DebuggerCallFrame.h:
  • debugger/DebuggerScope.cpp:

(JSC::DebuggerScope::DebuggerScope):
(JSC::DebuggerScope::finishCreation):
(JSC::DebuggerScope::visitChildren):
(JSC::DebuggerScope::className):
(JSC::DebuggerScope::getOwnPropertySlot):
(JSC::DebuggerScope::put):
(JSC::DebuggerScope::deleteProperty):
(JSC::DebuggerScope::getOwnPropertyNames):
(JSC::DebuggerScope::defineOwnProperty):
(JSC::DebuggerScope::next):
(JSC::DebuggerScope::invalidateChain):
(JSC::DebuggerScope::isWithScope):
(JSC::DebuggerScope::isGlobalScope):
(JSC::DebuggerScope::isFunctionScope):

  • debugger/DebuggerScope.h:

(JSC::DebuggerScope::create):
(JSC::DebuggerScope::Iterator::Iterator):
(JSC::DebuggerScope::Iterator::get):
(JSC::DebuggerScope::Iterator::operator++):
(JSC::DebuggerScope::Iterator::operator==):
(JSC::DebuggerScope::Iterator::operator!=):
(JSC::DebuggerScope::isValid):
(JSC::DebuggerScope::jsScope):
(JSC::DebuggerScope::begin):
(JSC::DebuggerScope::end):

  • inspector/JSJavaScriptCallFrame.cpp:

(Inspector::JSJavaScriptCallFrame::scopeType):
(Inspector::JSJavaScriptCallFrame::scopeChain):

  • inspector/JavaScriptCallFrame.h:

(Inspector::JavaScriptCallFrame::scopeChain):

  • inspector/ScriptDebugServer.cpp:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::debuggerScopeStructure):

  • runtime/JSObject.h:

(JSC::JSObject::isWithScope):

  • runtime/JSScope.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:
No new tests.

  • ForwardingHeaders/debugger/DebuggerCallFrame.h: Removed.
  • This is not in use. Hence, we can remove it.
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::attachDebugger):

  • We should acquire the JSLock before modifying a JS global object.
5:08 PM Changeset in webkit [170679] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

WKPageRestoreFromSessionState should use the new session state restore code path
https://bugs.webkit.org/show_bug.cgi?id=134526

Reviewed by Tim Horton.

  • UIProcess/API/C/WKPage.cpp:

(WKPageRestoreFromSessionState):
Use the new code path.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::restoreFromState):
Only restore the back-forward state if we have a back-forward list.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeSessionHistory):
Save the original URL string as well.

(WebKit::decodeV1SessionHistory):
If we don't have a current index, set it to Nullopt instead of 0.

4:57 PM Changeset in webkit [170678] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: iOS does not expose ARIA toggle buttons at all (not even as a regular button)
https://bugs.webkit.org/show_bug.cgi?id=133875

Reviewed by Enrica Casucci.

Source/WebCore:
Support the toggle button type in iOS.

Test: platform/ios-sim/accessibility/toggle-button.html

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
(-[WebAccessibilityObjectWrapper accessibilityTraits]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):

LayoutTests:

  • platform/ios-sim/accessibility/toggle-button-expected.txt: Added.
  • platform/ios-sim/accessibility/toggle-button.html: Added.
4:40 PM Changeset in webkit [170677] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Debugger's breakpoint list should not be a Vector.
<https://webkit.org/b/134514>

Reviewed by Geoffrey Garen.

The debugger currently stores breakpoint data as entries in a Vector (see
BreakpointsInLine). It also keeps a fast map look up of breakpoint IDs to
the breakpoint data (see m_breakpointIDToBreakpoint). Because a Vector can
compact or reallocate its backing store, this can causes all sorts of havoc.
The m_breakpointIDToBreakpoint map assumes that the breakpoint data doesn't
move in memory.

The fix is to replace the BreakpointsInLine Vector with a BreakpointsList
doubly linked list.

  • debugger/Breakpoint.h:

(JSC::Breakpoint::Breakpoint):
(JSC::BreakpointsList::~BreakpointsList):

  • debugger/Debugger.cpp:

(JSC::Debugger::setBreakpoint):
(JSC::Debugger::removeBreakpoint):
(JSC::Debugger::hasBreakpoint):

  • debugger/Debugger.h:
4:40 PM Changeset in webkit [170676] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed. EFL and GTK build fix since r170654.

  • UIProcess/LegacySessionStateCodingNone.cpp: Add a dummy encodeLegacySessionState(const SessionState&).

(WebKit::encodeLegacySessionState):

4:26 PM Changeset in webkit [170675] by dino@apple.com
  • 6 edits
    6 adds in trunk

[iOS] Subsampled JPEG images do not draw correctly via the canvas APIs
https://bugs.webkit.org/show_bug.cgi?id=134513
<rdar://problem/12078860>
<rdar://problem/16745393>

Reviewed by Tim Horton.

Source/WebCore:
Subsampled images (e.g. JPEG) were not consistently using
their original dimensions and subsampled dimensions. This caused
things like texImage2D to pack the pixels incorrectly, or drawImage
to squish the rendering.

Renamed m_scale to m_subsamplingScale on FrameData.

Tests: fast/canvas/image-potential-subsample.html

fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image.html

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::cacheFrame): Rename to m_subsamplingScale.
(WebCore::BitmapImage::frameAtIndex): Ditto.

  • platform/graphics/BitmapImage.h:

(WebCore::FrameData::FrameData): Ditto.

  • platform/graphics/cg/BitmapImageCG.cpp:

(WebCore::FrameData::clear): Ditto.
(WebCore::BitmapImage::BitmapImage): Ditto.
(WebCore::BitmapImage::draw): Use a scaledSrcRect that reflects the subsampled size,
rather than assuming the srcRect accurately reflects how many pixels we have
in the Bitmap.
(WebCore::BitmapImage::copyUnscaledFrameAtIndex):

  • platform/graphics/cg/GraphicsContext3DCG.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::extractImage): Similar fix, although this
time we just ask the image decoder to take into account the subsampled size
when it is "generating" a frame, causing it to use the bitmap data it has already
decoded.

LayoutTests:
Add Canvas2D and WebGL tests that exercise a very large JPEG image.

The WebGL test is mostly copied from the WebGL test suite, so please
excuse the coding style.

  • fast/canvas/image-potential-subsample-expected.txt: Added.
  • fast/canvas/image-potential-subsample.html: Added.
  • fast/canvas/resources/image-8000x8000.jpg: Added.
  • fast/canvas/webgl/resources/tex-image-and-sub-image-2d-with-potentially-subsampled-image.js: Added.

(.init):
(.runOneIteration):
(.runTestOnImage):
(.runTest):
(generateTest):

  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image-expected.txt: Added.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image.html: Added.
4:22 PM Changeset in webkit [170674] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash in WebDocumentLoader::setNavigationID
https://bugs.webkit.org/show_bug.cgi?id=134520

Reviewed by Anders Carlsson.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::didReceivePolicyDecision): Null-check the policy document loader.

4:01 PM Changeset in webkit [170673] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didDestroyNavigation):

3:40 PM Changeset in webkit [170672] by fpizlo@apple.com
  • 15 edits
    9 adds in branches/ftlopt/Source/JavaScriptCore

[ftlopt] DFG bytecode parser should turn PutById with nothing but a Setter stub as stuff+handleCall, and handleCall should be allowed to inline if it wants to
https://bugs.webkit.org/show_bug.cgi?id=130756

Reviewed by Oliver Hunt.

The enables exposing the call to setters in the DFG, and then inlining it. Previously we
already supproted inlined-cached calls to setters from within put_by_id inline caches,
and the DFG could certainly emit such IC's. Now, if an IC had a setter call, then the DFG
will either emit the GetGetterSetterByOffset/GetSetter/Call combo, or it will do one
better and inline the call.

A lot of the core functionality was already available from the previous work to inline
getters. So, there are some refactorings in this patch that move preexisting
functionality around. For example, the work to figure out how the DFG should go about
getting to what we call the "loaded value" - i.e. the GetterSetter object reference in
the case of accessors - is now shared in ComplexGetStatus, and both GetByIdStatus and
PutByIdStatus use it. This means that we can keep the safety checks common. This patch
also does additional refactorings in DFG::ByteCodeParser so that we can continue to reuse
handleCall() for all of the various kinds of calls we can now emit.

83% speed-up on getter-richards, 2% speed-up on box2d.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/ComplexGetStatus.cpp: Added.

(JSC::ComplexGetStatus::computeFor):

  • bytecode/ComplexGetStatus.h: Added.

(JSC::ComplexGetStatus::ComplexGetStatus):
(JSC::ComplexGetStatus::skip):
(JSC::ComplexGetStatus::takesSlowPath):
(JSC::ComplexGetStatus::kind):
(JSC::ComplexGetStatus::attributes):
(JSC::ComplexGetStatus::specificValue):
(JSC::ComplexGetStatus::offset):
(JSC::ComplexGetStatus::chain):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/GetByIdVariant.cpp:

(JSC::GetByIdVariant::GetByIdVariant):

  • bytecode/PolymorphicPutByIdList.h:

(JSC::PutByIdAccess::PutByIdAccess):
(JSC::PutByIdAccess::setter):
(JSC::PutByIdAccess::structure):
(JSC::PutByIdAccess::chainCount):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFromLLInt):
(JSC::PutByIdStatus::computeFor):
(JSC::PutByIdStatus::computeForStubInfo):
(JSC::PutByIdStatus::makesCalls):

  • bytecode/PutByIdStatus.h:

(JSC::PutByIdStatus::makesCalls): Deleted.

  • bytecode/PutByIdVariant.cpp:

(JSC::PutByIdVariant::PutByIdVariant):
(JSC::PutByIdVariant::operator=):
(JSC::PutByIdVariant::replace):
(JSC::PutByIdVariant::transition):
(JSC::PutByIdVariant::setter):
(JSC::PutByIdVariant::writesStructures):
(JSC::PutByIdVariant::reallocatesStorage):
(JSC::PutByIdVariant::makesCalls):
(JSC::PutByIdVariant::dumpInContext):

  • bytecode/PutByIdVariant.h:

(JSC::PutByIdVariant::PutByIdVariant):
(JSC::PutByIdVariant::structure):
(JSC::PutByIdVariant::oldStructure):
(JSC::PutByIdVariant::alternateBase):
(JSC::PutByIdVariant::specificValue):
(JSC::PutByIdVariant::callLinkStatus):
(JSC::PutByIdVariant::replace): Deleted.
(JSC::PutByIdVariant::transition): Deleted.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addCallWithoutSettingResult):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):
(JSC::DFG::ByteCodeParser::parseBlock):

  • jit/Repatch.cpp:

(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):

  • runtime/IntendedStructureChain.cpp:

(JSC::IntendedStructureChain::takesSlowPathInDFGForImpureProperty):

  • runtime/IntendedStructureChain.h:
  • tests/stress/exit-from-setter.js: Added.
  • tests/stress/poly-chain-setter.js: Added.

(Cons):
(foo):
(test):

  • tests/stress/poly-chain-then-setter.js: Added.

(Cons1):
(Cons2):
(foo):
(test):

  • tests/stress/poly-setter-combo.js: Added.

(Cons1):
(Cons2):
(foo):
(test):
(.test):

  • tests/stress/poly-setter-then-self.js: Added.

(foo):
(test):
(.test):

  • tests/stress/weird-setter-counter.js: Added.

(foo):
(test):

  • tests/stress/weird-setter-counter-syntactic.js: Added.

(foo):
(test):

3:34 PM Changeset in webkit [170671] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Use the new legacy session state coding in WKPageCopySessionState
https://bugs.webkit.org/show_bug.cgi?id=134516

Reviewed by Tim Horton.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopySessionState):
Call encodeLegacySessionState.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeSessionHistoryEntryData):
Use leakPtr() so we won't attempt to double-free the buffer.

(WebKit::createDictionary):
Fix a typo.

(WebKit::encodeLegacySessionState):
Don't encode the provisional URL if it's empty.

3:25 PM Changeset in webkit [170670] by Chris Fleizach
  • 2 edits in trunk/Source/WebKit2

AX: [iOS WebKit2] Support for Speak selection
https://bugs.webkit.org/show_bug.cgi?id=134512

Reviewed by Darin Adler.

Implement a method that Speak Selection can use to retrieve the selected content.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView accessibilityRetrieveSpeakSelectionContent]):

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

Update the highest back-forward list item ID in the other WebBackForwardListItem constructor
https://bugs.webkit.org/show_bug.cgi?id=134515

Reviewed by Tim Horton.

  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::WebBackForwardListItem):

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

Fix ServicesOverlayController teardown
<rdar://problem/17523998> and https://bugs.webkit.org/show_bug.cgi?id=134510

Reviewed by Mark Rowe.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::~ServicesOverlayController): Flipped logic on null-checking the overlay.

2:16 PM Changeset in webkit [170667] by weinig@apple.com
  • 7 edits in trunk

[Cocoa][Mac] WKWebView should automatically set topContentInset when beneath a toolbar
<rdar://problem/17523159>
https://bugs.webkit.org/show_bug.cgi?id=134496

Reviewed by Beth Dakin.

Source/WebKit2:

  • Adds _automaticallyAdjustsContentInsets SPI to both WKView and WKWebView.
  • Defaults _automaticallyAdjustsContentInsets to NO for WKView to keep legacy clients working.
  • Defaults _automaticallyAdjustsContentInsets to YES for WKWebView.
  • UIProcess/API/Cocoa/WKViewPrivate.h:

Add _automaticallyAdjustsContentInsets SPI.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
Default _automaticallyAdjustsContentInsets to YES for WKWebView.

(-[WKWebView _setTopContentInset:]):
(-[WKWebView _topContentInset]):
Change to forward to the WKView, since we now do coalescing and caching there.

(-[WKWebView _setAutomaticallyAdjustsContentInsets:]):
(-[WKWebView _automaticallyAdjustsContentInsets]):
Forward to the WKView.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Add _automaticallyAdjustsContentInsets SPI.

  • UIProcess/API/mac/WKView.mm:

(-[WKView renewGState]):
Ensure the contentInset is updated when the view changes, as its relative location to the toolbar may have changed.

(-[WKView addWindowObserversForWindow:]):
(-[WKView removeWindowObservers]):
(-[WKView observeValueForKeyPath:ofObject:change:context:]):
Add observers for the contentLayoutRect and titlebarAppearsTransparent properties on the window. If either of them
change, we need to recalculate the content inset.

(-[WKView _updateContentInsetsIfAutomatic]):
If _automaticallyAdjustsContentInsets is YES, follow the same rules as AppKit in setting the top content inset. Like
AppKit this is only done when:

  • The window's style mask has the NSFullSizeContentViewWindowMask bit.
  • The window does not have titlebarAppearsTransparent set.
  • And we are not in an enclosing NSScrollView.

(-[WKView _setTopContentInset:]):
(-[WKView _topContentInset]):
Coalesce setting the topContentInset to avoid a visual lag when resizing the window that was caused by us sending
multiple topContentInsets to the WebContentProcess per runloop cycle. The reason for the lag was that at the time
we observe the contentLayoutRect changing, our view may not yet be in its final position yet, so the inset will be
temporarily wrong. When the view is finally positioned correctly, we will get a renewGState, at which point we will
again calculate the inset, which now will be correct. Since these both happen in the same runloop iteration, we can
just defer sending the inset to the WebContentProcess.

(-[WKView _setAutomaticallyAdjustsContentInsets:]):
(-[WKView _automaticallyAdjustsContentInsets]):
Add the new SPI.

Tools:

  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController windowDidLoad]):
Use the NSFullSizeContentViewWindowMask bit on Yosemite and later to enable toolbar blurring.

2:13 PM Changeset in webkit [170666] by andersca@apple.com
  • 1 delete in trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp.rej

Oops, didn't mean to commit this.

2:12 PM Changeset in webkit [170665] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Selected DOM element highlights invisible near bottom of the viewport (topContentInset?)
https://bugs.webkit.org/show_bug.cgi?id=133818

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-07-01
Reviewed by Beth Dakin.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::update):
Take the topContentInset into account when sizing the InspectorOverlay's FrameView.

2:07 PM Changeset in webkit [170664] by andersca@apple.com
  • 6 edits
    1 add in trunk/Source/WebKit2

Add a function for restoring page state given a SessionState object
https://bugs.webkit.org/show_bug.cgi?id=134509

Reviewed by Tim Horton.

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::itemState):

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::saveState):

  • UIProcess/WebBackForwardList.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::saveState):

  • UIProcess/WebPageProxy.h:
1:45 PM Changeset in webkit [170663] by zandobersek@gmail.com
  • 7 edits in trunk

[CMake] Add necessary support for building for the Wayland target
https://bugs.webkit.org/show_bug.cgi?id=134160

Reviewed by Darin Adler.

.:

  • Source/cmake/FindGTK3.cmake: Check for the gtk+-x11-3.0 package if the X11 target

is enabled, and that its version matches the version of the generic package. Same
for the gtk+-wayland-3.0 package and the Wayland target.

  • Source/cmake/OptionsCommon.cmake: Don't add the -DXP_UNIX definition here.
  • Source/cmake/OptionsEfl.cmake: Add -DXP_UNIX here for the EFL port, under the same

condition as in OptionsCommon.cmake. ENABLE_X11_TARGET is enabled by default for EFL
so they keep building the TestNetscapePlugin target.

  • Source/cmake/OptionsGTK.cmake: Enable the X11 target and disable the Wayland target

by default. Group all the X11-specific macro definitions (WTF_PLATFORM_X11, MOZ_X11,
XP_UNIX) and only add them if the X11 target is enabled. Similar goes for the Wayland
target and WTF_PLATFORM_WAYLAND. The Wayland target requires GTK+ 3.12.0, so that's
the minimum required version as soon as that target is enabled. Only search for GLX
if the X11 target is enabled.

Tools:

  • CMakeLists.txt: Only build the TestNetscapePlugIn target in case

the X11 windowing target is enabled.

1:38 PM Changeset in webkit [170662] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Followup for: Combine the Telephone and Selection overlay controllers, updating UI behavior.
https://bugs.webkit.org/show_bug.cgi?id=134461

Rubberstamped by Tim Horton.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm: Include the correct constant.
1:29 PM Changeset in webkit [170661] by Chris Fleizach
  • 8 edits
    1 copy in trunk

AX: HTML indeterminate IDL attribute not mapped to checkbox value=2
https://bugs.webkit.org/show_bug.cgi?id=134492

Reviewed by Andreas Kling.

Source/WebCore:
Support the indeterminate attribute in AX code.

Test: Update existing test: accessibility/aria-checked-mixed-value

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::checkboxOrRadioValue):

Tools:

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::isIndeterminate):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::isIndeterminate):

LayoutTests:

  • accessibility/aria-checked-mixed-value-expected.txt:
  • accessibility/aria-checked-mixed-value.html:
  • platform/mac/accessibility/aria-checked-mixed-value-expected.txt: Added.
1:22 PM Changeset in webkit [170660] by mitz@apple.com
  • 21 edits in trunk/Source/WebKit2

[Cocoa] Navigation parameter in navigation delegate messages is nil for navigations started by the Web Content process
https://bugs.webkit.org/show_bug.cgi?id=134482

Reviewed by Tim Horton.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didDestroyNavigation): New client function, called when a navigation ID
is not going to be used anymore.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _restoreFromSessionState:]): If restoring triggered a navigation, create a
WKNavigation for its ID.

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::createLoadRequestNavigation): Removed FIXME, because we now remove
navigations from the map in LoaderClient::didDestroyNavigation.
(WebKit::NavigationState::createBackForwardNavigation): Ditto.
(WebKit::NavigationState::createReloadNavigation): Ditto.
(WebKit::NavigationState::createLoadDataNavigation): Ditto.
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): If we are only
getting a navigation ID now, create a WKNavigation for it. Also changed to create the
NSURLRequest lazily.
(WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame): Assert that
navigationID is not zero and that it maps to an existing WKNavigation.
(WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
Ditto.
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didCommitLoadForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame): Ditto.
(WebKit::NavigationState::LoaderClient::didDestroyNavigation): Override the new client
function to remove the navigation from the map.
(WebKit::NavigationState::LoaderClient::processDidCrash): Clear the navigations map.

  • UIProcess/WebFrameListenerProxy.cpp:

(WebKit::WebFrameListenerProxy::WebFrameListenerProxy): Initialize new m_navigationID
member variable.
(WebKit::WebFrameListenerProxy::receivedPolicyDecision): Pass the navigation ID to
WebFrame::receivedPolicyDecision.

  • UIProcess/WebFrameListenerProxy.h:

(WebKit::WebFrameListenerProxy::navigationID): Added this accessor.
(WebKit::WebFrameListenerProxy::setNavigationID): Ditto.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::receivedPolicyDecision): Added navigationID parameter, which is
passed along to the WebPageProxy.

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision): Added navigationID parameter, which is
passed along in the message to the Web Content process.
(WebKit::WebPageProxy::restoreFromSessionStateData): Changed to return a navigation ID of 0.
(WebKit::WebPageProxy::restoreFromState): Changed to return a navigation ID if one was
started.
(WebKit::WebPageProxy::didDestroyNavigation): Added. Calls the new client function.
(WebKit::WebPageProxy::decidePolicyForNavigationAction): Added navigationID and
newNavigationID parameters. If a main-frame navigation doesn’t already have an ID, assign it
a new ID and return it in the newNavigationID parmeter as well as setting it on the listener
for the asynchronous case.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added navigationID and newNavigationID parameters.
  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::restoreFromSessionStateData): Changed to return a navigation ID if
one was started.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Updated for additional
parameter.
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the navigation
ID to the UI process, get the new navigation ID from the reply, and set it on the document
loader.

  • WebProcess/WebPage/WebDocumentLoader.cpp:

(WebKit::WebDocumentLoader::detachFromFrame): Override to let the UI process know that the
navigation ID will not be used anymore.

  • WebProcess/WebPage/WebDocumentLoader.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::didReceivePolicyDecision): Added navigationID parameter, set it on the
document loader.
(WebKit::WebFrame::documentLoaderDetached): Pass the message along to the UI process.

  • WebProcess/WebPage/WebFrame.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didReceivePolicyDecision): Pass new navigationID parameter along.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Added navigationID parameter.
12:43 PM Changeset in webkit [170659] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • WebKit2.xcodeproj/project.pbxproj:
12:42 PM Changeset in webkit [170658] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Temporarily encode and decode the snapshot UUID
https://bugs.webkit.org/show_bug.cgi?id=134507

Reviewed by Tim Horton.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeSessionHistory):
(WebKit::decodeSessionHistoryEntry):
(WebKit::decodeSessionHistoryEntries):

12:34 PM Changeset in webkit [170657] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Implement encodeSessionHistoryEntryData
https://bugs.webkit.org/show_bug.cgi?id=134505

Reviewed by Tim Horton.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopySessionState):
Add back a missing null check for the filter pointer.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::encodeSessionHistoryEntryData):

12:15 PM Changeset in webkit [170656] by Simon Fraser
  • 7 edits
    2 adds in trunk

[UI-side compositing] Bad spinner on news.google.com: animations need to be ordered
https://bugs.webkit.org/show_bug.cgi?id=134504
<rdar://problem/17507892>

Reviewed by Tim Horton.

Source/WebKit2:
The layer's addedAnimations property needs to maintain order, since the order
in which transforms are applied is important.

  • Shared/mac/RemoteLayerTreeTransaction.h: Use a Vector<pair<>> for addedAnimations.
  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::dumpChangedLayers):

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

(WebKit::PlatformCAAnimationRemote::updateLayerAnimations):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::addAnimationForKey): If this is a new entry, we
can just append to addedAnimations, otherwise we have to find the existing one
and update its properties.
(WebKit::PlatformCALayerRemote::removeAnimationForKey): Do linear search to
find the animation to remove (this list will normally be short).

LayoutTests:
Test that the transforms from the animation are applied in the correct order.

  • compositing/animation/keyframe-order-expected.html: Added.
  • compositing/animation/keyframe-order.html: Added.
12:10 PM Changeset in webkit [170655] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Typing an automatic text replacement phrase after a br in contenteditable is not rendered as expected
https://bugs.webkit.org/show_bug.cgi?id=133883

Reviewed by Enrica Casucci.

enclosingDeletableElement() makes sure that the element's container is editable, but not
that it is capable of having content inside it (like how a <br> can't).

No new tests. I don't think this is testable because it requires setting some state in System Preferences.

  • editing/DeleteButtonController.cpp:

(WebCore::enclosingDeletableElement):

12:04 PM Changeset in webkit [170654] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add a encodeLegacySessionState function
https://bugs.webkit.org/show_bug.cgi?id=134502

Reviewed by Tim Horton.

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

(WebKit::encodeSessionHistoryEntryData):
(WebKit::encodeLegacySessionHistoryEntryData):
(WebKit::createDictionary):
(WebKit::encodeSessionHistory):
(WebKit::encodeLegacySessionState):

11:41 AM Changeset in webkit [170653] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit2

[Cocoa] WebProcess doesn't follow localization of UI process when run as a service
https://bugs.webkit.org/show_bug.cgi?id=133126
<rdar://problem/13396515>

Patch by Alexey Proskuryakov.
Reviewed by Tim Horton.

  • Configurations/WebContentService.Development.xcconfig:
  • Configurations/WebContentService.xcconfig:

Figure out which of the two keys to use. CFBundleAllowMixedLocalizations was
a workaround before we got CFBundleFollowParentLocalization, and these cannot be
used together.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::connectToService): Set up

XPC bootstrap for CFBundle to use.

  • WebKit2.xcodeproj/project.pbxproj: Added a script that applies the key to Info.plist.
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:

Removed CFBundleAllowMixedLocalizations, we now add it programmatically.

11:29 AM Changeset in webkit [170652] by achristensen@apple.com
  • 6 edits in trunk/Source

[iOS] Unreviewed build fix after r170640.

Source/WebCore:

  • page/EditorClient.h:

(WebCore::EditorClient::selectedTelephoneNumberRangesChanged):
Add ifdefs to make everything compile and link.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged):
(WebKit::WebEditorClient::selectionRectsDidChange):

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/WebPage.h:

Add ifdefs to make everything compile and link.

11:00 AM Changeset in webkit [170651] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add WKSessionStateGetTypeID
https://bugs.webkit.org/show_bug.cgi?id=134499

Reviewed by Tim Horton.

  • UIProcess/API/C/WKSessionStateRef.cpp:

(WKSessionStateGetTypeID):

  • UIProcess/API/C/WKSessionStateRef.h:
10:49 AM Changeset in webkit [170650] by dbates@webkit.org
  • 13 edits in trunk

Remove unnecessary calls to std::move()
https://bugs.webkit.org/show_bug.cgi?id=134493

Reviewed by Anders Carlsson.

Source/WebCore:

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::CDM):

  • css/CSSGrammar.y.in:
  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberValue):

  • css/MediaQuery.cpp:

(WebCore::MediaQuery::MediaQuery):

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::dashesForIntersectionsWithRect):

Source/WebKit2:

  • Shared/ShareableResource.cpp:

(WebKit::ShareableResource::Handle::tryWrapInCFData):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::certificateInfo): Return a WebCore::CertificateInfo instead
of const WebCore::CertificateInfo& to avoid returning a dangling reference to
a local variable. Also, remove the unnecessary calls to std::move() as the compiler
will invoke the move constructor for WebCore::CertificateInfo on return from the
function.

  • WebProcess/WebPage/WebFrame.h:

Tools:

  • TestWebKitAPI/Tests/WTF/HashSet.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm:

(TestWebKitAPI::TEST):

10:46 AM Changeset in webkit [170649] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Add a BackForwardListItemState struct and put the snapshot UUID there
https://bugs.webkit.org/show_bug.cgi?id=134497

Reviewed by Sam Weinig.

  • Shared/SessionState.cpp:

(WebKit::PageState::encode):
(WebKit::PageState::decode):
(WebKit::BackForwardListItemState::encode):
(WebKit::BackForwardListItemState::decode):

  • Shared/SessionState.h:
  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::create):
(WebKit::WebBackForwardListItem::WebBackForwardListItem):
(WebKit::WebBackForwardListItem::backForwardData):
(WebKit::WebBackForwardListItem::setBackForwardData):
(WebKit::WebBackForwardListItem::encode):

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::setPageState):
(WebKit::WebBackForwardListItem::setOriginalURL):
(WebKit::WebBackForwardListItem::originalURL):
(WebKit::WebBackForwardListItem::setURL):
(WebKit::WebBackForwardListItem::url):
(WebKit::WebBackForwardListItem::setTitle):
(WebKit::WebBackForwardListItem::title):
(WebKit::WebBackForwardListItem::setSnapshotUUID):
(WebKit::WebBackForwardListItem::snapshotUUID):

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::restoreFromState):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::addBackForwardItem):

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::decodeSessionHistoryEntries):

10:33 AM Changeset in webkit [170648] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit/ios

[iOS] Compile fix with pointer lock enabled.
https://bugs.webkit.org/show_bug.cgi?id=134472

Reviewed by Pratik Solanki.

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
Add parameters required for pointer lock.

10:29 AM Changeset in webkit [170647] by psolanki@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to the reviewers list to make commit bot happy.

  • Scripts/webkitpy/common/config/contributors.json:
10:25 AM Changeset in webkit [170646] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Subpixel rendering: Pixel crack in breadcrumbs at devforums.apple.com.
https://bugs.webkit.org/show_bug.cgi?id=134491

Reviewed by Simon Fraser.

Do not early round geometry values, while computing background image position. It changes the final
subpixel values and that could lead to wrong snap positions.
pixelSnapBackgroundImageGeometryForPainting() takes care of geometry snapping.

Source/WebCore:
Test: fast/backgrounds/background-image-size-double-rounding.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

LayoutTests:

  • fast/backgrounds/background-image-size-double-rounding-expected.html: Added.
  • fast/backgrounds/background-image-size-double-rounding.html: Added.
10:14 AM Changeset in webkit [170645] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Add encodeInteger and decodeInteger for remote object encoder and decoder.
https://bugs.webkit.org/show_bug.cgi?id=134453

In 64bit system, encodeInteger/decodeInteger is by default mapped into encodeInt64/decodeInt64. For
32bit system, they are mapped to encodeInt32/decodeInt32. However, since we don't have encodeInt32/decodeInt32
implementation in WKRemoteObjectCoder, we could hit crash in 32bit systems.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-07-01
Reviewed by Sam Weinig.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(-[WKRemoteObjectEncoder encodeInteger:forKey:]): Instead of creating a new number type UInt32, use encodeInt64 for

encoding NSInteger.

(-[WKRemoteObjectDecoder decodeIntegerForKey:]):

10:04 AM Changeset in webkit [170644] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Use an std::function for filtering session state data
https://bugs.webkit.org/show_bug.cgi?id=134481

Reviewed by Sam Weinig.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopySessionState):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _sessionState]):

  • UIProcess/WebBackForwardList.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::sessionStateData):

  • UIProcess/WebPageProxy.h:
  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::WebBackForwardList::createCFDictionaryRepresentation):

  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::sessionStateData):

9:59 AM Changeset in webkit [170643] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Clean up the WebKit build from unused parameter warning in Webkit2/UIProcess module
https://bugs.webkit.org/show_bug.cgi?id=134294

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-07-01
Reviewed by Darin Adler.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::reachedApplicationCacheOriginQuota):

9:45 AM Changeset in webkit [170642] by psolanki@apple.com
  • 4 edits in trunk/Source/WebCore

Create NSURLRequest lazily when USE(CFNETWORK) is enabled
https://bugs.webkit.org/show_bug.cgi?id=134441

Reviewed by Andreas Kling.

No new tests. Should be covered by existing tests.

  • platform/network/cf/ResourceRequest.h:

(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::encodingRequiresPlatformData):

  • platform/network/cf/ResourceRequestCFNet.cpp:

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

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::nsURLRequest):

9:43 AM Changeset in webkit [170641] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix.

Forgot to commit locally before pushing.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::servicesOverlayController): s/this/*this/

9:22 AM Changeset in webkit [170640] by beidson@apple.com
  • 9 edits
    1 move
    1 add
    5 deletes in trunk/Source

Combine the Telephone and Selection overlay controllers, updating UI behavior.
https://bugs.webkit.org/show_bug.cgi?id=134461

Reviewed by Tim Horton.

Source/WebCore:

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

(WebCore::Range::contains): Returns true if the Range completely contains the passed-in Range.

  • dom/Range.h:

Source/WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged):
(WebKit::WebEditorClient::selectionRectsDidChange):

Remove the separate Selection overlay controller:

  • WebProcess/WebPage/SelectionOverlayController.cpp: Removed.
  • WebProcess/WebPage/ServicesOverlayController.h: Renamed from Source/WebKit2/WebProcess/WebPage/SelectionOverlayController.h.

(WebKit::ServicesOverlayController::create):

  • WebProcess/WebPage/mac/SelectionOverlayControllerMac.mm: Removed.

Remove the separate TelephoneNumber overlay controller:

  • WebProcess/WebPage/TelephoneNumberOverlayController.cpp: Removed.
  • WebProcess/WebPage/TelephoneNumberOverlayController.h: Removed.
  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm: Removed.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::servicesOverlayController):
(WebKit::WebPage::telephoneNumberOverlayController): Deleted.
(WebKit::WebPage::selectionOverlayController): Deleted.
(WebKit::WebPage::didChangeScrollOffsetForFrame): Deleted.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::serviceControlsEnabled): Deleted.

ServicesOverlayController is a combination of the old TelephoneNumber and Selection overlay controllers.
A lot of code duplication is resolved, and things are generally easier to follow.
It enforces displaying a telephone number highlight if precisely one telephone number is selected, or
the selection highlight if the selection contains more than a single phone number

  • WebProcess/WebPage/mac/ServicesOverlayController.mm: Added.

(WebKit::textQuadsToBoundingRectForRange):
(WebKit::ServicesOverlayController::ServicesOverlayController):
(WebKit::ServicesOverlayController::destroyOverlay):
(WebKit::ServicesOverlayController::pageOverlayDestroyed):
(WebKit::ServicesOverlayController::willMoveToWebPage):
(WebKit::ServicesOverlayController::didMoveToWebPage):
(WebKit::ServicesOverlayController::createOverlayIfNeeded):
(WebKit::ServicesOverlayController::selectionRectsDidChange):
(WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):
(WebKit::ServicesOverlayController::clearHighlightState):
(WebKit::ServicesOverlayController::drawRect):
(WebKit::ServicesOverlayController::drawSelectionHighlight):
(WebKit::ServicesOverlayController::drawTelephoneNumberHighlight):
(WebKit::ServicesOverlayController::drawCurrentHighlight):
(WebKit::ServicesOverlayController::mouseEvent):
(WebKit::ServicesOverlayController::handleClick):

8:22 AM Changeset in webkit [170639] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

webkit-patch apply-from-bug / apply-attachment should not ask for credentials if none are required
https://bugs.webkit.org/show_bug.cgi?id=40095

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-07-01
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(Bugzilla.fetch_attachment_contents): make a first fetch on bugzilla without authentication. If failing, use authentication (similar to fetch_bug_dictionary).
(Bugzilla):
(Bugzilla.bug_id_for_attachment_id): ditto.

8:16 AM Changeset in webkit [170638] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

REGRESSION(160908): vube.com video won't play after going into and out of fullscreen
https://bugs.webkit.org/show_bug.cgi?id=134489

Reviewed by Zalan Bujtas.

Test: fullscreen/full-screen-plugin.html

It is difficult to restore the render tree correctly in all cases after removing a full screen
renderer from the tree. r160908 avoided dealing with this by simply always reconstructing the subtree.
Unfortunately plugin lifetime is currently tied to its renderer so this would cause the plugin to restart.

With this patch we avoid reconstruction in normal cases and only force it if the render tree is complicated.

  • dom/Document.cpp:

(WebCore::unwrapFullScreenRenderer):

Force reconstruction conditionally.

(WebCore::Document::webkitWillEnterFullScreenForElement):
(WebCore::Document::webkitDidExitFullScreenForElement):

  • rendering/RenderFullScreen.cpp:

(WebCore::RenderFullScreen::wrapRenderer):
(WebCore::RenderFullScreen::unwrapRenderer):

Deal with the simple case of single child, possibly in anonymous wrapper.
In other cases request reconstruction.
This is covered by the existing fullscreen tests.

  • rendering/RenderFullScreen.h:
6:10 AM Changeset in webkit [170637] by commit-queue@webkit.org
  • 19 edits in trunk/Tools

[webkitpy] Refactor pluralizer in grammar.py
https://bugs.webkit.org/show_bug.cgi?id=133067

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-07-01
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:

(LayoutTestRunner.run_tests):

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager.run):

  • Scripts/webkitpy/layout_tests/views/printing.py:

(Printer.print_found):
(Printer.print_workers_and_shards):
(Printer._print_one_line_summary):

  • Scripts/webkitpy/test/printer.py:

(Printer.print_result):

  • Scripts/webkitpy/tool/bot/feeders.py:

(EWSFeeder.feed):

  • Scripts/webkitpy/tool/bot/flakytestreporter.py:

(FlakyTestReporter._lookup_bug_for_flaky_test):

  • Scripts/webkitpy/tool/bot/irc_command.py:

(Rollout._check_diff_failure):

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:

(IRCCommandTest.test_rollout):

  • Scripts/webkitpy/tool/commands/download.py:

(AbstractPatchProcessingCommand._process_patch.execute):
(ProcessBugsMixin._fetch_list_of_patches_to_process):
(ProcessURLsMixin._fetch_list_of_patches_to_process):

  • Scripts/webkitpy/tool/commands/queries.py:

(WhatBroke.execute):

  • Scripts/webkitpy/tool/commands/suggestnominations.py:

(SuggestNominations._print_nominations):
(SuggestNominations._print_counts):

  • Scripts/webkitpy/tool/commands/suggestnominations_unittest.py:

(_make_options):
(test_basic):
(test_with_verbose):

  • Scripts/webkitpy/tool/commands/upload.py:

(PostCommits.execute):

  • Scripts/webkitpy/tool/grammar.py:

(pluralize):

  • Scripts/webkitpy/tool/grammar_unittest.py:

(GrammarTest.test_join_with_separators):
(GrammarTest):
(GrammarTest.test_plural):
(GrammarTest.test_pluralize):

  • Scripts/webkitpy/tool/multicommandtool.py:

(Command.check_arguments_and_execute):

  • Scripts/webkitpy/tool/steps/obsoletepatches.py:

(ObsoletePatches.run):

  • Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:

(PrepareChangeLogForRevert._message_for_revert):

5:07 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
5:07 AM Changeset in webkit [170636] by Carlos Garcia Campos
  • 14 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r169799 - [GTK] Use a different user agent string depending on the site
https://bugs.webkit.org/show_bug.cgi?id=132681

Reviewed by Anders Carlsson.

Source/WebCore:
We have changed the user agent string several times to try to fix
broken websites that require specific things in the UA string to
properly work. But everytime we change the UA string to fix a
website we break others. We could use different UA string
depending on the website. UserAgentGtk code has also been cleaned
up, using NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
and avoiding unneeded conversions to UTF-8.

  • platform/gtk/UserAgentGtk.cpp:

(WebCore::UserAgentQuirks::UserAgentQuirks): New helper private
class to handle user agent quirks.
(WebCore::UserAgentQuirks::add):
(WebCore::UserAgentQuirks::contains):
(WebCore::UserAgentQuirks::isEmpty):
(WebCore::platformForUAString): Bring back this method that was
removed to always pretend to be Macintosh.
(WebCore::platformVersionForUAString): Return a different platform
version depending on the actual platform.
(WebCore::versionForUAString): Return the WebKit version.
(WebCore::buildUserAgentString): Helper function to build the user
agent taking into account the UserAgentQuirks received.
(WebCore::standardUserAgentStatic): Standard user agent string
when no quirks are present.
(WebCore::standardUserAgent):
(WebCore::standardUserAgentForURL): New method that returns the
user agent string for the given URL.

  • platform/gtk/UserAgentGtk.h:

Source/WebKit2:

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webkit_settings_class_init): Enable site specific quirks setting
by default.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::userAgent): Pass the given URL to WebPage.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::userAgent): Try to get the user agent for the
URL received falling back to the current one otherwise.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::platformUserAgent): Added.

  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::WebPage::platformUserAgent): Return null String.

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::platformUserAgent): Use WebCore::standardUserAgentForURL() when site specific quirks
setting is enabled.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformUserAgent): Return null String.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::platformUserAgent): Return null String.

Tools:
Add a unit test to check user agent quirks.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WebCore/gtk/UserAgentQuirks.cpp: Added.

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp:

(testWebKitSettings): Site specific quirks setting is now enabled
by default.

4:32 AM Changeset in webkit [170635] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebKit2

[WK2] IPC messages' arguments() method returns const std::tuple<> copies
https://bugs.webkit.org/show_bug.cgi?id=131975

Reviewed by Darin Adler.

The arguments() method of the different IPC message objects should return a const reference
to the std::tuple<> containing the arguments, instead of a const value. This avoids copying
the std::tuple<> every time the arguments are encoded, and works best with the
ArgumentEncoder::encode<std::tuple<...>>(const std::tuple<...>&) template instantiation.

The unit test baselines are updated accordingly.

  • Scripts/webkit2/LegacyMessages-expected.h:

(Messages::WebPage::LoadURL::arguments):
(Messages::WebPage::LoadSomething::arguments):
(Messages::WebPage::TouchEvent::arguments):
(Messages::WebPage::AddEvent::arguments):
(Messages::WebPage::LoadSomethingElse::arguments):
(Messages::WebPage::DidReceivePolicyDecision::arguments):
(Messages::WebPage::Close::arguments):
(Messages::WebPage::PreferencesDidChange::arguments):
(Messages::WebPage::SendDoubleAndFloat::arguments):
(Messages::WebPage::SendInts::arguments):
(Messages::WebPage::CreatePlugin::arguments):
(Messages::WebPage::RunJavaScriptAlert::arguments):
(Messages::WebPage::GetPlugins::arguments):
(Messages::WebPage::GetPluginProcessConnection::arguments):
(Messages::WebPage::TestMultipleAttributes::arguments):
(Messages::WebPage::TestParameterAttributes::arguments):
(Messages::WebPage::TemplateTest::arguments):
(Messages::WebPage::SetVideoLayerID::arguments):
(Messages::WebPage::DidCreateWebProcessConnection::arguments):
(Messages::WebPage::InterpretKeyEvent::arguments):
(Messages::WebPage::DeprecatedOperation::arguments):
(Messages::WebPage::ExperimentalOperation::arguments):

  • Scripts/webkit2/Messages-expected.h:

(Messages::WebPage::LoadURL::arguments):
(Messages::WebPage::LoadSomething::arguments):
(Messages::WebPage::TouchEvent::arguments):
(Messages::WebPage::AddEvent::arguments):
(Messages::WebPage::LoadSomethingElse::arguments):
(Messages::WebPage::DidReceivePolicyDecision::arguments):
(Messages::WebPage::Close::arguments):
(Messages::WebPage::PreferencesDidChange::arguments):
(Messages::WebPage::SendDoubleAndFloat::arguments):
(Messages::WebPage::SendInts::arguments):
(Messages::WebPage::CreatePlugin::arguments):
(Messages::WebPage::RunJavaScriptAlert::arguments):
(Messages::WebPage::GetPlugins::arguments):
(Messages::WebPage::GetPluginProcessConnection::arguments):
(Messages::WebPage::TestMultipleAttributes::arguments):
(Messages::WebPage::TestParameterAttributes::arguments):
(Messages::WebPage::TemplateTest::arguments):
(Messages::WebPage::SetVideoLayerID::arguments):
(Messages::WebPage::DidCreateWebProcessConnection::arguments):
(Messages::WebPage::InterpretKeyEvent::arguments):
(Messages::WebPage::DeprecatedOperation::arguments):
(Messages::WebPage::ExperimentalOperation::arguments):

  • Scripts/webkit2/MessagesSuperclass-expected.h:

(Messages::WebPage::LoadURL::arguments):

  • Scripts/webkit2/messages.py:

(message_to_struct_declaration):

4:29 AM Changeset in webkit [170634] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebCore

Remove remaining Vector<> copies in WebCore accessibility code
https://bugs.webkit.org/show_bug.cgi?id=133263

Reviewed by Darin Adler.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::notificationPostTimerFired): Don't copy the Vector member and
then clear it -- move it into the local variable instead.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::ariaLabeledByText): Move the axElements Vector into
the AccessibilityText constructor.
(WebCore::AccessibilityNodeObject::stringValue): Create a const reference to the Vector of
HTMLSelectElement's list items instead of copying it.

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityText::AccessibilityText): Take the Vector parameter by non-const
value and move it into the member variable.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::stringValue): Create a const reference to the Vector
of HTMLSelectElement's list items instead of copying it.
(WebCore::AccessibilityRenderObject::ariaSelectedRows): Wrap the AccessibilityChildrenVector
iteration in a lambda. Use it to iterate over either the newly-constructed Vector (in case
the object has the tree role) or the reference to the vector returned by
AccessibilityTable::rows() (in case the object is an AccessibilityTable instance).

2:10 AM Changeset in webkit [170633] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[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().

1:17 AM Changeset in webkit [170632] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

[WK2] Can not convert ‘sessionState.WebKit::SessionState::provisionalURL’ from ‘WebCore::URL’ to ‘bool’
https://bugs.webkit.org/show_bug.cgi?id=134487

Rubber-stamped by Carlos Garcia Campos.

  • UIProcess/WebPageProxy.cpp: Use isNull().

(WebKit::WebPageProxy::restoreFromState):

12:57 AM Changeset in webkit [170631] by gyuyoung.kim@samsung.com
  • 3 edits
    1 copy
    1 move in trunk/Source/WebKit2

Fix build break on EFL and GTK ports since r170611 and r170614
https://bugs.webkit.org/show_bug.cgi?id=134479

Reviewed by Carlos Garcia Campos.

Add LegacySessionStateCodingNone.cpp in order to fix build break on EFL and GTK ports. Additionally
SessionStateConversion.cpp is added to CMakeLists.txt as well.

  • CMakeLists.txt:
  • UIProcess/LegacySessionStateCoding.h: Copied from Source/WebKit2/UIProcess/mac/LegacySessionStateCoding.h.
  • UIProcess/LegacySessionStateCodingNone.cpp: Renamed from Source/WebKit2/UIProcess/mac/LegacySessionStateCoding.h.

(WebKit::encodeLegacySessionHistoryEntryData):
(WebKit::decodeLegacySessionState):
(WebKit::decodeLegacySessionHistoryEntryData):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::restoreFromState):

  • WebKit2.xcodeproj/project.pbxproj:

Jun 30, 2014:

9:16 PM Changeset in webkit [170630] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Unreviewed, rolling out r170605.
https://bugs.webkit.org/show_bug.cgi?id=134484

The changes cause crashes on ARM64 (Requested by benjaminp on
#webkit).

Reverted changeset:

"Reduce dynamic memory allocation in css jit."
https://bugs.webkit.org/show_bug.cgi?id=134416
http://trac.webkit.org/changeset/170605

8:12 PM Changeset in webkit [170629] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] The long press gesture recognizers should not block the pinch gesture
https://bugs.webkit.org/show_bug.cgi?id=134477
<rdar://problem/17514936>

Reviewed by Tim Horton.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView gestureRecognizer:canPreventGestureRecognizer:]):

7:19 PM Changeset in webkit [170628] by mhahnenberg@apple.com
  • 8 edits
    21 adds in branches/ftlopt

Merge r169121 from trunk.

2014-05-19 Mark Hahnenberg <mhahnenberg@apple.com>


JSArray::shiftCountWith* could be more efficient
https://bugs.webkit.org/show_bug.cgi?id=133011


Reviewed by Geoffrey Garen.


Source/JavaScriptCore:

Our current implementations of shiftCountWithAnyIndexingType and shiftCountWithArrayStorage
are scared of the presence of any holes in the array. We can mitigate this somewhat by enabling
them to correctly handle holes, thus avoiding the slowest of slow paths in most cases.


  • runtime/ArrayStorage.h: (JSC::ArrayStorage::indexingHeader): (JSC::ArrayStorage::length): (JSC::ArrayStorage::hasHoles):
  • runtime/IndexingHeader.h: (JSC::IndexingHeader::publicLength): (JSC::IndexingHeader::from):
  • runtime/JSArray.cpp: (JSC::JSArray::shiftCountWithArrayStorage): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage):
  • runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount):
  • runtime/Structure.cpp: (JSC::Structure::holesRequireSpecialBehavior):
  • runtime/Structure.h:

LayoutTests:

Added a performance regression test which tests the contiguous shift case. We're ~85% faster
on this microbenchmark with this patch.


Also added a bunch of tests for each permutation of contiguous/array storage with no holes, holes,
and holes that require special behavior (e.g. indexed properties in the prototype chain).


  • js/array-storage-splice-holes-expected.txt: Added.
  • js/array-storage-splice-holes-require-special-behavior-expected.txt: Added.
  • js/array-storage-splice-holes-require-special-behavior.html: Added.
  • js/array-storage-splice-holes.html: Added.
  • js/array-storage-splice-no-holes-expected.txt: Added.
  • js/array-storage-splice-no-holes.html: Added.
  • js/contiguous-splice-holes-expected.txt: Added.
  • js/contiguous-splice-holes-require-special-behavior-expected.txt: Added.
  • js/contiguous-splice-holes-require-special-behavior.html: Added.
  • js/contiguous-splice-holes.html: Added.
  • js/contiguous-splice-no-holes-expected.txt: Added.
  • js/contiguous-splice-no-holes.html: Added.
  • js/regress/array-splice-contiguous-expected.txt: Added.
  • js/regress/array-splice-contiguous.html: Added.
  • js/regress/script-tests/array-splice-contiguous.js: Added. (foo):
  • js/script-tests/array-storage-splice-holes-require-special-behavior.js: Added.
  • js/script-tests/array-storage-splice-holes.js: Added.
  • js/script-tests/array-storage-splice-no-holes.js: Added.
  • js/script-tests/contiguous-splice-holes-require-special-behavior.js: Added.
  • js/script-tests/contiguous-splice-holes.js: Added.
  • js/script-tests/contiguous-splice-no-holes.js: Added.
6:40 PM Changeset in webkit [170627] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add WebPageProxy::restoreFromState
https://bugs.webkit.org/show_bug.cgi?id=134480

Reviewed by Tim Horton.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::restoreFromState):

  • UIProcess/WebPageProxy.h:
6:29 PM Changeset in webkit [170626] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add a function to restore a WebBackForwardList object from a BackForwardListState object
https://bugs.webkit.org/show_bug.cgi?id=134478

Reviewed by Tim Horton.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::generateWebBackForwardItemID):
(WebKit::WebBackForwardList::restoreFromState):

  • UIProcess/WebBackForwardList.h:
  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::generateWebBackForwardItemID): Deleted.

6:06 PM Changeset in webkit [170625] by andersca@apple.com
  • 10 edits in trunk/Source

Change the AddBackForwardItem message to take a page state object
https://bugs.webkit.org/show_bug.cgi?id=134475

Reviewed by Andreas Kling.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

  • Scripts/webkit2/messages.py:

(struct_or_class):
(headers_for_type):

  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::create):
(WebKit::WebBackForwardListItem::WebBackForwardListItem):

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::setPageState):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::addBackForwardItem):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/WebPage/WebBackForwardListProxy.cpp:

(WebKit::updateBackForwardItem):

5:50 PM Changeset in webkit [170624] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2] Add a flatter find-in-page current match indicator style
https://bugs.webkit.org/show_bug.cgi?id=134434
<rdar://problem/16225673>

Reviewed by Simon Fraser.

  • UIProcess/FindIndicator.cpp:

(WebKit::findIndicatorsForTextRectsOverlap):
(WebKit::FindIndicator::frameRect):
(WebKit::flatHighlightColor):
(WebKit::flatRimShadowColor):
(WebKit::flatDropShadowColor):
(WebKit::FindIndicator::draw):
Add a flatter find indicator, with a bigger shadow.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::updateFindUIAfterPageScroll):
(WebKit::FindController::getFindIndicatorBitmapAndRect):
(WebKit::FindController::hideFindIndicator):
(WebKit::FindController::drawRect):
Don't paint a shadow behind the secondary matches if we're using the new style.

5:45 PM Changeset in webkit [170623] by mmaxfield@apple.com
  • 3 edits in trunk/Tools

[iOS] GSFontAddCGFont is deprecated and we use it in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=134133

Reviewed by Simon Fraser.

Replace it with CTFontManagerRegisterGraphicsFont

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/mac/DumpRenderTree.mm:

(activateFontIOS):

5:42 PM Changeset in webkit [170622] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Improve double-tap-to-scroll on image documents
https://bugs.webkit.org/show_bug.cgi?id=134474
<rdar://problem/17496778>

Reviewed by Enrica Casucci.

On image document, we were always rendering the center of the image as the origin, which broke
double tap to scroll.

This patch improves on this in two ways:
1) If the hit testing already got the image, only change the type to replaced (to get the right

scaling behavior for images since the type is block on iOS's image document).

2) If the hit testing is outside the image, only center the axis that is not in the image.

This way, we "fix" the component that is not valid, and keep the vali component.
This works great for viewing comics on iPad.

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):

5:38 PM Changeset in webkit [170621] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS][WK2] Do not put tap highlight on images that are not in links, and on applet/embed/object
https://bugs.webkit.org/show_bug.cgi?id=134471
<rdar://problem/17513542>

Reviewed by Enrica Casucci.

UIKit has some special code to avoid tap highlight on certain type of object. This is not very flexible
since the page has no way of overriding that behavior.

This patch implement the same feature by changing the default stylesheet. The tap highlight is disabled
by default for those object, and enabled for images that are in a link.

  • css/html.css:

(applet, embed, object, img):
(:-webkit-any-link img):

5:27 PM Changeset in webkit [170620] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (WK2): Weird selection behavior on autos.yahoo.com, en.wikipedia.org.
https://bugs.webkit.org/show_bug.cgi?id=134466
<rdar://problem/16817263>

Reviewed by Benjamin Poulain.

Avoid selecting blocks across frame boundaries and skip non-selectable
blocks. If the only block we find is almost the same height as the
visible area, we should not select at all.
This patch also fixes the logic to compute the next block when
shrinking the selection. When calculating the new range after shrinking,
we should not include the block that corresponds to the current handle position.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::expandedRangeFromHandle):
(WebKit::WebPage::contractedRangeFromHandle):
(WebKit::WebPage::updateSelectionWithTouches):

5:17 PM Changeset in webkit [170619] by mmaxfield@apple.com
  • 3 edits
    4 adds in trunk

All Indic text is rendered as boxes on iOS
https://bugs.webkit.org/show_bug.cgi?id=134464

Reviewed by Simon Fraser.

Source/WebCore:
I made a typo in r170207.

Test: fast/text/indic.html

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::languageSpecificFallbackFont):

LayoutTests:
Simply draw some indic text and test that against currently good metric values.

  • fast/text/indic.html: Added
  • platform/ios-sim/fast/text/indic-expected.txt: Added.
  • platform/mac/fast/text/indic-expected.txt: Added.
  • platform/mac/fast/text/indic-expected.png: Added.
5:14 PM Changeset in webkit [170618] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] languageSpecificFallbackFont() is not consistent
https://bugs.webkit.org/show_bug.cgi?id=134473

Reviewed by Darin Adler.

It can use "<" throughout the function as well as keeping the fallthrough behavior consistent.

No tests because there is no behavior change.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::languageSpecificFallbackFont):

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

[Win] Unreviewed gardening.

  • WebCore.vcxproj/WebCore.vcxproj: Do not compile JSFileException

and JSFileReaderSync multiple times.

5:04 PM Changeset in webkit [170616] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Avoid copying function object in lambda function in ScrollingThread::dispatchBarrier(); actually use move semantics
https://bugs.webkit.org/show_bug.cgi?id=134470

Reviewed by Anders Carlsson.

Currently we always copy construct the captured std::function object when calling callOnMainThread()
in the lambda function created in ScrollingThread::dispatchBarrier() because captured variables are
const in a lambda expression's body by default. That is, the std::function object is captured as const.
Instead, we should mark this lambda expression as mutable so the captured std::function object is
non-const and hence we can use move semantics when passing it to callOnMainThread().

  • page/scrolling/ScrollingThread.cpp:

(WebCore::ScrollingThread::dispatchBarrier):

5:00 PM Changeset in webkit [170615] by dbates@webkit.org
  • 2 edits in trunk/Source/WTF

Make TransformIterator::TransformIterator() take rvalue references
https://bugs.webkit.org/show_bug.cgi?id=134468

Reviewed by Darin Adler.

It's unnecessary to support TransformIterator::TransformIterator() taking const lvalue references
as we only call it with rvalues. As a side benefit, we can use move semantics to initialize the
members of TransformIterator.

  • wtf/IteratorAdaptors.h:

(WTF::TransformIterator::TransformIterator): Make constructor take arguments as rvalue references.
(WTF::makeTransformIterator): Substitute std::move() for std::forward().

4:39 PM Changeset in webkit [170614] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

WebBackForwardListItem should not store back-forward data
https://bugs.webkit.org/show_bug.cgi?id=134469

Reviewed by Darin Adler.

Change WebBackForwardListItem::backForwardData to encode the main frame state lazily,
and change WebBackForwardListItem::setBackForwardData to decode it into the main frame state.

  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::backForwardData):
(WebKit::WebBackForwardListItem::setBackForwardData):
(WebKit::WebBackForwardListItem::encode):

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::backForwardData): Deleted.

  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::WebBackForwardList::createCFDictionaryRepresentation):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::restoreSession):

4:26 PM Changeset in webkit [170613] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

WebBackForwardListItems should hold on to PageState objects
https://bugs.webkit.org/show_bug.cgi?id=134467

Reviewed by Darin Adler.

  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::WebBackForwardListItem):
(WebKit::WebBackForwardListItem::encode):

  • Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::setOriginalURL):
(WebKit::WebBackForwardListItem::originalURL):
(WebKit::WebBackForwardListItem::setURL):
(WebKit::WebBackForwardListItem::url):
(WebKit::WebBackForwardListItem::setTitle):
(WebKit::WebBackForwardListItem::title):

4:24 PM Changeset in webkit [170612] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

Add a missing semicolon in WKContentViewInteraction

  • UIProcess/ios/WKContentViewInteraction.mm:

(nsSizeForTapHighlightBorderRadius):
I messed up this when fixing the patch on landing.

4:05 PM Changeset in webkit [170611] by andersca@apple.com
  • 6 edits in trunk/Source

Adopt the legacy session decoding inside WebPage::restoreSession for now
https://bugs.webkit.org/show_bug.cgi?id=134465

Reviewed by Sam Weinig.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::decodeLegacySessionHistoryEntryData):

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

(WebKit::WebPage::restoreSession):

3:58 PM Changeset in webkit [170610] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Don't crash on status bar tap with overflow scroll views
https://bugs.webkit.org/show_bug.cgi?id=134459

Reviewed by Tim Horton.

The tiled scrolling indicator parents UIViews under CALayers, but that causes
those views to miss -willMoveToWindow:nil notifications on teardown. This can leave
deleted UIScrollViews in UIKit's "scroll to top" list.

Fix by not making UIScrollViews in the debug layer tree host.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

3:52 PM Changeset in webkit [170609] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r170578.
https://bugs.webkit.org/show_bug.cgi?id=134462

causes assertions loading nytimes.com on iOS (Requested by
smfr on #webkit).

Reverted changeset:

"Create NSURLRequest lazily when USE(CFNETWORK) is enabled"
https://bugs.webkit.org/show_bug.cgi?id=134441
http://trac.webkit.org/changeset/170578

3:51 PM Changeset in webkit [170608] by oliver@apple.com
  • 10 edits in trunk/Source/WebKit2

Restrict network process sandbox
https://bugs.webkit.org/show_bug.cgi?id=134360

Reviewed by Sam Weinig.

Add more restrictions to the network process sandbox.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

Always use the cache directory provided in the initialization parameters,
and make sure we consume the cookie directory extension.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

Make the sandbox profile much more restrictive.

  • Shared/Network/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode): (WebKit::NetworkProcessCreationParameters::decode):
  • Shared/Network/NetworkProcessCreationParameters.h:

The network process now requires an extension to access
its cookie storage.

  • Shared/mac/SandboxUtilities.cpp: (WebKit::pathForProcessContainer):
  • Shared/mac/SandboxUtilities.h:

We need to be able to get hold of our container so
that we can get the correct cookie storage directory.

  • UIProcess/WebContext.cpp: (WebKit::WebContext::ensureNetworkProcess):

We have to pass in the an extension for the cookie storage directory when

initalising the network process

  • UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformDefaultCookieStorageDirectory):

Make sure we provide the correct location on IOS

  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):

Consume the cookie storage extension

3:50 PM Changeset in webkit [170607] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Turn off scrollsToTop on overflow UIScrollViews
https://bugs.webkit.org/show_bug.cgi?id=134456

Reviewed by Tim Horton.

Set scrollsToTop to NO on our UIScrollViews created for overflow scrolling, since
we don't have a good strategy for when to allow it, and doing so would also require
some smarts in the main UIScrollView.

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):

3:50 PM Changeset in webkit [170606] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (Okemo): The contextual menu on tap and hold does not cancel the other gestures.
https://bugs.webkit.org/show_bug.cgi?id=134463
<rdar://problem/17388907>

Reviewed by Benjamin Poulain.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _longPressRecognized:]):

3:48 PM Changeset in webkit [170605] by achristensen@apple.com
  • 7 edits in trunk/Source

Reduce dynamic memory allocation in css jit.
https://bugs.webkit.org/show_bug.cgi?id=134416

Reviewed by Benjamin Poulain.

Source/WebCore:

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::FunctionCall):
(WebCore::FunctionCall::saveAllocatedCallerSavedRegisters):

  • cssjit/RegisterAllocator.h:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generatePrologue):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
Use inlineCapacity template parameter to reduce malloc calls.
I use 16 and 32 as the inline capacity for non-register related vectors because that
is probably big enough for the selector compiler, and if it is not then a malloc
call will not be significant because the selector is very complex.

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::push):
Pass a vector of stack references to match calls to pop and to avoid a call to appendVector.

Source/WTF:

  • wtf/Deque.h:

Added inlineCapacity optional template parameter.

3:22 PM Changeset in webkit [170604] by mhahnenberg@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

CodeBlock::stronglyVisitWeakReferences should mark DFG::CommonData::weakStructureReferences
https://bugs.webkit.org/show_bug.cgi?id=134455

Reviewed by Geoffrey Garen.

Otherwise we get hanging pointers which can cause us to die later.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::stronglyVisitWeakReferences):

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

Implement the last pieces of encodeFrameStateNode
https://bugs.webkit.org/show_bug.cgi?id=134460

Reviewed by Andreas Kling.

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::HistoryEntryDataEncoder::operator<<):
(WebKit::isValidEnum):
(WebKit::encodeFormDataElement):
(WebKit::encodeFormData):
(WebKit::encodeFrameStateNode):

3:13 PM Changeset in webkit [170602] by msaboff@apple.com
  • 3 edits in trunk/LayoutTests

js/script-tests/function-apply-many-args.js fails on ARM
https://bugs.webkit.org/show_bug.cgi?id=126588

Reviewed by Mark Lam.

Removed three test cases that fail on some platforms and pass on others due
to stack size. Other test cases cover what will fit on a stack or what will
throw an out of stack exception.

  • js/function-apply-many-args-expected.txt:
  • js/script-tests/function-apply-many-args.js:
3:12 PM Changeset in webkit [170601] by msaboff@apple.com
  • 6 edits in trunk

Add option to run-jsc-stress-testes to filter out tests that use large heaps
https://bugs.webkit.org/show_bug.cgi?id=134458

Reviewed by Filip Pizlo.

Source/JavaScriptCore:
Added test to skip js1_5/Regress/regress-159334.js when testing on a memory limited device.

  • tests/mozilla/mozilla-tests.yaml:

Tools:
Added new --memory-limited to filter out tests that have large heap usage.
Such tests are either tagged with @largeHeap or logic is added to their .yaml file.

  • Scripts/run-jsc-stress-tests:

LayoutTests:

  • js/regress/script-tests/lots-of-fields.js: Added @largeHeap tag to skip when

running on a memoryLimited device.

3:10 PM Changeset in webkit [170600] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebKit2

[iOS][WK2] Move tap highlight to the inverseScaleRootView
https://bugs.webkit.org/show_bug.cgi?id=134424
<rdar://problem/17480880>

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

Enrica introduced the inverseScaleRootView that is a dynamic version of _highlightRootView.

This patch moves the tap highlight from its own inverse root to inverseScaleRootView. This provides better handling
of scale, better behavior on crash, and remove one extra view from the hierarchy.

The code is pretty much the same, just moved around. Some of the changes:

Now the code needs to handle repainting live when the view scale. To do that, _showTapHighlightXXX was split in two:
-_showTapHighlight to setup the view.
-_updateTapHighlight to update the view based on the current scale.

Since the view updates live on scaling, we need to recompute the coordinates for each update. To do that, the _potentialTapHighlightInformation
was generalized to handle all cases of highlight.

Since we can no longer test for the nullity of _potentialTapHighlightInformation,
a new attribute is introduced for that: _hasTapHighlightForPotentialTap.

The last bit of change concern reentering the tap highlight. This becomes quite simple:
1) _isTapHighlightIDValid is updated before the animation starts

so that it can be set again during an animation.

2) The animation checks the "finished" flags before removing the view from its superview

to avoid breaking the new animation.

  • UIProcess/API/Cocoa/WKWebView.mm:

(withinEpsilon): Deleted.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
Make _updateUnscaledView conditional to scale changes, that thing isn't cheap!

  • UIProcess/ios/WKContentViewInteraction.h:

(withinEpsilon):
Move withinEpsilon() from WKContentView to use it from both classes.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView cleanupInteraction]):
(-[WKContentView _updateUnscaledView]):
(-[WKContentView _updateTapHighlight]):
(-[WKContentView _showTapHighlight]):
(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
(-[WKContentView _cancelInteraction]):
(-[WKContentView _finishInteraction]):
(-[WKContentView _singleTapDidReset:]):
(-[WKContentView _singleTapCommited:]):
(-[WKContentView _showTapHighlightWithColor:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]): Deleted.

2:53 PM Changeset in webkit [170599] by andersca@apple.com
  • 5 edits in trunk/Source

Add code for encoding legacy session history entries
https://bugs.webkit.org/show_bug.cgi?id=134452

Reviewed by Andreas Kling.

Source/WebKit2:

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::HistoryEntryDataEncoder::HistoryEntryDataEncoder):
(WebKit::HistoryEntryDataEncoder::operator<<):
(WebKit::HistoryEntryDataEncoder::finishEncoding):
(WebKit::HistoryEntryDataEncoder::encodeArithmeticType):
(WebKit::HistoryEntryDataEncoder::encodeFixedLengthData):
(WebKit::HistoryEntryDataEncoder::grow):
(WebKit::HistoryEntryDataEncoder::growCapacity):
(WebKit::encodeFrameStateNode):
(WebKit::encodeLegacySessionHistoryEntryData):
(WebKit::decodeSessionHistoryEntryData):
(WebKit::decodeLegacySessionHistoryEntryData):

  • UIProcess/mac/LegacySessionStateCoding.h:

Source/WTF:

  • wtf/MallocPtr.h:

(WTF::MallocPtr::malloc):
(WTF::MallocPtr::realloc):

2:25 PM Changeset in webkit [170598] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Use non-thumb registers in armv7 css jit.
https://bugs.webkit.org/show_bug.cgi?id=134450

Reviewed by Geoff Garen.

  • cssjit/RegisterAllocator.h:

(WebCore::RegisterAllocator::isValidRegister):
(WebCore::RegisterAllocator::isCallerSavedRegister):
Use additional general purpose registers.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
Always succeed when compiling css selectors.

2:21 PM Changeset in webkit [170597] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

Tiles on bottom of screen are not always allocated when necessary
https://bugs.webkit.org/show_bug.cgi?id=134272

Reviewed by Simon Fraser.

Source/WebCore:
The initial visibleRect is in the coordinate of the root layer, so its origin
is at the top left of the view. The initial rect we were using doesn't
include the contents inset, so it was too short, which was causing tiles near
the bottom of the screen to not always be allocated if the tile threshold was
close to the bottom of the view. Instead, we want to include the contents
inset size so the visible rect includes the entire view.
GraphicsLayerCA::recursiveCommitChanges() takes care of mapping and cropping
the visible rect into the tiled layer's coordinate system, at which point it
is used for visible tile logic.

Test: platform/mac-wk2/tiled-drawing/visible-rect-content-inset.html

  • platform/graphics/ca/TileCoverageMap.cpp:

(WebCore::TileCoverageMap::update):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::flushPendingLayerChanges):

LayoutTests:
Apply a content inset, then dump visible rects.

  • platform/mac-wk2/tiled-drawing/visible-rect-content-inset-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/visible-rect-content-inset.html: Added.
  • compositing/visible-rect/iframe-no-layers.html: For WK2, the size of the visibleRect

includes the size of the border of the iframe. In order to elliminate platform
differences, set this border to 0.

1:57 PM Changeset in webkit [170596] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

DRT in iOS sim crashes while loading fonts
https://bugs.webkit.org/show_bug.cgi?id=134451

Reviewed by Geoffrey Garen.

The magic linker symbols had the same name, and were therefore being unified
to a single font file. Then, adding the same file twice was failing.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(activateFontsIOS):

12:01 PM Changeset in webkit [170595] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Win] Unreviewed project gardening.

  • WebCore.vcxproj/WebCore.vcxproj: Clean up path information so

files appear in appropriate places in project view.

  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
11:48 AM Changeset in webkit [170594] by dbates@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Avoid copying closed variables vector; actually use move semantics

Rubber-stamped by Oliver Hunt.

Currently we always copy the closed variables vector passed by Parser::closedVariables()
to ProgramNode::setClosedVariables() because these member functions return and take a const
rvalue reference, respectively. Instead, these member functions should take an return a non-
constant rvalue reference so that we actually move the closed variables vector from the Parser
object to the Node object.

  • parser/Nodes.cpp:

(JSC::ProgramNode::setClosedVariables): Remove const qualifier for argument.

  • parser/Nodes.h:

(JSC::ScopeNode::setClosedVariables): Ditto.

  • parser/Parser.h:

(JSC::Parser::closedVariables): Remove const qualifier on return type.
(JSC::parse): Remove extraneous call to std::move(). Calling std::move() is unnecessary here
because Parser::closedVariables() returns an rvalue reference.

11:27 AM Changeset in webkit [170593] by Lucas Forschler
  • 2 edits in tags/Safari-538.43.40/Source/WebKit2

Merged r170569. <rdar://problem/17500555>

11:24 AM Changeset in webkit [170592] by Lucas Forschler
  • 2 edits in tags/Safari-538.43.40/Source/WebCore

Merged r170533. <rdar://problem/16801069>

11:22 AM Changeset in webkit [170591] by msaboff@apple.com
  • 2 edits in trunk/LayoutTests

Reduce memory required for js/typedarray-zero-size.js
https://bugs.webkit.org/show_bug.cgi?id=134448

Reviewed by Mark Hahnenberg.

Reduce the loop count from 10000 to 4000 to further reduce memory requirements
on older devices.

  • js/script-tests/typedarray-zero-size.js:
11:06 AM Changeset in webkit [170590] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Remove redundant repaintCompositedLayers() parameter and its dependencies.
https://bugs.webkit.org/show_bug.cgi?id=134431

Reviewed by Darin Adler.

No change in functionality.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::convertToPixelSnappedLayerCoords): Deleted.
(WebCore::RenderLayer::convertToLayerCoords): Deleted.

  • rendering/RenderLayer.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::repaintCompositedLayers):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):

  • rendering/RenderLayerCompositor.h:
10:57 AM Changeset in webkit [170589] by Joseph Pecoraro
  • 10 edits
    1 copy in trunk/Source/JavaScriptCore

JSContext Inspection: Provide a way to use a non-Main RunLoop for Inspector JavaScript Evaluations
https://bugs.webkit.org/show_bug.cgi?id=134371

Reviewed by Timothy Hatcher.

  • API/JSContextPrivate.h:
  • API/JSContext.mm:

(-[JSContext _debuggerRunLoop]):
(-[JSContext _setDebuggerRunLoop:]):
Private API for setting the CFRunLoop for a debugger to evaluate in.

  • API/JSContextRefInternal.h: Added.
  • API/JSContextRef.cpp:

(JSGlobalContextGetDebuggerRunLoop):
(JSGlobalContextSetDebuggerRunLoop):
Internal API for setting a CFRunLoop on a JSContextRef.
Set this on the debuggable.

  • inspector/remote/RemoteInspectorDebuggable.h:
  • inspector/remote/RemoteInspectorDebuggableConnection.h:

(Inspector::RemoteInspectorBlock::RemoteInspectorBlock):
(Inspector::RemoteInspectorBlock::~RemoteInspectorBlock):
(Inspector::RemoteInspectorBlock::operator=):
(Inspector::RemoteInspectorBlock::operator()):
Moved into the header.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::inspectorDebuggable):
Lets store the RunLoop on the debuggable instead of this core
platform agnostic class, so expose the debuggable.

  • inspector/remote/RemoteInspectorDebuggableConnection.mm:

(Inspector::RemoteInspectorHandleRunSourceGlobal):
(Inspector::RemoteInspectorQueueTaskOnGlobalQueue):
(Inspector::RemoteInspectorInitializeGlobalQueue):
Rename the global functions for clarity.

(Inspector::RemoteInspectorHandleRunSourceWithInfo):
Handler for private run loops.

(Inspector::RemoteInspectorDebuggableConnection::RemoteInspectorDebuggableConnection):
(Inspector::RemoteInspectorDebuggableConnection::~RemoteInspectorDebuggableConnection):
(Inspector::RemoteInspectorDebuggableConnection::dispatchAsyncOnDebuggable):
(Inspector::RemoteInspectorDebuggableConnection::setupRunLoop):
(Inspector::RemoteInspectorDebuggableConnection::teardownRunLoop):
(Inspector::RemoteInspectorDebuggableConnection::queueTaskOnPrivateRunLoop):
Setup and teardown and use private run loop sources if the debuggable needs it.

10:42 AM Changeset in webkit [170588] by Lucas Forschler
  • 5 edits in tags/Safari-538.43.40/Source

Versioning.

10:39 AM Changeset in webkit [170587] by Lucas Forschler
  • 1 copy in tags/Safari-538.43.40

New Tag.

10:37 AM Changeset in webkit [170586] by msaboff@apple.com
  • 2 edits in trunk/LayoutTests

Reduce memory required for js/typedarray-zero-size.js
https://bugs.webkit.org/show_bug.cgi?id=134448

Reviewed by Darin Adler.

Making the loop count down reduces memory usage from ~190MB to ~22MB while
still testing the original issue.

  • js/script-tests/typedarray-zero-size.js:
9:59 AM Changeset in webkit [170585] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Remove webkit prefix from pointer lock.
https://bugs.webkit.org/show_bug.cgi?id=134312

Patch by Alex Christensen <achristensen@webkit.org> on 2014-06-30
Reviewed by Dean Jackson.

  • dom/Document.cpp:

(WebCore::Document::exitPointerLock):
(WebCore::Document::pointerLockElement):
(WebCore::Document::webkitExitPointerLock): Deleted.
(WebCore::Document::webkitPointerLockElement): Deleted.

  • dom/Document.h:
  • dom/Document.idl:
  • dom/Element.cpp:

(WebCore::Element::requestPointerLock):
(WebCore::Element::webkitRequestPointerLock): Deleted.

  • dom/Element.h:
  • dom/Element.idl:
  • dom/EventNames.h:
  • dom/MouseEvent.idl:
  • dom/MouseRelatedEvent.h:

(WebCore::MouseRelatedEvent::movementX):
(WebCore::MouseRelatedEvent::movementY):
(WebCore::MouseRelatedEvent::webkitMovementX): Deleted.
(WebCore::MouseRelatedEvent::webkitMovementY): Deleted.

  • page/PointerLockController.cpp:

(WebCore::PointerLockController::PointerLockController):
Initialize all data members.
(WebCore::PointerLockController::requestPointerLock):
(WebCore::PointerLockController::didAcquirePointerLock):
(WebCore::PointerLockController::didNotAcquirePointerLock):
(WebCore::PointerLockController::didLosePointerLock):

8:13 AM Changeset in webkit [170584] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

U16_IS_SURROGATE should not be called with a UChar32
https://bugs.webkit.org/show_bug.cgi?id=134440

Reviewed by Darin Adler.

No new tests because there is no behavior change.

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::advanceByCombiningCharacterSequence):

7:48 AM Changeset in webkit [170583] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Add missing ENABLE(DFG_JIT) guards
https://bugs.webkit.org/show_bug.cgi?id=134444

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-06-30
Reviewed by Darin Adler.

  • dfg/DFGFunctionWhitelist.cpp:
  • dfg/DFGFunctionWhitelist.h:
7:45 AM Changeset in webkit [170582] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Remove Qt cruft from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=134445

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-06-30
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/common/config/ports.py:

(DeprecatedPort.port):
(QtPort): Deleted.
(QtPort.build_webkit_command): Deleted.
(QtPort.run_webkit_tests_command): Deleted.
(QtWK2Port): Deleted.
(QtWK2Port.build_webkit_command): Deleted.
(QtWK2Port.run_webkit_tests_command): Deleted.

  • Scripts/webkitpy/common/config/ports_unittest.py:

(DeprecatedPortTest): Deleted.
(DeprecatedPortTest.test_qt_port): Deleted.
(DeprecatedPortTest.test_qt_wk2_port): Deleted.

1:46 AM Changeset in webkit [170581] by ryuan.choi@samsung.com
  • 5 edits in trunk/Source/WebCore

[EFL] Remove m_evasObject from Widget
https://bugs.webkit.org/show_bug.cgi?id=134442

Reviewed by Gyuyoung Kim.

Since WebKit1/EFL was dropped, we don't need to keep the m_evasObject
in the Widget.cpp because it's not used for WebKit2/Efl.

  • platform/Widget.h:

(WebCore::Widget::evasObject): Deleted.

  • platform/efl/ScrollbarEfl.cpp:

Removed WebKit1/Efl specific code which uses m_evasObject.
It will be a dummy until WebKit2/Efl support proper scrollbar implementation.
(WebCore::ScrollbarEfl::ScrollbarEfl):
(WebCore::ScrollbarEfl::~ScrollbarEfl):
(WebCore::ScrollbarEfl::setParent):
(WebCore::ScrollbarEfl::frameRectsChanged):
(WebCore::ScrollbarEfl::invalidate):
(ScrollbarEfl::ScrollbarEfl): Deleted.
(ScrollbarEfl::~ScrollbarEfl): Deleted.
(scrollbarEflEdjeMessage): Deleted.
(ScrollbarEfl::setParent): Deleted.
(ScrollbarEfl::updateThumbPosition): Deleted.
(ScrollbarEfl::updateThumbProportion): Deleted.
(ScrollbarEfl::updateThumbPositionAndProportion): Deleted.
(ScrollbarEfl::frameRectsChanged): Deleted.
(ScrollbarEfl::invalidate): Deleted.

  • platform/efl/ScrollbarEfl.h:

Removed unnecessary methods. In addition, applied final, override keyword.
(WebCore::ScrollbarEfl::handleMouseMoveEvent): Deleted.
(WebCore::ScrollbarEfl::handleMouseOutEvent): Deleted.
(WebCore::ScrollbarEfl::handleMousePressEvent): Deleted.
(WebCore::ScrollbarEfl::handleMouseReleaseEvent): Deleted.

  • platform/efl/WidgetEfl.cpp:

(WebCore::Widget::Widget):
(WebCore::Widget::setEvasObject): Deleted.

1:35 AM Changeset in webkit [170580] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix deprecated warning with bison 3
https://bugs.webkit.org/show_bug.cgi?id=133791

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-06-30
Reviewed by Csaba Osztrogonác.

No new tests because no functional changes.

  • css/CSSGrammar.y.in:
  • xml/XPathGrammar.y:
1:32 AM Changeset in webkit [170579] by ljaehun.lim@samsung.com
  • 3 edits in trunk/Source/WebCore

Remove HarfBuzzShaper::setDrawRange()
https://bugs.webkit.org/show_bug.cgi?id=134243

Reviewed by Gyuyoung Kim.

setDrawRange() is not used anywhere. Remove it.
And m_fromIndex and m_toIndex are changed by only setDrawRange().
So remove them too and use the default values instead of them.

No new tests, no behavior changes.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzShaper):
(WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun):

currentCharacterIndex is unsigned, always greater than 0. Clean up if statements.

(WebCore::HarfBuzzShaper::setDrawRange): Deleted.

  • platform/graphics/harfbuzz/HarfBuzzShaper.h:
Note: See TracTimeline for information about the timeline view.