Timeline



Aug 17, 2014:

11:03 PM Changeset in webkit [172698] by zandobersek@gmail.com
  • 4 edits in trunk

[CMake] Optimization-disabling compiler flags should be appended to CMAKE_C(XX)_FLAGS_RELEASE
https://bugs.webkit.org/show_bug.cgi?id=135980

Reviewed by Martin Robinson.

CMAKE_C(XX)_FLAGS_RELEASE variables usually contain the -On flag which
overrides any other disabled optimization that was prepended to these
variables or was added to the CMAKE_C(XX)_FLAGS variables which CMake
lists first in the final list of compilation flags.

To avoid -On re-enabling optimizations that we'd like to keep disabled,
the specific compiler flags must be appended to CMAKE_C(XX)_FLAGS_RELEASE.

  • Source/cmake/OptionsCommon.cmake:
  • Source/cmake/OptionsEfl.cmake: Also do the appending with CMAKE_SHARED_LINKER_FLAGS_RELEASE.
  • Source/cmake/OptionsGTK.cmake:
9:37 PM Changeset in webkit [172697] by aestes@apple.com
  • 8 edits
    12 adds
    10 deletes in trunk

REGRESSION (r167856): adobe.com no longer able to launch Create Cloud app using a URL with a custom scheme
https://bugs.webkit.org/show_bug.cgi?id=136010

Reviewed by Darin Adler.

Source/WebCore:

r167856 caused WebKit to stop scheduling certain kinds of navigations (window.location changes, meta-refresh,
and some calls to window.open) when the request URL is invalid. Adobe.com performs one of these navigations to
an invalid URL with an external scheme (aam:), relying on Safari's navigation policy delegate to ignore the
navigation and launch the external app registered to handle aam: URLs. Since the navigation is no longer
scheduled, the policy delegate is never executed and the external app never launches.

Instead of not scheduling the navigation, allow it to proceed until the client's policy delegate has executed
and made a decision. Only disallow the navigation if the policy delegate told WebKit to proceed with the load.
This exposes these navigations to clients via the policy delegate and via willPerformClientRedirectToURL and
didCancelClientRedirectForFrame on the frame load delegate.

Note that r167856 also caused an iOS regression, and this was resolved in r170120 by adding a linked-on-or-after
check and a WebCore setting. Since the iOS regression is also resolved by the approach described above, this
patch reverts r170120 (but keeps some of its tests).

Tests: fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html

fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html
fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html
fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html
fast/loader/window-open-to-invalid-url-calls-policy-delegate.html
fast/loader/window-open-to-invalid-url-disallowed.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Do not continue if the navigation will be a redirect
to an invalid URL.

  • loader/NavigationScheduler.cpp:

(WebCore::NavigationScheduler::shouldScheduleNavigation): Resumed scheduling navigations to invalid URLs.

  • page/Settings.in: Removed the allowNavigationToInvalidURL setting.

Source/WebKit/mac:

Reverted the linked-on-or-after check added in r170120 since it is no longer necessary.

  • Misc/WebKitVersionChecks.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

LayoutTests:

Removed tests that verified the behavior of setAllowNavigationToInvalidURL(true), which no longer exists:

  • fast/loader/allow-redirect-to-invalid-url-using-javascript-expected.txt: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-javascript.html: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html: Removed.

Added tests that verify the policy delegate is executed on some navigations to invalid URLs:

  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate-expected.txt: Added.
  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html: Added.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate-expected.txt: Added.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html: Added.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate-expected.txt: Added.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate.html: Added.

Renamed some existing tests added in r170120, modified them to log willPerformClientRedirectToURL and
didCancelClientRedirectForFrame, and added a test to verify navigations in existing frames via window.open:

  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript-expected.txt.
  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript.html.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh-expected.txt.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html.
  • fast/loader/window-open-to-invalid-url-disallowed-expected.txt: Added.
  • fast/loader/window-open-to-invalid-url-disallowed.html: Added.
12:54 PM Changeset in webkit [172696] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed change to force rebuild
(plus drive-by add an accessor I wanted for
some future tooling).

  • WinLauncher/WinLauncher.h:

(WinLauncher::webView): Added.

8:35 AM Changeset in webkit [172695] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[Win] Unreviewed build fix.

Upload static VS2013 version of WebKitSystemInterface.

  • win/lib32/WebKitSystemInterface.lib:

Aug 16, 2014:

3:52 PM Changeset in webkit [172694] by mjs@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Remove the obsolete WebKitEnableCoalescedUpdatesPreferenceKey
https://bugs.webkit.org/show_bug.cgi?id=136024

Reviewed by Filip Pizlo.

  • WebView/WebFrameView.mm:

(-[WebFrameView initWithFrame:]): Remove code that respects
this key. It was SPI and is no longer used; also it was
only relevant for versions of OS X that WebKit no longer supports.

  • WebView/WebPreferenceKeysPrivate.h: Remove declaration.
1:32 PM Changeset in webkit [172693] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r164173): Safari AutoFill button in popover, default buttons on iCloud control panel and Safari Safe Browsing pages don't have default appearance
https://bugs.webkit.org/show_bug.cgi?id=136011

Reviewed by Sam Weinig.

When we render some controls, we need to make sure the NSWindow subclass we
use as the host of the AppKit views identifies itself as the key window (if
the control state is correct). We already have a flag tracking this for
key appearance - just make sure we do the same for isKeyWindow.

  • platform/mac/ThemeMac.mm:

(-[WebCoreThemeWindow isKeyWindow]): New override to mirror the static
variable for key appearance.

12:26 PM Changeset in webkit [172692] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Update contributors.json for my new email
https://bugs.webkit.org/show_bug.cgi?id=136021

Patch by Mark Hahnenberg <mhahnenb@gmail.com> on 2014-08-16
Reviewed by Filip Pizlo.

  • Scripts/webkitpy/common/config/contributors.json:
12:01 PM Changeset in webkit [172691] by psolanki@apple.com
  • 3 edits
    2 moves in trunk/Source/WebKit2

Rename DiskCacheMonitor to NetworkDiskCacheMonitor
https://bugs.webkit.org/show_bug.cgi?id=135897

Reviewed by Andreas Kling.

In preparation for moving DiskCacheMonitor code to WebCore in bug 135896, rename the WebKit2
class to NetworkDiskCacheMonitor.

  • NetworkProcess/mac/NetworkDiskCacheMonitor.h: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.h.

(WebKit::NetworkDiskCacheMonitor::resourceRequest):

  • NetworkProcess/mac/NetworkDiskCacheMonitor.mm: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.mm.

(WebKit::NetworkDiskCacheMonitor::monitorFileBackingStoreCreation):
(WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):
(WebKit::NetworkDiskCacheMonitor::messageSenderConnection):
(WebKit::NetworkDiskCacheMonitor::messageSenderDestinationID):

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::willCacheResponseAsync):

  • WebKit2.xcodeproj/project.pbxproj:
7:26 AM Changeset in webkit [172690] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[GTK] build fails with error: cannot allocate an object of abstract type 'WebKit::PageClientImpl'
https://bugs.webkit.org/show_bug.cgi?id=136017

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-08-16
Reviewed by Gyuyoung Kim.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
(WebKit::PageClientImpl::didFinishLoadForMainFrame):

  • UIProcess/API/gtk/PageClientImpl.h:
2:25 AM Changeset in webkit [172689] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve performance of selection range changes viewing Scripts timeline
https://bugs.webkit.org/show_bug.cgi?id=136015

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-16
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Utilities.js:

(clamp):
Helper function to clamp a value between a min and max.

  • UserInterface/Models/ProfileNode.js:

(WebInspector.ProfileNode.prototype.get startTime):
(WebInspector.ProfileNode.prototype.get endTime):
These can be quickly calculated, so avoid full calculation to grab the values.

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype.updateLayout):
Update ranges with a smart helper, instead of blindly doing it and needing refresh.

  • UserInterface/Views/ProfileNodeDataGridNode.js:

(WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime):
(WebInspector.ProfileNodeDataGridNode.prototype.get data):
(WebInspector.ProfileNodeDataGridNode.prototype.updateRangeTimes):
(WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime): Deleted.
(WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime): Deleted.

  • UserInterface/Views/ScriptTimelineDataGridNode.js:

(WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
(WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime): Deleted.
(WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime): Deleted.
When updating the range selection, compare to the last range selection
on this DataGridNode. If the visible portion of this node's time range
changes, we need a refresh. Otherwise, we don't need a refresh.

Note: See TracTimeline for information about the timeline view.