rgabor@webkit.org [Wed, 22 Feb 2012 18:10:40 +0000 (18:10 +0000)]
build-webkit should use environment variable at number of CPU
detection on all platform
https://bugs.webkit.org/show_bug.cgi?id=79227
Reviewed by Martin Robinson.
* Scripts/webkitdirs.pm:
(determineNumberOfCPUs):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108513
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 17:44:16 +0000 (17:44 +0000)]
[GTK][WK2] Add WebGL WebSetting.
https://bugs.webkit.org/show_bug.cgi?id=79217
Patch by Antaryami Pandia <antaryami.pandia@motorola.com> on 2012-02-22
Reviewed by Martin Robinson.
Add a WebSetting to enable/disable Webgl.
* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_set_enable_webaudio):
(webkit_settings_get_enable_webgl):
(webkit_settings_set_enable_webgl):
* UIProcess/API/gtk/WebKitSettings.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(testWebKitSettings):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108512
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Wed, 22 Feb 2012 17:39:03 +0000 (17:39 +0000)]
Web Inspector: console doesn't show properly arrays from which tail values have been deleted
https://bugs.webkit.org/show_bug.cgi?id=79242
Reviewed by Yury Semikhatsky.
Source/WebCore:
* English.lproj/localizedStrings.js:
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype._printArray.appendUndefined):
(WebInspector.ConsoleMessageImpl.prototype._printArray):
LayoutTests:
* inspector/console/console-format-expected.txt:
* inspector/console/console-format.html:
* platform/chromium/inspector/console/console-format-collections-expected.txt:
* platform/chromium/inspector/console/console-format-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108511
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Wed, 22 Feb 2012 17:09:53 +0000 (17:09 +0000)]
Web Inspector: warning external font mime (font/font/woff).
https://bugs.webkit.org/show_bug.cgi?id=79244
Reviewed by Yury Semikhatsky.
* inspector/front-end/Resource.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108509
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Wed, 22 Feb 2012 17:05:09 +0000 (17:05 +0000)]
Web Inspector: use dots as markers on the counter graphs
https://bugs.webkit.org/show_bug.cgi?id=79243
Changed counter graphs marker and counter text styles.
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics):
(WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
(WebInspector.MemoryStatistics.prototype.addTimlineEvent):
(WebInspector.MemoryStatistics.prototype._draw):
(WebInspector.MemoryStatistics.prototype._onMouseOut):
(WebInspector.MemoryStatistics.prototype._onMouseOver):
(WebInspector.MemoryStatistics.prototype._onMouseMove):
(WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
(WebInspector.MemoryStatistics.prototype._recordIndexAt):
(WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
(WebInspector.MemoryStatistics.prototype._clearMarkers):
(WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
(WebInspector.MemoryStatistics.prototype.refresh):
(WebInspector.MemoryStatistics.prototype._drawPolyline):
(WebInspector.MemoryStatistics.prototype._clear):
* inspector/front-end/timelinePanel.css:
(.memory-counter-sidebar-info):
(.memory-counter-sidebar-info .title):
(.memory-counter-sidebar-info .counter-value):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108508
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Wed, 22 Feb 2012 16:54:52 +0000 (16:54 +0000)]
Web Inspector: make 'glue asynchronous events' optional.
https://bugs.webkit.org/show_bug.cgi?id=79240
Reviewed by Yury Semikhatsky.
* English.lproj/localizedStrings.js:
* inspector/front-end/Images/statusbarButtonGlyphs.png:
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.get statusBarItems):
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
(WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
(WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
(WebInspector.TimelinePanel.prototype._repopulateRecords):
(WebInspector.TimelinePanel.prototype._findParentRecord):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineRecordGraphRow):
(WebInspector.TimelineRecordGraphRow.prototype.update):
(WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
* inspector/front-end/timelinePanel.css:
(.glue-async-status-bar-item .glyph):
(.timeline-start-at-zero-status-bar-item .glyph):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108507
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Wed, 22 Feb 2012 16:47:09 +0000 (16:47 +0000)]
Web Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672.
https://bugs.webkit.org/show_bug.cgi?id=79229
Reviewed by Pavel Feldman.
Source/WebCore:
Test: http/tests/inspector/console-xhr-logging-async.html
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::setInitialScriptContent):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFinishLoading):
LayoutTests:
* http/tests/inspector/console-xhr-logging-async-expected.txt: Added.
* http/tests/inspector/console-xhr-logging-async.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108506
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihnea@adobe.com [Wed, 22 Feb 2012 16:29:33 +0000 (16:29 +0000)]
[Qt] REGRESSION(r108108): It made 3 fast/repaint tests fail
https://bugs.webkit.org/show_bug.cgi?id=78960
Reviewed by Csaba Osztrogonác.
Source/WebKit/qt:
* Api/qwebsettings.cpp:
(QWebSettingsPrivate::apply):
(QWebSettings::QWebSettings):
* Api/qwebsettings.h:
Tools:
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::overridePreference):
LayoutTests:
* fast/repaint/japanese-rl-selection-repaint-in-regions.html:
* fast/repaint/line-flow-with-floats-in-regions.html:
* fast/repaint/overflow-flipped-writing-mode-block-in-regions.html:
* fast/repaint/region-painting-invalidation.html:
* fast/repaint/region-painting-via-layout.html:
* platform/qt/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108505
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
caseq@chromium.org [Wed, 22 Feb 2012 16:08:25 +0000 (16:08 +0000)]
Web Inspector: fix memory counters and start-at-zero modes of timeline panels to co-exist nicely
https://bugs.webkit.org/show_bug.cgi?id=79241
Reviewed by Yury Semikhatsky.
* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype.addTimlineEvent):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._showTimelines):
(WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
(WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
(WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108504
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 22 Feb 2012 15:42:03 +0000 (15:42 +0000)]
[Chromium] video-referer.html fails
https://bugs.webkit.org/show_bug.cgi?id=79239
Unreviewed, skipping a test that started to fail after r108387.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108503
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
caseq@chromium.org [Wed, 22 Feb 2012 15:16:45 +0000 (15:16 +0000)]
Web Inspector: [experimental] add a mode to display timeline events aligned by the start time
https://bugs.webkit.org/show_bug.cgi?id=79123
Reviewed by Pavel Feldman.
* inspector/front-end/Images/statusbarButtonGlyphs.png:
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._showTimelines):
(WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
(WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
(WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
(WebInspector.TimelineOverviewPane.prototype.update):
(WebInspector.TimelineOverviewPane.prototype.reset):
(WebInspector.TimelineOverviewWindow):
(WebInspector.TimelineOverviewWindow.prototype.reset):
(WebInspector.TimelineOverviewWindow.prototype._setWindowPosition):
(WebInspector.TimelineOverviewWindow.prototype.scrollWindow):
(WebInspector.TimelineStartAtZeroOverview):
(WebInspector.TimelineStartAtZeroOverview.prototype.reset):
(WebInspector.TimelineStartAtZeroOverview.prototype.update):
(WebInspector.TimelineStartAtZeroOverview.prototype._filterRecords):
(WebInspector.TimelineStartAtZeroOverview.prototype._buildBar):
(WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.get statusBarItems):
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
(WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
(WebInspector.TimelinePanel.prototype.get _startAtZero):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelinePanel.prototype._onRecordsCleared):
(WebInspector.TimelinePanel.prototype._resetPanel):
(WebInspector.TimelinePanel.prototype._scheduleRefresh):
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelinePanel.prototype._filterRecords):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineStartAtZeroCalculator):
(WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages):
(WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineStartAtZeroCalculator.prototype.calculateWindow):
(WebInspector.TimelineStartAtZeroCalculator.prototype.reset):
(WebInspector.TimelineStartAtZeroCalculator.prototype.updateBoundaries):
(WebInspector.TimelineStartAtZeroCalculator.prototype.formatValue):
(WebInspector.TimelinePanel.FormattedRecord):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
(WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
(WebInspector.TimelinePanel.FormattedRecord.prototype.get aggregatedStats):
(WebInspector.TimelineModel.prototype.get records):
(WebInspector.TimelinePresentationModel):
(WebInspector.TimelinePresentationModel.prototype.reset):
(WebInspector.TimelinePresentationModel.prototype.setWindowIndices):
(WebInspector.TimelineRecordFilter):
(WebInspector.TimelineRecordFilter.prototype.accept):
(WebInspector.TimelineStartAtZeroRecordFilter):
(WebInspector.TimelineStartAtZeroRecordFilter.prototype.accept):
* inspector/front-end/timelinePanel.css:
(.timeline-start-at-zero #timeline-overview-sidebar):
(.timeline-start-at-zero #timeline-overview-grid):
(.timeline-overview-window):
(.timeline-start-at-zero .timeline-overview-window):
(.timeline-start-at-zero .timeline-overview-dividers-background):
(.timeline-overview-window-rulers):
(.timeline-start-at-zero #timeline-overview-memory):
(.popover .timeline-loading):
(.popover .timeline-scripting):
(.popover .timeline-rendering):
(.timeline-start-at-zero-status-bar-item .glyph):
(.timeline-start-at-zero-status-bar-item.toggled-on .glyph):
(.timeline-overview-start-at-zero):
(.timeline-overview-start-at-zero-bars):
(.timeline-overview-start-at-zero-bars .padding):
(.timeline-overview-start-at-zero-bars .timeline-bar-vertical):
(.timeline-bar-vertical div:first-child):
(.timeline-bar-vertical .timeline-loading):
(.timeline-bar-vertical .timeline-scripting):
(.timeline-bar-vertical .timeline-rendering):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108502
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kenneth@webkit.org [Wed, 22 Feb 2012 15:15:10 +0000 (15:15 +0000)]
[Qt] Disregard previous backing store as soon as possible https://bugs.webkit.org/show_bug.cgi?id=79232
Reviewed by Simon Hausmann and No'am Rosenthal.
Source/WebCore:
Make it possible to drop non-visible tiles and to test
if the current visible rect is fully covered.
* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::visibleContentsRect):
(WebCore::TiledBackingStore::coverageRatio):
(WebCore::TiledBackingStore::visibleAreaIsCovered):
(WebCore):
(WebCore::TiledBackingStore::createTiles):
(WebCore::TiledBackingStore::removeAllNonVisibleTiles):
* platform/graphics/TiledBackingStore.h:
(TiledBackingStore):
Source/WebKit2:
Between creating the new backing store and painting the content,
we do not want to drop the previous one as that might result in
briefly seeing flickering as the old tiles may be dropped before
something replaces them.
But we do need to drop it at some point and we need to make sure
to not spike the memory usage before of this.
What we now do, is to store the previous backing store as before,
but drop all tiles which are not visible and then drop it as soon
as the visible rect (which might change due if followed by a quick
panning) has been fully covered by tiles.
* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::setContentsScale):
(WebCore::WebGraphicsLayer::updateContentBuffers):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108501
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Wed, 22 Feb 2012 15:12:10 +0000 (15:12 +0000)]
Unreviewed, skipping one more mediastream failure on GTK.
* platform/gtk/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108500
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 15:11:31 +0000 (15:11 +0000)]
[Qt][WK2] Implement proxy authentication handling.
https://bugs.webkit.org/show_bug.cgi?id=78792
Patch by Michael Brüning <michael.bruning@nokia.com> on 2012-02-22
Reviewed by Simon Hausmann.
This patch corrects two bugs with the previous implementation:
1. The signal proxyAuthenticationRequired was not connected to a
slot.
2. The slot onProxyAuthenticationRequired had the wrong parameters.
* WebProcess/qt/QtNetworkAccessManager.cpp:
(WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
(WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
* WebProcess/qt/QtNetworkAccessManager.h: Added include.
(QtNetworkAccessManager):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108499
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Wed, 22 Feb 2012 15:10:21 +0000 (15:10 +0000)]
[Qt] Move QMenu dependant scrollbar context menu handling out of WebCore
https://bugs.webkit.org/show_bug.cgi?id=79233
Reviewed by Kenneth Rohde Christiansen.
Source/WebCore:
Move the code into WebKit/qt/Api/qwebpage.cpp, the only place where it is called from.
* Target.pri: Remove ScrollbarQt.cpp from build.
* platform/Scrollbar.h: Remove Qt-only context menu handling but make moveThum
accessible from the outside.
* platform/qt/ScrollbarQt.cpp: Removed. Not needed anymore.
Source/WebKit/qt:
Move scrollbar context menu handling here, it's the only place where it is
used.
* Api/qwebpage.cpp:
(handleScrollbarContextMenuEvent):
(QWebPage::swallowContextMenuEvent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108498
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Wed, 22 Feb 2012 15:07:58 +0000 (15:07 +0000)]
Web Inspector: retrieving content for some XHR requests crashes inspected page renderer
https://bugs.webkit.org/show_bug.cgi?id=79026
Reviewed by Pavel Feldman.
Source/WebCore:
Fixed loading empty xhr content and xhr content decoding that was
broken in r107672.
Tests: http/tests/inspector/network/network-cyrillic-xhr.html
http/tests/inspector/network/network-empty-xhr.html
* inspector/InspectorPageAgent.cpp:
(WebCore):
(WebCore::InspectorPageAgent::createDecoder):
(WebCore::InspectorPageAgent::cachedResourceContent):
* inspector/InspectorPageAgent.h:
(WebCore):
* inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
(WebCore::NetworkResourcesData::responseReceived):
* inspector/NetworkResourcesData.h:
(WebCore::NetworkResourcesData::ResourceData::decoder):
(WebCore::NetworkResourcesData::ResourceData::setDecoder):
LayoutTests:
* http/tests/inspector/network/network-cyrillic-xhr-expected.txt: Added.
* http/tests/inspector/network/network-cyrillic-xhr.html: Added.
* http/tests/inspector/network/network-empty-xhr-expected.txt: Added.
* http/tests/inspector/network/network-empty-xhr.html: Added.
* http/tests/inspector/network/resources/cyrillic.html: Added.
* http/tests/inspector/network/resources/empty.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108497
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Wed, 22 Feb 2012 15:05:19 +0000 (15:05 +0000)]
Web Inspector: CodeGeneratorInspector.py: remove neural-net-style constructions
https://bugs.webkit.org/show_bug.cgi?id=79153
Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-22
Reviewed by Yury Semikhatsky.
CParamType class removed completely, some ("virtual") methods are
removed. TypeModel notion is added instead with some minor helper
classes and methods.
* inspector/CodeGeneratorInspector.py:
(DomainNameFixes):
(RawTypes.BaseType):
(RawTypes.String):
(RawTypes.String.get_raw_type_model):
(RawTypes.Int):
(RawTypes.Int.get_raw_type_model):
(RawTypes.Number):
(RawTypes.Number.get_raw_type_model):
(RawTypes.Bool):
(RawTypes.Bool.get_raw_type_model):
(RawTypes.Object):
(RawTypes.Object.get_raw_type_model):
(RawTypes.Any):
(RawTypes.Any.get_raw_type_model):
(RawTypes.Array):
(RawTypes.Array.get_raw_type_model):
(replace_right_shift):
(CommandReturnPassModel):
(CommandReturnPassModel.ByReference):
(CommandReturnPassModel.ByReference.__init__):
(CommandReturnPassModel.ByReference.get_return_var_type):
(CommandReturnPassModel.get_output_argument_prefix):
(CommandReturnPassModel.get_output_to_raw_expression):
(CommandReturnPassModel.get_output_parameter_type):
(CommandReturnPassModel.get_set_return_condition):
(CommandReturnPassModel.ByPointer):
(CommandReturnPassModel.ByPointer.__init__):
(CommandReturnPassModel.ByPointer.get_return_var_type):
(TypeModel):
(TypeModel.RefPtrBased):
(TypeModel.RefPtrBased.__init__):
(TypeModel.RefPtrBased.get_optional):
(TypeModel.RefPtrBased.get_command_return_pass_model):
(TypeModel.RefPtrBased.get_input_param_type_text):
(TypeModel.RefPtrBased.get_event_setter_expression_pattern):
(TypeModel.Enum):
(TypeModel.Enum.__init__):
(TypeModel.Enum.get_optional):
(TypeModel.Enum.get_optional.EnumOptional):
(TypeModel.Enum.get_optional.EnumOptional.get_optional):
(TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
(TypeModel.Enum.get_input_param_type_text):
(TypeModel.Enum.get_event_setter_expression_pattern):
(TypeModel.Enum.get_command_return_pass_model):
(TypeModel.ValueType):
(TypeModel.ValueType.__init__):
(TypeModel.ValueType.get_optional):
(TypeModel.ValueType.get_command_return_pass_model):
(TypeModel.ValueType.get_input_param_type_text):
(TypeModel.ValueType.get_event_setter_expression_pattern):
(TypeModel.ValueType.ValueOptional):
(TypeModel.ValueType.ValueOptional.__init__):
(TypeModel.ValueType.ValueOptional.get_optional):
(TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
(TypeModel.ValueType.ValueOptional.get_input_param_type_text):
(TypeModel.ValueType.ValueOptional.get_event_setter_expression_pattern):
(TypeModel.init_class):
(TypeBindings.create_ad_hoc_type_declaration.Helper):
(TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
(TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
(TypeBindings.create_type_declaration_.EnumBinding):
(TypeBindings.create_type_declaration_.EnumBinding.get_type_model):
(TypeBindings.create_type_declaration_):
(TypeBindings.create_type_declaration_.get_type_model):
(TypeBindings.create_type_declaration_.get_array_item_c_type_text):
(get_type_model):
(AdHocTypeContextImpl.__init__):
(PlainObjectBinding):
(PlainObjectBinding.get_type_model):
(AdHocTypeContext):
(ArrayBinding.get_array_item_c_type_text):
(ArrayBinding):
(ArrayBinding.get_type_model):
(RawTypeBinding.get_validator_call_text):
(RawTypeBinding.reduce_to_raw_type):
(RawTypeBinding):
(RawTypeBinding.get_type_model):
(MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
(MethodGenerateModes.RawParameterMode.get_c_param_type_text):
(MethodGenerateModes.CombinedMode.get_c_param_type_text):
(Generator.go):
(Generator.process_event):
(Generator.process_command):
(Generator.resolve_type_and_generate_ad_hoc):
(Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::didParseSource):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108496
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Wed, 22 Feb 2012 15:00:00 +0000 (15:00 +0000)]
Web Inspector: [InspectorIndexedDB] Show IndexedDB views on selection IndexedDB elements in resources panel.
https://bugs.webkit.org/show_bug.cgi?id=79098
Reviewed by Pavel Feldman.
Source/WebCore:
* English.lproj/localizedStrings.js:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore):
* inspector/compile-front-end.sh:
* inspector/front-end/IndexedDBModel.js:
(WebInspector.IndexedDBModel.prototype._assertFrameId):
(WebInspector.IndexedDBModel.prototype.loadObjectStoreData):
(WebInspector.IndexedDBModel.prototype.loadIndexData):
* inspector/front-end/IndexedDBViews.js: Added.
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertiesSection):
(WebInspector.ObjectPropertiesSection.prototype.updateProperties):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.showIndexedDB):
(WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB):
(WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded):
(WebInspector.IDBDatabaseTreeElement):
(WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
(WebInspector.IDBDatabaseTreeElement.prototype.update):
(WebInspector.IDBDatabaseTreeElement.prototype.onselect):
(WebInspector.IDBObjectStoreTreeElement):
(WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
(WebInspector.IDBObjectStoreTreeElement.prototype.update):
(WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
(WebInspector.IDBIndexTreeElement):
(WebInspector.IDBIndexTreeElement.prototype.get itemURL):
(WebInspector.IDBIndexTreeElement.prototype.update):
(WebInspector.IDBIndexTreeElement.prototype.onselect):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
* inspector/front-end/indexedDBViews.css: Added.
* inspector/front-end/inspector.html:
LayoutTests:
* http/tests/inspector/indexeddb/database-data.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108495
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Wed, 22 Feb 2012 14:49:46 +0000 (14:49 +0000)]
REGRESSION(58212): html foreignObjects with positions other than static not hidden correctly when parent has display:none
https://bugs.webkit.org/show_bug.cgi?id=41386
Reviewed by Zoltan Herczeg.
Source/WebCore:
r58212 gave SVGGElements a renderer, regardless if "display: none" was set or not, for various reasons (see change set).
The <g> renderer for such cases is a RenderSVGHiddenContainer. We make sure in SVG that such subtrees are never used
for painting & hittesting - they only exist for the purpose of SVG DOM (query getCTM, etc..) and to create renderers
for child resources, like <g display="none"><linearGradient>.
This concept still works fine for: <g display="none"><foreignObject><body>Foobar</body></foreignObject></g>, as
RenderSVGForeignObject::paint is never called thus we never paint the subtree of the <fO>. If the <body> elements
contains "position: relative" a new layer is created for the <body>. When the document paints we have two seperated
layers, and the <body> layer doesn't know that it's actually inside a "SVG hidden subtree", and gets painted, where it
shouldn't. HTML doesn't have this problems, as a display: none object, never creates a renderer.
The fix is to disallow layer creation in hidden SVG subtrees, to mimic what would happen if we'd follow HTML rules
to not create renderers for display: none objects. This avoids any indirections - as no layers are created anymore.
Tests: svg/foreignObject/fO-display-none-with-relative-pos-content.svg
svg/foreignObject/fO-display-none.svg
svg/foreignObject/fO-parent-display-changes.svg
svg/foreignObject/fO-parent-display-none-with-relative-pos-content.svg
svg/foreignObject/fO-parent-display-none.svg
svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content.svg
svg/foreignObject/fO-parent-of-parent-display-none.svg
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::styleDidChange): Only create layers, if its allowed -- layerCreationAllowedForSubtree() will always return true for HTML, and only false for layers inside a hidden SVG subtree.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addChild): Only create layers, if its allowed.
* rendering/RenderObject.h: Add inline layerCreationAllowedForSubtree() helper, that craws the tree to find a RenderSVGHiddenContainer ancestor, if not present, return true.
LayoutTests:
Add new tests covering <foreignObject> content inside a <g display="none">.
* platform/chromium/test_expectations.txt:
* platform/mac/svg/foreignObject/fO-display-none-expected.png: Added.
* platform/mac/svg/foreignObject/fO-display-none-expected.txt: Added.
* platform/mac/svg/foreignObject/fO-display-none-with-relative-pos-content-expected.png: Added.
* platform/mac/svg/foreignObject/fO-display-none-with-relative-pos-content-expected.txt: Added.
* platform/mac/svg/foreignObject/fO-parent-display-changes-expected.png: Added.
* platform/mac/svg/foreignObject/fO-parent-display-changes-expected.txt: Added.
* platform/mac/svg/foreignObject/fO-parent-display-none-expected.png: Added.
* platform/mac/svg/foreignObject/fO-parent-display-none-expected.txt: Added.
* platform/mac/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.png: Added.
* platform/mac/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: Added.
* platform/mac/svg/foreignObject/fO-parent-of-parent-display-none-expected.png: Added.
* platform/mac/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: Added.
* platform/mac/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.png: Added.
* platform/mac/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: Added.
* svg/foreignObject/fO-display-none-with-relative-pos-content.svg: Added.
* svg/foreignObject/fO-display-none.svg: Added.
* svg/foreignObject/fO-parent-display-changes.svg: Added.
* svg/foreignObject/fO-parent-display-none-with-relative-pos-content.svg: Added.
* svg/foreignObject/fO-parent-display-none.svg: Added.
* svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content.svg: Added.
* svg/foreignObject/fO-parent-of-parent-display-none.svg: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108494
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Wed, 22 Feb 2012 14:21:23 +0000 (14:21 +0000)]
2012-02-22 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix SVG pixel test results, which now show up as hash failures, since DRT was fixed to report these.
* platform/mac/svg/W3C-SVG-1.1/coords-units-03-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/pservers-grad-15-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.png:
* platform/mac/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.png:
* platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.png:
* platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.png:
* platform/mac/svg/as-border-image/svg-as-border-image-expected.png:
* platform/mac/svg/clip-path/clip-in-mask-expected.png:
* platform/mac/svg/clip-path/nested-clip-in-mask-image-based-clipping-expected.png:
* platform/mac/svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping-expected.png:
* platform/mac/svg/clip-path/nested-clip-in-mask-path-based-clipping-expected.png:
* platform/mac/svg/custom/circular-marker-reference-2-expected.png:
* platform/mac/svg/custom/glyph-selection-arabic-forms-expected.png:
* platform/mac/svg/custom/glyph-selection-bidi-mirror-expected.png:
* platform/mac/svg/custom/glyph-selection-non-bmp-expected.png:
* platform/mac/svg/custom/gradient-rotated-bbox-expected.png:
* platform/mac/svg/custom/gradient-userSpaceOnUse-with-percentage-expected.png:
* platform/mac/svg/custom/marker-opacity-expected.png:
* platform/mac/svg/custom/non-circular-marker-reference-expected.png:
* platform/mac/svg/dom/SVGLocatable-getCTM-svg-root-expected.png:
* platform/mac/svg/hixie/error/017-expected.png:
* platform/mac/svg/text/text-align-05-b-expected.png:
* platform/mac/svg/text/text-path-01-b-expected.png:
* platform/mac/svg/text/text-text-01-b-expected.png:
* platform/mac/svg/text/text-text-07-t-expected.png:
* platform/mac/svg/text/text-tselect-02-f-expected.png:
* svg/as-image/svg-non-integer-scaled-image-expected.png:
* svg/custom/visited-link-color-expected.png:
* svg/custom/zero-path-square-cap-rendering2-expected.png:
* svg/foreignObject/clip-expected.png:
* svg/foreignObject/filter-expected.png:
* svg/foreignObject/mask-expected.png:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108493
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zherczeg@webkit.org [Wed, 22 Feb 2012 14:18:33 +0000 (14:18 +0000)]
Drop clipToImageBuffer from RenderBoxModelObject
https://bugs.webkit.org/show_bug.cgi?id=79225
Reviewed by Nikolas Zimmermann.
-webkit-background-clip: text is a rarely used non-standard
feature uses clipToImageBuffer. It is replaced by
CompositeDestinationIn on a transparent layer. The new
approach has the same speed as the old one.
Existing tests cover this issue.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108492
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kenneth@webkit.org [Wed, 22 Feb 2012 13:56:24 +0000 (13:56 +0000)]
Merge setVisibleRectTrajectoryVector and adjustVisibleRect to the more descriptive coverWithTilesIfNeeded https://bugs.webkit.org/show_bug.cgi?id=79230
Reviewed by Simon Hausmann.
Source/WebCore:
Both setVisibleRectTrajectoryVector and the adjustVisibleRect are
used for initiating re-tiling, so make that more obvious and merge
the two.
* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::coverWithTilesIfNeeded):
* platform/graphics/TiledBackingStore.h:
(TiledBackingStore):
Source/WebKit/qt:
* Api/qgraphicswebview.cpp:
(QGraphicsWebView::paint):
Use coverWithTilesIfNeeded().
Source/WebKit2:
Replace use by coverWithTilesIfNeeded().
* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
(WebCore::WebGraphicsLayer::adjustVisibleRect):
(WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108491
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Wed, 22 Feb 2012 13:38:15 +0000 (13:38 +0000)]
REGRESSION: unbalanced transparency layers for clipPath
https://bugs.webkit.org/show_bug.cgi?id=78074
Reviewed by Zoltan Herczeg.
Source/WebCore:
If we're rendering to a mask image buffer, all children are rendered with opacity=1, regardless what their RenderStyles specify.
SVGRenderSupport::finishRenderSVGContent() did not take this into account and always called endTransparencyLayer(). Fix that
by checking if we're rendering to a mask image buffer, if so don't call endTransparencyLayer().
Add new reftest covering both the visual & logical correctness (no assertion).
Tests: svg/clip-path/opacity-assertion-expected.svg
svg/clip-path/opacity-assertion.svg
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::isRenderingMaskImage): Extraced as sharable helper function.
(WebCore::SVGRenderSupport::prepareToRenderSVGContent): Factor out isRenderingMaskImage() function.
(WebCore::SVGRenderSupport::finishRenderSVGContent): Only call endTransparencyLayer(), if we actually called beginTL() first.
LayoutTests:
* svg/clip-path/opacity-assertion-expected.svg: Added.
* svg/clip-path/opacity-assertion.svg: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108490
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kenneth@webkit.org [Wed, 22 Feb 2012 13:36:12 +0000 (13:36 +0000)]
Improve comments in tiling code.
Rubberstamped by Simon Hausmann.
* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::createTiles):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108489
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Wed, 22 Feb 2012 13:27:09 +0000 (13:27 +0000)]
Not reviewed: build fix.
* inspector/InspectorController.cpp:
* inspector/InspectorController.h:
(InspectorController):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108488
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 13:25:11 +0000 (13:25 +0000)]
[chromium] Build WebKit with MEDIA_STREAM disabled.
https://bugs.webkit.org/show_bug.cgi?id=79214
Patch by Hao Zheng <zhenghao@chromium.org> on 2012-02-22
Reviewed by Kent Tamura.
Source/WebKit/chromium:
* src/UserMediaClientImpl.h:
Tools:
* DumpRenderTree/chromium/WebUserMediaClientMock.cpp:
* DumpRenderTree/chromium/WebUserMediaClientMock.h:
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::createMediaPlayer):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108487
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Wed, 22 Feb 2012 13:13:01 +0000 (13:13 +0000)]
Web Inspector: do not filter out requestAnimationFrame from timeline, implement stop on animation events.
https://bugs.webkit.org/show_bug.cgi?id=79116
Reviewed by Yury Semikhatsky.
Source/WebCore:
* English.lproj/localizedStrings.js:
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::registerCallback):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didRequestAnimationFrameCallbackImpl):
(WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
(WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didRequestAnimationFrameCallback):
* inspector/InspectorTimelineAgent.cpp:
(TimelineRecordType):
(WebCore::InspectorTimelineAgent::didRequestAnimationFrameCallback):
(WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
(WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
(WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.EventListenerBreakpointsSidebarPane):
(WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
* inspector/front-end/TimelineAgent.js:
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.get _recordStyles):
(WebInspector.TimelinePanel.prototype._findParentRecord):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
(WebInspector.TimelinePanel.prototype._onRecordsCleared):
(WebInspector.TimelinePanel.FormattedRecord):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
(WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
LayoutTests:
* inspector/timeline/timeline-animation-frame-expected.txt:
* inspector/timeline/timeline-animation-frame.html:
* inspector/timeline/timeline-enum-stability-expected.txt:
* platform/chromium/inspector/timeline/timeline-animation-frame-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108486
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Wed, 22 Feb 2012 13:10:09 +0000 (13:10 +0000)]
Remove unused class declaration in WebCore/page/scrolling/ScrollingCoordinator.h
https://bugs.webkit.org/show_bug.cgi?id=79175
Patch by Changhun Kang <temoochin@company100.net> on 2012-02-22
Reviewed by Kentaro Hara.
* page/scrolling/ScrollingCoordinator.h:
Remove PlatformGestureEvent class declaration.
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108485
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 22 Feb 2012 13:05:14 +0000 (13:05 +0000)]
Unreviewed, rolling out r108456.
http://trac.webkit.org/changeset/108456
https://bugs.webkit.org/show_bug.cgi?id=79223
Broke fast/regex/pcre-test-4.html and cannot find anyone on
IRC (Requested by zherczeg on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-22
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::backtrackPatternCharacterGreedy):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108484
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abecsi@webkit.org [Wed, 22 Feb 2012 12:56:57 +0000 (12:56 +0000)]
[Qt][WK2] Fix the N9 build
https://bugs.webkit.org/show_bug.cgi?id=79101
Reviewed by Simon Hausmann.
Fixed the include order of the rolled out r108359 not to break
the build with CONFIG+=force_static_libs_as_shared.
* platform/graphics/OpenGLShims.h: Add missing include.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108483
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yutak@chromium.org [Wed, 22 Feb 2012 12:51:01 +0000 (12:51 +0000)]
[Chromium] Unreviewed, regular maintenance of test expectations.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108482
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 22 Feb 2012 12:20:10 +0000 (12:20 +0000)]
[Qt] Unreviewed gardening, skip a new failing test.
* platform/qt/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108481
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shinyak@chromium.org [Wed, 22 Feb 2012 12:06:34 +0000 (12:06 +0000)]
firstRendererOf() should also return a fallback element renderer in NodeRenderingContext.
https://bugs.webkit.org/show_bug.cgi?id=79180
Reviewed by Hajime Morita.
Source/WebCore:
Currently we have handled AttachingFallback in some special mannger, however if firstRendererOf
and lastRendererOf return a fallback element renderer, we don't need to handle it in such a manner.
We have introduced new attaching phase: AttachingFallbacked, and AttachingNotFallbacked.
They are used for fallback elements.
Added new test cases in:
fast/dom/shadow/shadow-contents-fallback.html
fast/dom/shadow/shadow-contents-fallback-dynamic.html
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::firstRendererOf):
(WebCore::lastRendererOf):
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):
(WebCore::NodeRenderingContext::shouldCreateRenderer):
* dom/NodeRenderingContext.h:
* html/shadow/InsertionPoint.h:
(WebCore::isInsertionPoint):
(WebCore):
(WebCore::toInsertionPoint):
LayoutTests:
Added new test cases, e.g. <content> in <content>, with display:none.
* fast/dom/shadow/shadow-contents-fallback-dynamic-expected.txt:
* fast/dom/shadow/shadow-contents-fallback-dynamic.html:
* fast/dom/shadow/shadow-contents-fallback-expected.txt:
* fast/dom/shadow/shadow-contents-fallback.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108480
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zeno.albisser@nokia.com [Wed, 22 Feb 2012 11:46:50 +0000 (11:46 +0000)]
[Qt][WK2][Mac] WebKitTestRunner does not build with clang.
https://bugs.webkit.org/show_bug.cgi?id=79124
WebKitTestRunnerPrefix.h should also be included
when building with clang.
Reviewed by Kenneth Rohde Christiansen.
* WebKitTestRunner/Target.pri:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108479
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 22 Feb 2012 11:38:14 +0000 (11:38 +0000)]
[Qt] Unreviewed gardening after r108464.
* Target.pri:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108478
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Wed, 22 Feb 2012 11:21:01 +0000 (11:21 +0000)]
Add performance tests for the Element.id getter and setter
https://bugs.webkit.org/show_bug.cgi?id=79209
Reviewed by Adam Barth.
This patch adds performance tests for the Element.id getter and setter.
The results of 10 runs in my local Chromium/Linux are as follows:
dom_attributes_id_getter.html:
median= 92.0 ms, stdev= 1.
65151445649 ms, min= 89.0 ms, max= 96.0 ms
median= 87.5 ms, stdev= 1.
84390889146 ms, min= 85.0 ms, max= 92.0 ms
median= 94.0 ms, stdev= 1.
46543508898 ms, min= 90.0 ms, max= 95.0 ms
median= 86.0 ms, stdev= 1.
66958078571 ms, min= 84.0 ms, max= 91.0 ms
median= 94.0 ms, stdev= 2.
25610283454 ms, min= 103.0 ms, max= 98.0 ms
median= 86.0 ms, stdev= 1.
49666295471 ms, min= 84.0 ms, max= 91.0 ms
median= 86.0 ms, stdev= 1.
5321553446 ms, min= 84.0 ms, max= 90.0 ms
median= 86.0 ms, stdev= 2.
20227155455 ms, min= 84.0 ms, max= 94.0 ms
median= 96.0 ms, stdev= 1.
74570902501 ms, min= 101.0 ms, max= 99.0 ms
median= 86.0 ms, stdev= 1.
63935963108 ms, min= 84.0 ms, max= 90.0 ms
median= 94.0 ms, stdev= 1.
49248115566 ms, min= 90.0 ms, max= 95.0 ms
median= 88.0 ms, stdev= 5.
20192272146 ms, min= 84.0 ms, max= 98.0 ms
median= 86.0 ms, stdev= 1.
41067359797 ms, min= 84.0 ms, max= 89.0 ms
median= 86.0 ms, stdev= 1.
48660687473 ms, min= 84.0 ms, max= 89.0 ms
median= 94.0 ms, stdev= 1.
58113883008 ms, min= 93.0 ms, max= 97.0 ms
median= 86.0 ms, stdev= 1.
95959179423 ms, min= 84.0 ms, max= 93.0 ms
median= 86.0 ms, stdev= 1.
8547236991 ms, min= 84.0 ms, max= 92.0 ms
median= 86.0 ms, stdev= 1.
39283882772 ms, min= 84.0 ms, max= 89.0 ms
median= 88.0 ms, stdev= 1.
48660687473 ms, min= 85.0 ms, max= 90.0 ms
median= 86.5 ms, stdev= 2.3 ms, min= 84.0 ms, max= 93.0 ms
dom_attributes_id_setter.html:
median= 123.0 ms, stdev= 2.
06397674406 ms, min= 119.0 ms, max= 128.0 ms
median= 119.0 ms, stdev= 1.
92028643697 ms, min= 117.0 ms, max= 123.0 ms
median= 121.0 ms, stdev= 1.
8781639971 ms, min= 118.0 ms, max= 123.0 ms
median= 123.0 ms, stdev= 2.
21585198062 ms, min= 119.0 ms, max= 130.0 ms
median= 124.5 ms, stdev= 2.
36378933071 ms, min= 119.0 ms, max= 129.0 ms
median= 122.0 ms, stdev= 2.
4474476501 ms, min= 118.0 ms, max= 128.0 ms
median= 123.0 ms, stdev= 1.
76351920885 ms, min= 118.0 ms, max= 125.0 ms
median= 119.0 ms, stdev= 1.
79652442232 ms, min= 117.0 ms, max= 125.0 ms
median= 121.0 ms, stdev= 1.
49916643506 ms, min= 119.0 ms, max= 123.0 ms
median= 119.5 ms, stdev= 1.
85135085816 ms, min= 117.0 ms, max= 125.0 ms
median= 124.0 ms, stdev= 1.
43090880213 ms, min= 120.0 ms, max= 124.0 ms
median= 122.0 ms, stdev= 1.
45859521458 ms, min= 118.0 ms, max= 123.0 ms
median= 123.0 ms, stdev= 1.
50332963784 ms, min= 120.0 ms, max= 124.0 ms
median= 123.0 ms, stdev= 1.
3638181697 ms, min= 120.0 ms, max= 125.0 ms
median= 119.0 ms, stdev= 1.
43527000944 ms, min= 117.0 ms, max= 121.0 ms
median= 122.5 ms, stdev= 1.
71682847134 ms, min= 118.0 ms, max= 124.0 ms
median= 121.0 ms, stdev= 1.
44481832768 ms, min= 118.0 ms, max= 123.0 ms
median= 120.0 ms, stdev= 1.
40978721799 ms, min= 117.0 ms, max= 122.0 ms
median= 122.0 ms, stdev= 1.
68522995464 ms, min= 119.0 ms, max= 125.0 ms
median= 122.0 ms, stdev= 1.
55804364509 ms, min= 118.0 ms, max= 123.0 ms
* Bindings/dom_attributes_id_getter.html: Added.
* Bindings/dom_attributes_id_setter.html: Added.
* Bindings/resources/dom_attributes_common.js: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108477
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Wed, 22 Feb 2012 11:20:31 +0000 (11:20 +0000)]
Unreviewed, rolling out r108468.
http://trac.webkit.org/changeset/108468
https://bugs.webkit.org/show_bug.cgi?id=79219
Broke Chromium Win release build (Requested by bashi on
#webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-22
Source/JavaScriptCore:
* wtf/Platform.h:
Source/WebCore:
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* websockets/WebSocket.cpp:
(WebCore::WebSocket::didConnect):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::connect):
(WebCore::WebSocketChannel::fail):
(WebCore::WebSocketChannel::processFrame):
(WebCore::WebSocketChannel::sendFrame):
* websockets/WebSocketChannel.h:
* websockets/WebSocketDeflateFramer.cpp: Removed.
* websockets/WebSocketDeflateFramer.h: Removed.
LayoutTests:
* http/tests/websocket/tests/hybi/compressed-control-frame-expected.txt: Removed.
* http/tests/websocket/tests/hybi/compressed-control-frame.html: Removed.
* http/tests/websocket/tests/hybi/compressed-control-frame_wsh.py: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff-expected.txt: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter-expected.txt: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter_wsh.py: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-parameter-expected.txt: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-parameter.html: Removed.
* http/tests/websocket/tests/hybi/deflate-frame_wsh.py: Removed.
* http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt:
* http/tests/websocket/tests/hybi/send-file-blob_wsh.py:
(web_socket_transfer_data):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108476
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Wed, 22 Feb 2012 11:05:03 +0000 (11:05 +0000)]
Unreviewed, GTK gardening, unskip 2 tests that should pass now.
* platform/gtk/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108475
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rolandsteiner@chromium.org [Wed, 22 Feb 2012 10:45:15 +0000 (10:45 +0000)]
<style scoped>: Add runtime-flag
https://bugs.webkit.org/show_bug.cgi?id=79074
Source/WebCore:
Added runtime-flag.
Query runtime flag when (un)registering a <style scoped> element, and when determineing a style sheet's scope.
Reviewed by Dimitri Glazkov.
No new tests. (no change in functionality)
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* bindings/generic/RuntimeEnabledFeatures.h:
(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::styleScopedEnabled):
(WebCore::RuntimeEnabledFeatures::setStyleScopedEnabled):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::determineScopingElement):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::registerWithScopingNode):
(WebCore::HTMLStyleElement::unregisterWithScopingNode):
* html/HTMLStyleElement.idl:
Source/WebKit/chromium:
Added a runtime-flag.
Enable default STYLE_SCOPED compile-time flag for Chromium.
Reviewed by Dimitri Glazkov.
* features.gypi: enable STYLE_SCOPED
* public/WebRuntimeFeatures.h:
(WebRuntimeFeatures):
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableStyleScoped):
(WebKit):
(WebKit::WebRuntimeFeatures::isStyleScopedEnabled):
Tools:
Enable the runtime-flag for DRT.
Reviewed by Dimitri Glazkov.
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108474
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
apavlov@chromium.org [Wed, 22 Feb 2012 10:42:46 +0000 (10:42 +0000)]
Web Inspector: Audit rules to recommend unprefixing supported CSS properties
https://bugs.webkit.org/show_bug.cgi?id=78985
Reviewed by Pavel Feldman.
Source/WebCore:
* inspector/front-end/AuditCategories.js:
(WebInspector.AuditCategories.PagePerformance.prototype.initialize):
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.CSSRuleBase):
(WebInspector.AuditRules.CSSRuleBase.prototype.doRun.sheetsCallback):
(WebInspector.AuditRules.CSSRuleBase.prototype.doRun):
(WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet.sheetCallback):
(WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet):
(WebInspector.AuditRules.CSSRuleBase.prototype._visitRule):
(WebInspector.AuditRules.CSSRuleBase.prototype.visitStyleSheet):
(WebInspector.AuditRules.CSSRuleBase.prototype.didVisitStyleSheet):
(WebInspector.AuditRules.CSSRuleBase.prototype.visitRule):
(WebInspector.AuditRules.CSSRuleBase.prototype.didVisitRule):
(WebInspector.AuditRules.CSSRuleBase.prototype.visitProperty):
(WebInspector.AuditRules.VendorPrefixedCSSProperties):
(WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitStyleSheet):
(WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitRule):
(WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitRule):
(WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
* inspector/front-end/ResourceUtils.js:
LayoutTests:
* inspector/audits/audits-panel-functional-expected.txt:
* inspector/audits/audits-panel-functional.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108473
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 10:17:16 +0000 (10:17 +0000)]
[Qt][WK2] Add frame flattening setting to QWebPreferences.
https://bugs.webkit.org/show_bug.cgi?id=79099
Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-02-22
Reviewed by Simon Hausmann.
Frame flattening is enabled by default for Qt WebKit2.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
* UIProcess/API/qt/qwebpreferences.cpp:
(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
(QWebPreferences::setNavigatorQtObjectEnabled):
(QWebPreferences::frameFlatteningEnabled):
(QWebPreferences::setFrameFlatteningEnabled):
* UIProcess/API/qt/qwebpreferences_p.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108471
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shinyak@chromium.org [Wed, 22 Feb 2012 10:12:30 +0000 (10:12 +0000)]
Node::attach() should be after attaching children in Element::attach().
https://bugs.webkit.org/show_bug.cgi?id=79201
Reviewed by Hajime Morita.
In Element::attach(), Node::attach() is called before attaching children if a shaodw root exists.
This may cause O(N^2) problem in NodeRenderingContext.
No new tests. Existing tests should cover this.
* dom/Element.cpp:
(WebCore::Element::attach):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108470
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Wed, 22 Feb 2012 10:03:46 +0000 (10:03 +0000)]
Adding WebSocket per-frame DEFLATE extension
https://bugs.webkit.org/show_bug.cgi?id=77522
Source/JavaScriptCore:
Added USE(ZLIB) flag.
Reviewed by Kent Tamura.
* wtf/Platform.h:
Source/WebCore:
Add WebSocketDeflateFramer class which handles deflate-frame extension.
This class encapsulates WebSocketDeflater and WebSocketInflater classes,
which depend on zlib, so that WebSocketChannel is not necessary to aware
zlib dependency.
Reviewed by Kent Tamura.
Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
http/tests/websocket/tests/hybi/deflate-frame-parameter.html
* CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* websockets/WebSocket.cpp:
(WebCore::WebSocket::didConnect): Set m_extensions.
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
(WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
(WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
(WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
* websockets/WebSocketChannel.h:
* websockets/WebSocketDeflateFramer.cpp: Added.
(WebCore):
(WebSocketExtensionDeflateFrame):
(WebCore::WebSocketExtensionDeflateFrame::create):
(WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
(WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
(WebCore::WebSocketExtensionDeflateFrame::handshakeString):
(WebCore::WebSocketExtensionDeflateFrame::processResponse):
(WebCore::DeflateResultHolder::DeflateResultHolder):
(WebCore::DeflateResultHolder::~DeflateResultHolder):
(WebCore::DeflateResultHolder::fail):
(WebCore::InflateResultHolder::InflateResultHolder):
(WebCore::InflateResultHolder::~InflateResultHolder):
(WebCore::InflateResultHolder::fail):
(WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
(WebCore::WebSocketDeflateFramer::createExtensionProcessor):
(WebCore::WebSocketDeflateFramer::canDeflate):
(WebCore::WebSocketDeflateFramer::enableDeflate):
(WebCore::WebSocketDeflateFramer::deflate):
(WebCore::WebSocketDeflateFramer::resetDeflateContext):
(WebCore::WebSocketDeflateFramer::inflate):
(WebCore::WebSocketDeflateFramer::resetInflateContext):
(WebCore::WebSocketDeflateFramer::didFail):
* websockets/WebSocketDeflateFramer.h: Added.
(WebCore):
(DeflateResultHolder):
(WebCore::DeflateResultHolder::succeeded):
(WebCore::DeflateResultHolder::failureReason):
(InflateResultHolder):
(WebCore::InflateResultHolder::succeeded):
(WebCore::InflateResultHolder::failureReason):
(WebSocketDeflateFramer):
(WebCore::WebSocketDeflateFramer::enabled):
LayoutTests:
Added tests for WebSocket deflate-frame extension. Also updated some
tests to follow the change.
Reviewed by Kent Tamura.
* http/tests/websocket/tests/hybi/compressed-control-frame-expected.txt: Added.
* http/tests/websocket/tests/hybi/compressed-control-frame.html: Added.
* http/tests/websocket/tests/hybi/compressed-control-frame_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff-expected.txt: Added.
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html: Added.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter-expected.txt: Added.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html: Added.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/deflate-frame-parameter-expected.txt: Added.
* http/tests/websocket/tests/hybi/deflate-frame-parameter.html: Added.
* http/tests/websocket/tests/hybi/deflate-frame_wsh.py: Added.
(_get_deflate_frame_extension_processor):
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt:
* http/tests/websocket/tests/hybi/send-file-blob_wsh.py:
(_retrieve_frame):
(web_socket_transfer_data):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108468
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yutak@chromium.org [Wed, 22 Feb 2012 10:00:02 +0000 (10:00 +0000)]
Unreviewed, rolling out r108453.
http://trac.webkit.org/changeset/108453
https://bugs.webkit.org/show_bug.cgi?id=78549
Broke Chromium's webkit_unit_tests.
Source/WebCore:
* WebCore.gypi:
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Removed.
* platform/graphics/chromium/cc/CCOcclusionTracker.h: Removed.
Source/WebKit/chromium:
* WebKit.gypi:
* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore::TEST):
(WebCore):
* tests/CCOcclusionTrackerTest.cpp: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108467
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zherczeg@webkit.org [Wed, 22 Feb 2012 09:56:58 +0000 (09:56 +0000)]
[Qt] clipToImageBuffer assertion fix in debug mode on Qt.
Rubber stamped by Csaba Osztrogonác.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::restorePlatformState):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108466
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Wed, 22 Feb 2012 09:45:55 +0000 (09:45 +0000)]
[GTK] fast/frames/frame-dead-region.html crash
https://bugs.webkit.org/show_bug.cgi?id=79205
Unreviewed.
Apparently we're not supposed to call willDetachPage from
CachedFrame::destroy. This call got added in
http://trac.webkit.org/changeset/108428, but it seems to cause a crash.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::closeAndRemoveChild):
(WebCore::FrameLoader::detachFromParent):
* page/Frame.h:
(WebCore::Frame::detachFromPage):
* page/Page.cpp:
(WebCore::Page::~Page):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108465
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Wed, 22 Feb 2012 09:40:27 +0000 (09:40 +0000)]
Move Geolocation code into Modules/geolocation
https://bugs.webkit.org/show_bug.cgi?id=79204
Reviewed by Hajime Morita.
There are still some dangling references into the Geolocation module,
which I will clean up in a followup patch.
* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Modules/geolocation/Geolocation.cpp: Copied from Source/WebCore/page/Geolocation.cpp.
* Modules/geolocation/Geolocation.h: Copied from Source/WebCore/page/Geolocation.h.
* Modules/geolocation/Geolocation.idl: Copied from Source/WebCore/page/Geolocation.idl.
* Modules/geolocation/GeolocationController.cpp: Copied from Source/WebCore/page/GeolocationController.cpp.
* Modules/geolocation/GeolocationController.h: Copied from Source/WebCore/page/GeolocationController.h.
* Modules/geolocation/GeolocationError.h: Copied from Source/WebCore/page/GeolocationError.h.
* Modules/geolocation/GeolocationPosition.h: Copied from Source/WebCore/page/GeolocationPosition.h.
* Modules/geolocation/Geoposition.h: Copied from Source/WebCore/page/Geoposition.h.
* Modules/geolocation/Geoposition.idl: Copied from Source/WebCore/page/Geoposition.idl.
* Modules/geolocation/PositionCallback.h: Copied from Source/WebCore/page/PositionCallback.h.
* Modules/geolocation/PositionCallback.idl: Copied from Source/WebCore/page/PositionCallback.idl.
* Modules/geolocation/PositionError.h: Copied from Source/WebCore/page/PositionError.h.
* Modules/geolocation/PositionError.idl: Copied from Source/WebCore/page/PositionError.idl.
* Modules/geolocation/PositionErrorCallback.h: Copied from Source/WebCore/page/PositionErrorCallback.h.
* Modules/geolocation/PositionErrorCallback.idl: Copied from Source/WebCore/page/PositionErrorCallback.idl.
* Modules/geolocation/PositionOptions.h: Copied from Source/WebCore/page/PositionOptions.h.
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/Geolocation.cpp: Removed.
* page/Geolocation.h: Removed.
* page/Geolocation.idl: Removed.
* page/GeolocationController.cpp: Removed.
* page/GeolocationController.h: Removed.
* page/GeolocationError.h: Removed.
* page/GeolocationPosition.h: Removed.
* page/Geoposition.h: Removed.
* page/Geoposition.idl: Removed.
* page/PositionCallback.h: Removed.
* page/PositionCallback.idl: Removed.
* page/PositionError.h: Removed.
* page/PositionError.idl: Removed.
* page/PositionErrorCallback.h: Removed.
* page/PositionErrorCallback.idl: Removed.
* page/PositionOptions.h: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108464
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 09:28:57 +0000 (09:28 +0000)]
[gtk] Accessibility: use find funtion in vector instead of for.
https://bugs.webkit.org/show_bug.cgi?id=77878
Patch by Frederik Gladhorn <frederik.gladhorn@nokia.com> on 2012-02-22
Reviewed by Hajime Morita.
Minor cleanup, use the find function from vector.
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetIndexInParent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108463
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 22 Feb 2012 09:14:53 +0000 (09:14 +0000)]
Remove the remaining uses of CSSStyleDeclaration in Editor
https://bugs.webkit.org/show_bug.cgi?id=78939
Reviewed by Enrica Casucci.
Source/WebCore:
Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection,
applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration
to StylePropertySet.
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* editing/Editor.cpp:
(WebCore::Editor::applyStyle):
(WebCore::Editor::shouldApplyStyle):
(WebCore::Editor::applyParagraphStyle):
(WebCore::Editor::applyStyleToSelection):
(WebCore::Editor::applyParagraphStyleToSelection):
(WebCore::Editor::setBaseWritingDirection):
(WebCore::Editor::computeAndSetTypingStyle):
* editing/Editor.h:
(WebCore):
(Editor):
* editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame):
(WebCore::executeApplyParagraphStyle):
(WebCore::executeMakeTextWritingDirectionLeftToRight):
(WebCore::executeMakeTextWritingDirectionNatural):
(WebCore::executeMakeTextWritingDirectionRightToLeft):
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::shouldApplyStyle):
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
* page/EditorClient.h:
(WebCore):
(EditorClient):
Source/WebKit/blackberry:
* WebCoreSupport/EditorClientBlackBerry.cpp:
(WebCore::EditorClientBlackBerry::shouldApplyStyle):
* WebCoreSupport/EditorClientBlackBerry.h:
(EditorClientBlackBerry):
Source/WebKit/chromium:
* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::shouldApplyStyle):
* src/EditorClientImpl.h:
(EditorClientImpl):
Source/WebKit/efl:
* WebCoreSupport/EditorClientEfl.cpp:
(WebCore::EditorClientEfl::shouldApplyStyle):
* WebCoreSupport/EditorClientEfl.h:
(EditorClientEfl):
Source/WebKit/gtk:
* WebCoreSupport/EditorClientGtk.cpp:
(WebKit::EditorClient::shouldApplyStyle):
* WebCoreSupport/EditorClientGtk.h:
(EditorClient):
Source/WebKit/mac:
* WebCoreSupport/WebEditorClient.h:
(WebEditorClient):
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::shouldApplyStyle):
* WebView/WebFrame.mm:
(-[WebFrame _setTypingStyle:withUndoAction:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
(-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
* WebView/WebView.mm:
(-[WebView applyStyle:]):
Source/WebKit/qt:
* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::shouldApplyStyle):
* WebCoreSupport/EditorClientQt.h:
(EditorClientQt):
Source/WebKit/win:
* WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::shouldApplyStyle):
* WebCoreSupport/WebEditorClient.h:
(WebEditorClient):
Source/WebKit/wince:
* WebCoreSupport/EditorClientWinCE.cpp:
(WebKit::EditorClientWinCE::shouldApplyStyle):
Source/WebKit/wx:
* WebKitSupport/EditorClientWx.cpp:
(WebCore::EditorClientWx::shouldApplyStyle):
* WebKitSupport/EditorClientWx.h:
(EditorClientWx):
Source/WebKit2:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::shouldApplyStyle):
* WebProcess/WebCoreSupport/WebEditorClient.h:
(WebEditorClient):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108462
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 09:03:02 +0000 (09:03 +0000)]
[GTK] fast/mediastream/peerconnection-argument-types.html fails
https://bugs.webkit.org/show_bug.cgi?id=79096
Patch by Yanbin Zhang <yanbin.zhang@intel.com> on 2012-02-22
Reviewed by Adam Barth.
* fast/mediastream/peerconnection-argument-types-expected.txt:
* fast/mediastream/script-tests/argument-types.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108460
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 22 Feb 2012 08:55:46 +0000 (08:55 +0000)]
Unreviewed, rolling out r107351.
http://trac.webkit.org/changeset/107351
https://bugs.webkit.org/show_bug.cgi?id=53600
Several issues introduced in WebKitGTK+ API
Source/WebKit/gtk:
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::ChromeClient):
(WebKit::ChromeClient::chromeDestroyed):
(WebKit::ChromeClient::canRunModal):
(WebKit::ChromeClient::runModal):
* WebCoreSupport/ChromeClientGtk.h:
(ChromeClient):
* webkit/webkitwebview.cpp:
(webkit_web_view_class_init):
Tools:
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(createWebView):
* GtkLauncher/main.c:
(createWebViewCb):
(createBrowser):
(createWindow):
(main):
LayoutTests:
* platform/gtk/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108459
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 08:54:57 +0000 (08:54 +0000)]
[chromium] Cull quads outside of the scissoring damage rect
https://bugs.webkit.org/show_bug.cgi?id=79181
Patch by Dana Jansens <danakj@chromium.org> on 2012-02-22
Reviewed by James Robinson.
Source/WebCore:
Quads outside of the partial swap cause us to execute GL operations
that actually use a fair amount of CPU time (enough to affect power
usage). Here we cull quads by only keeping their intersection
with the damage rect used for partial swap.
Unit test: CCQuadCuller.cpp
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::CCQuadCuller::cullOccludedQuads):
* platform/graphics/chromium/cc/CCQuadCuller.h:
(CCQuadCuller):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::optimizeQuads):
* platform/graphics/chromium/cc/CCRenderPass.h:
(CCRenderPass):
Source/WebKit/chromium:
* tests/CCQuadCullerTest.cpp:
(WebCore::TEST):
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108458
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 08:43:52 +0000 (08:43 +0000)]
Short circuit fixed for a 16 bt pattern character and an 8 bit string.
https://bugs.webkit.org/show_bug.cgi?id=75602
Patch by Hojong Han <hojong.han@samsung.com> on 2012-02-22
Reviewed by Gavin Barraclough.
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::backtrackPatternCharacterGreedy):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108456
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Wed, 22 Feb 2012 08:37:18 +0000 (08:37 +0000)]
Unreviewed, GTK gardening.
* platform/gtk/Skipped:
* platform/gtk/fast/forms/float-before-fieldset-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108455
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Wed, 22 Feb 2012 08:30:01 +0000 (08:30 +0000)]
Part of r108409 was incorrect, and incorporated an older version of a sub-patch.
This is the actual sub-patch that should have been submitted.
* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::show):
(WebNotificationClient::cancel):
(WebNotificationClient::clearNotifications):
(WebNotificationClient::notificationObjectDestroyed):
(WebNotificationClient::notificationControllerDestroyed):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108454
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 07:59:51 +0000 (07:59 +0000)]
[Chromium] New CCOcclusionTracker class with tests
https://bugs.webkit.org/show_bug.cgi?id=78549
Patch by Dana Jansens <danakj@chromium.org> on 2012-02-21
Reviewed by James Robinson.
Source/WebCore:
Adds a CCOcclusionTrackerBase template class that is able to track occlusion
of layers while traversing the layer tree from front-to-back, with typedefed
versions for the main and impl threads.
At each step of the front-to-back traversal, the class should be notified of
changes to the current render target, and when done working with a layer, the
layer is added the tracked occlusion.
The class provides tests for checking if a rect in content space
for a layer/surface is occluded by others in front of it.
Unit tests: CCOcclusionTrackerTest.cpp
* WebCore.gypi:
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
(WebCore):
(WebCore::::enterTargetRenderSurface):
(WebCore::::finishedTargetRenderSurface):
(WebCore::transformSurfaceOpaqueRegion):
(WebCore::::leaveToTargetRenderSurface):
(WebCore::contentToScreenSpaceTransform):
(WebCore::contentToTargetSurfaceTransform):
(WebCore::computeOcclusionBehindLayer):
(WebCore::::markOccludedBehindLayer):
(WebCore::testContentRectOccluded):
(WebCore::::occluded):
(WebCore::::surfaceOccluded):
(WebCore::rectSubtractRegion):
(WebCore::computeUnoccludedContentRect):
(WebCore::::unoccludedContentRect):
(WebCore::::surfaceUnoccludedContentRect):
(WebCore::::currentOcclusionInScreenSpace):
(WebCore::::currentOcclusionInTargetSurface):
* platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
(WebCore):
(CCOcclusionTrackerBase):
(WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
(StackObject):
Source/WebKit/chromium:
* WebKit.gypi:
* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore):
* tests/CCOcclusionTrackerTest.cpp: Added.
(WebCore):
(WebCore::setLayerPropertiesForTesting):
(LayerChromiumWithForcedDrawsContent):
(WebCore::LayerChromiumWithForcedDrawsContent::LayerChromiumWithForcedDrawsContent):
(WebCore::LayerChromiumWithForcedDrawsContent::drawsContent):
(TestCCOcclusionTracker):
(WebCore::TestCCOcclusionTracker::occlusionInScreenSpace):
(WebCore::TestCCOcclusionTracker::occlusionInTargetSurface):
(WebCore::TestCCOcclusionTracker::setOcclusionInScreenSpace):
(WebCore::TestCCOcclusionTracker::setOcclusionInTargetSurface):
(WebCore::TEST):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108453
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 22 Feb 2012 07:37:30 +0000 (07:37 +0000)]
[GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
https://bugs.webkit.org/show_bug.cgi?id=79120
Reviewed by Martin Robinson.
* Shared/gtk/WebCoreArgumentCodersGtk.cpp:
(CoreIPC::::encode): Encode a boolean to indicate whether it's a
Null error.
(CoreIPC::::decode): Check whether the error is Null and do not
continue decoding in such case.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108452
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kling@webkit.org [Wed, 22 Feb 2012 07:33:56 +0000 (07:33 +0000)]
Cache <font face> family lists in CSSValuePool.
<http://webkit.org/b/79195>
Reviewed by Antti Koivisto.
HTMLFontElements with "face" attributes are very common in legacy web content.
Add a String->CSSValue cache for these in CSSValuePool and use it to avoid
reparsing and recreating duplicate font face values.
This knocks 20ms (~1.5%) worth of samples off of the Moz page cycler on my system.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFaceValue):
* css/CSSParser.h:
* css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createFontFaceValue):
* css/CSSValuePool.h:
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::collectStyleForAttribute):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108451
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Wed, 22 Feb 2012 07:28:04 +0000 (07:28 +0000)]
Separate the implementation of registerProtocolHandler from Navigator.cpp
https://bugs.webkit.org/show_bug.cgi?id=78945
Reviewed by Eric Seidel.
The implementation of registerProtocolHandler needlessly complicates
the implementation of Navigator.cpp. In principle,
registerProtocolHandler (and possibly registerContentHandler, when we
implement that feature) could be its own module, but that seems like
overkill for one or two files.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/Navigator.cpp:
(WebCore):
* page/Navigator.h:
(Navigator):
* page/Navigator.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108450
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Wed, 22 Feb 2012 07:20:19 +0000 (07:20 +0000)]
HasIDFlag and HasClassFlag can be removed.
https://bugs.webkit.org/show_bug.cgi?id=77861
Reviewed by Andreas Kling.
Replaced HasIDFlag and HasClassFlag with a check against
ElementAttributeData. It looks these flags (originally bitfields)
were legacy of ancient era, where we didn't cache @id and @class
values and needed a hash lookup for each check.
No new tests. No behavioral change.
* dom/Element.cpp:
(WebCore::Element::idAttributeChanged):
* dom/Element.h:
(WebCore::Element::hasID):
(WebCore):
(WebCore::Element::hasClass):
(WebCore::Node::hasID):
(WebCore::Node::hasClass):
* dom/ElementAttributeData.h:
(WebCore::ElementAttributeData::hasID):
(WebCore::ElementAttributeData::hasClass):
(ElementAttributeData):
* dom/Node.h:
(Node):
(WebCore::nodeStyleChangeShift):
* dom/StyledElement.cpp:
(WebCore::StyledElement::classAttributeChanged):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108449
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 22 Feb 2012 07:15:46 +0000 (07:15 +0000)]
Build fix for systems with case sensitive disks.
* llint/LLIntOfflineAsmConfig.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108448
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mdelaney@apple.com [Wed, 22 Feb 2012 06:29:33 +0000 (06:29 +0000)]
2D Canvas setTransform makes unnecessary matrix mults
https://bugs.webkit.org/show_bug.cgi?id=79190
Reviewed by Dan Bernstein.
No new tests - plenty of current tests using setTransform.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setTransform):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108447
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Wed, 22 Feb 2012 05:46:08 +0000 (05:46 +0000)]
INPUT_SPEECH should be implemented as a PageSupplement.
https://bugs.webkit.org/show_bug.cgi?id=79051
Source/WebCore:
Turned SpeechInput to a PageSupplement.
Reviewed by Adam Barth.
No new tests. No behavior change.
* html/shadow/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::speechInput):
(WebCore::InputFieldSpeechButtonElement::attach):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::PageClients::PageClients):
* page/Page.h:
(WebCore):
(PageClients):
(Page):
* page/SpeechInput.cpp:
(WebCore::SpeechInput::supplementName):
(WebCore):
(WebCore::provideSpeechInputTo):
* page/SpeechInput.h:
(SpeechInput):
(WebCore::SpeechInput::from):
* page/SpeechInputClient.h:
(WebCore):
Source/WebKit/chromium:
Reviewed by Adam Barth.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108446
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 05:29:06 +0000 (05:29 +0000)]
[chromium] Add three small zoom gesture features
https://bugs.webkit.org/show_bug.cgi?id=74216
Patch by Alexandre Elias <aelias@google.com> on 2012-02-21
Reviewed by James Robinson.
1. Support panning around with two fingers.
2. When double-tap zooming, issue the commit at final/scroll scale as
early as possible.
3. When pinch zooming out, issue a commit at minimum scale to avoid
showing checkerboard.
Added test for panning to CCLayerTreeHostImplTest::pinchGesture.
(The other features are heuristics whose exact behavior we don't need
to lock in with a test.)
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
(WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
(WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
(WebCore::CCLayerTreeHostImpl::computeDoubleTapZoomDeltas):
(WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
(WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108445
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 22 Feb 2012 05:23:19 +0000 (05:23 +0000)]
JSC should be a triple-tier VM
https://bugs.webkit.org/show_bug.cgi?id=75812
<rdar://problem/
10079694>
Source/JavaScriptCore:
Reviewed by Gavin Barraclough.
Implemented an interpreter that uses the JIT's calling convention. This
interpreter is called LLInt, or the Low Level Interpreter. JSC will now
will start by executing code in LLInt and will only tier up to the old
JIT after the code is proven hot.
LLInt is written in a modified form of our macro assembly. This new macro
assembly is compiled by an offline assembler (see offlineasm), which
implements many modern conveniences such as a Turing-complete CPS-based
macro language and direct access to relevant C++ type information
(basically offsets of fields and sizes of structs/classes).
Code executing in LLInt appears to the rest of the JSC world "as if" it
were executing in the old JIT. Hence, things like exception handling and
cross-execution-engine calls just work and require pretty much no
additional overhead.
This interpreter is 2-2.5x faster than our old interpreter on SunSpider,
V8, and Kraken. With triple-tiering turned on, we're neutral on SunSpider,
V8, and Kraken, but appear to get a double-digit improvement on real-world
websites due to a huge reduction in the amount of JIT'ing.
* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.pri:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
* JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/LinkBuffer.h:
* assembler/MacroAssemblerCodeRef.h:
(MacroAssemblerCodePtr):
(JSC::MacroAssemblerCodePtr::createFromExecutableAddress):
* bytecode/BytecodeConventions.h: Added.
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFromLLInt):
(JSC):
(JSC::CallLinkStatus::computeFor):
* bytecode/CallLinkStatus.h:
(JSC::CallLinkStatus::isSet):
(JSC::CallLinkStatus::operator!):
(CallLinkStatus):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC):
(JSC::CodeBlock::unlinkCalls):
(JSC::CodeBlock::unlinkIncomingCalls):
(JSC::CodeBlock::bytecodeOffset):
(JSC::ProgramCodeBlock::jettison):
(JSC::EvalCodeBlock::jettison):
(JSC::FunctionCodeBlock::jettison):
(JSC::ProgramCodeBlock::jitCompileImpl):
(JSC::EvalCodeBlock::jitCompileImpl):
(JSC::FunctionCodeBlock::jitCompileImpl):
* bytecode/CodeBlock.h:
(JSC):
(CodeBlock):
(JSC::CodeBlock::baselineVersion):
(JSC::CodeBlock::linkIncomingCall):
(JSC::CodeBlock::bytecodeOffset):
(JSC::CodeBlock::jitCompile):
(JSC::CodeBlock::hasOptimizedReplacement):
(JSC::CodeBlock::addPropertyAccessInstruction):
(JSC::CodeBlock::addGlobalResolveInstruction):
(JSC::CodeBlock::addLLIntCallLinkInfo):
(JSC::CodeBlock::addGlobalResolveInfo):
(JSC::CodeBlock::numberOfMethodCallLinkInfos):
(JSC::CodeBlock::valueProfilePredictionForBytecodeOffset):
(JSC::CodeBlock::likelyToTakeSlowCase):
(JSC::CodeBlock::couldTakeSlowCase):
(JSC::CodeBlock::likelyToTakeSpecialFastCase):
(JSC::CodeBlock::likelyToTakeDeepestSlowCase):
(JSC::CodeBlock::likelyToTakeAnySlowCase):
(JSC::CodeBlock::addFrequentExitSite):
(JSC::CodeBlock::dontJITAnytimeSoon):
(JSC::CodeBlock::jitAfterWarmUp):
(JSC::CodeBlock::jitSoon):
(JSC::CodeBlock::llintExecuteCounter):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC):
(JSC::GetByIdStatus::computeFor):
* bytecode/GetByIdStatus.h:
(JSC::GetByIdStatus::GetByIdStatus):
(JSC::GetByIdStatus::wasSeenInJIT):
(GetByIdStatus):
* bytecode/Instruction.h:
(JSC):
(JSC::Instruction::Instruction):
(Instruction):
* bytecode/LLIntCallLinkInfo.h: Added.
(JSC):
(JSC::LLIntCallLinkInfo::LLIntCallLinkInfo):
(LLIntCallLinkInfo):
(JSC::LLIntCallLinkInfo::~LLIntCallLinkInfo):
(JSC::LLIntCallLinkInfo::isLinked):
(JSC::LLIntCallLinkInfo::unlink):
* bytecode/MethodCallLinkStatus.cpp:
(JSC::MethodCallLinkStatus::computeFor):
* bytecode/Opcode.cpp:
(JSC):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFromLLInt):
(JSC):
(JSC::PutByIdStatus::computeFor):
* bytecode/PutByIdStatus.h:
(PutByIdStatus):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::emitPutById):
(JSC::BytecodeGenerator::emitDirectPutById):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitCatch):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOperations.cpp:
* heap/Heap.h:
(JSC):
(JSC::Heap::firstAllocatorWithoutDestructors):
(Heap):
* heap/MarkStack.cpp:
(JSC::visitChildren):
* heap/MarkedAllocator.h:
(JSC):
(MarkedAllocator):
* heap/MarkedSpace.h:
(JSC):
(MarkedSpace):
(JSC::MarkedSpace::firstAllocator):
* interpreter/CallFrame.cpp:
(JSC):
(JSC::CallFrame::bytecodeOffsetForNonDFGCode):
(JSC::CallFrame::setBytecodeOffsetForNonDFGCode):
(JSC::CallFrame::currentVPC):
(JSC::CallFrame::setCurrentVPC):
(JSC::CallFrame::trueCallerFrame):
* interpreter/CallFrame.h:
(JSC::ExecState::hasReturnPC):
(JSC::ExecState::clearReturnPC):
(ExecState):
(JSC::ExecState::bytecodeOffsetForNonDFGCode):
(JSC::ExecState::currentVPC):
(JSC::ExecState::setCurrentVPC):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::~Interpreter):
(JSC):
(JSC::Interpreter::initialize):
(JSC::Interpreter::isOpcode):
(JSC::Interpreter::unwindCallFrame):
(JSC::getCallerInfo):
(JSC::Interpreter::privateExecute):
(JSC::Interpreter::retrieveLastCaller):
* interpreter/Interpreter.h:
(JSC):
(Interpreter):
(JSC::Interpreter::getOpcode):
(JSC::Interpreter::getOpcodeID):
(JSC::Interpreter::classicEnabled):
* interpreter/RegisterFile.h:
(JSC):
(RegisterFile):
* jit/ExecutableAllocator.h:
(JSC):
* jit/HostCallReturnValue.cpp: Added.
(JSC):
(JSC::getHostCallReturnValueWithExecState):
* jit/HostCallReturnValue.h: Added.
(JSC):
(JSC::initializeHostCallReturnValue):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JITCode.h:
(JSC::JITCode::isOptimizingJIT):
(JITCode):
(JSC::JITCode::isBaselineCode):
(JSC::JITCode::JITCode):
* jit/JITDriver.h:
(JSC::jitCompileIfAppropriate):
(JSC::jitCompileFunctionIfAppropriate):
* jit/JITExceptions.cpp:
(JSC::jitThrow):
* jit/JITInlineMethods.h:
(JSC::JIT::updateTopCallFrame):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
(JSC):
* jit/JITStubs.h:
(JSC):
* jit/JSInterfaceJIT.h:
* llint: Added.
* llint/LLIntCommon.h: Added.
* llint/LLIntData.cpp: Added.
(LLInt):
(JSC::LLInt::Data::Data):
(JSC::LLInt::Data::performAssertions):
(JSC::LLInt::Data::~Data):
* llint/LLIntData.h: Added.
(JSC):
(LLInt):
(Data):
(JSC::LLInt::Data::exceptionInstructions):
(JSC::LLInt::Data::opcodeMap):
(JSC::LLInt::Data::performAssertions):
* llint/LLIntEntrypoints.cpp: Added.
(LLInt):
(JSC::LLInt::getFunctionEntrypoint):
(JSC::LLInt::getEvalEntrypoint):
(JSC::LLInt::getProgramEntrypoint):
* llint/LLIntEntrypoints.h: Added.
(JSC):
(LLInt):
(JSC::LLInt::getEntrypoint):
* llint/LLIntExceptions.cpp: Added.
(LLInt):
(JSC::LLInt::interpreterThrowInCaller):
(JSC::LLInt::returnToThrowForThrownException):
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):
* llint/LLIntExceptions.h: Added.
(JSC):
(LLInt):
* llint/LLIntOfflineAsmConfig.h: Added.
* llint/LLIntOffsetsExtractor.cpp: Added.
(JSC):
(LLIntOffsetsExtractor):
(JSC::LLIntOffsetsExtractor::dummy):
(main):
* llint/LLIntSlowPaths.cpp: Added.
(LLInt):
(JSC::LLInt::llint_trace_operand):
(JSC::LLInt::llint_trace_value):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::traceFunctionPrologue):
(JSC::LLInt::shouldJIT):
(JSC::LLInt::entryOSR):
(JSC::LLInt::resolveGlobal):
(JSC::LLInt::getByVal):
(JSC::LLInt::handleHostCall):
(JSC::LLInt::setUpCall):
(JSC::LLInt::genericCall):
* llint/LLIntSlowPaths.h: Added.
(JSC):
(LLInt):
* llint/LLIntThunks.cpp: Added.
(LLInt):
(JSC::LLInt::generateThunkWithJumpTo):
(JSC::LLInt::functionForCallEntryThunkGenerator):
(JSC::LLInt::functionForConstructEntryThunkGenerator):
(JSC::LLInt::functionForCallArityCheckThunkGenerator):
(JSC::LLInt::functionForConstructArityCheckThunkGenerator):
(JSC::LLInt::evalEntryThunkGenerator):
(JSC::LLInt::programEntryThunkGenerator):
* llint/LLIntThunks.h: Added.
(JSC):
(LLInt):
* llint/LowLevelInterpreter.asm: Added.
* llint/LowLevelInterpreter.cpp: Added.
* llint/LowLevelInterpreter.h: Added.
* offlineasm: Added.
* offlineasm/armv7.rb: Added.
* offlineasm/asm.rb: Added.
* offlineasm/ast.rb: Added.
* offlineasm/backends.rb: Added.
* offlineasm/generate_offset_extractor.rb: Added.
* offlineasm/instructions.rb: Added.
* offlineasm/offset_extractor_constants.rb: Added.
* offlineasm/offsets.rb: Added.
* offlineasm/opt.rb: Added.
* offlineasm/parser.rb: Added.
* offlineasm/registers.rb: Added.
* offlineasm/self_hash.rb: Added.
* offlineasm/settings.rb: Added.
* offlineasm/transform.rb: Added.
* offlineasm/x86.rb: Added.
* runtime/CodeSpecializationKind.h: Added.
(JSC):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::arityCheckFor):
(CommonSlowPaths):
* runtime/Executable.cpp:
(JSC::jettisonCodeBlock):
(JSC):
(JSC::EvalExecutable::jitCompile):
(JSC::samplingDescription):
(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::jitCompile):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::baselineCodeBlockFor):
(JSC::FunctionExecutable::jitCompileForCall):
(JSC::FunctionExecutable::jitCompileForConstruct):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):
* runtime/Executable.h:
(JSC):
(EvalExecutable):
(ProgramExecutable):
(FunctionExecutable):
(JSC::FunctionExecutable::jitCompileFor):
* runtime/ExecutionHarness.h: Added.
(JSC):
(JSC::prepareForExecution):
(JSC::prepareFunctionForExecution):
* runtime/JSArray.h:
(JSC):
(JSArray):
* runtime/JSCell.h:
(JSC):
(JSCell):
* runtime/JSFunction.h:
(JSC):
(JSFunction):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSC):
(JSGlobalData):
* runtime/JSGlobalObject.h:
(JSC):
(JSGlobalObject):
* runtime/JSObject.h:
(JSC):
(JSObject):
(JSFinalObject):
* runtime/JSPropertyNameIterator.h:
(JSC):
(JSPropertyNameIterator):
* runtime/JSString.h:
(JSC):
(JSString):
* runtime/JSTypeInfo.h:
(JSC):
(TypeInfo):
* runtime/JSValue.cpp:
(JSC::JSValue::description):
* runtime/JSValue.h:
(LLInt):
(JSValue):
* runtime/JSVariableObject.h:
(JSC):
(JSVariableObject):
* runtime/Options.cpp:
(Options):
(JSC::Options::initializeOptions):
* runtime/Options.h:
(Options):
* runtime/ScopeChain.h:
(JSC):
(ScopeChainNode):
* runtime/Structure.cpp:
(JSC::Structure::addPropertyTransition):
* runtime/Structure.h:
(JSC):
(Structure):
* runtime/StructureChain.h:
(JSC):
(StructureChain):
* wtf/InlineASM.h:
* wtf/Platform.h:
* wtf/SentinelLinkedList.h:
(SentinelLinkedList):
(WTF::SentinelLinkedList::isEmpty):
* wtf/text/StringImpl.h:
(JSC):
(StringImpl):
Source/WebCore:
Reviewed by Gavin Barraclough.
No new tests, because there is no change in behavior.
* CMakeLists.txt:
Source/WebKit:
Reviewed by Gavin Barraclough.
Changed EFL's build system to include a new directory in JavaScriptCore.
* CMakeLists.txt:
Tools:
Reviewed by Gavin Barraclough.
Changed EFL's build system to include a new directory in JavaScriptCore.
* DumpRenderTree/efl/CMakeLists.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108444
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Wed, 22 Feb 2012 05:13:46 +0000 (05:13 +0000)]
NavigatorMediaStream.idl defines an interface for NavigatorGamepad
https://bugs.webkit.org/show_bug.cgi?id=79152
Reviewed by Adam Barth.
Fixed a typo: NavigatorGamepad => NavigatorMediaStream
This typo fix just changes the name of generated files:
- V8NavigatorGamepad.h => V8NavigatorMediaStream.h
- V8NavigatorGamepad.cpp => V8NavigatorMediaStream.cpp
The reason why the typo has not caused any serious build issues is that
the generate files for supplemental interfaces are "empty" and not important.
They just exist to control makefile dependencies.
No tests. No change in behavior.
* mediastream/NavigatorMediaStream.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108443
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 05:12:15 +0000 (05:12 +0000)]
[Chromium] Fix compositor setting color uniforms incorrectly for solid color quads.
https://bugs.webkit.org/show_bug.cgi?id=76017
Patch by Daniel Sievers <sievers@chromium.org> on 2012-02-21
Reviewed by James Robinson.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawSolidColorQuad):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108442
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 04:42:29 +0000 (04:42 +0000)]
getCTM() on SVG root element with borders, paddings, and viewbox returns incorrect values
https://bugs.webkit.org/show_bug.cgi?id=78631
Patch by Max Vujovic <mvujovic@adobe.com> on 2012-02-21
Reviewed by Eric Seidel.
Source/WebCore:
SVGSVGElement::currentViewportSize was returning the size of the SVG viewport plus CSS
borders and paddings, causing the CTM calculation to be off.
Test: svg/dom/SVGLocatable-getCTM-svg-root.html
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::currentViewportSize):
SVGSVGElement::currentViewportSize now uses the contentBoxRect instead of the frameRect.
The contentBoxRect corresponds to the SVG viewport and does not include borders and
paddings.
LayoutTests:
* platform/chromium/test_expectations.txt
* platform/mac/svg/dom/SVGLocatable-getCTM-svg-root-expected.png
* svg/dom/SVGLocatable-getCTM-svg-root-expected.txt: Added.
* svg/dom/SVGLocatable-getCTM-svg-root.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108441
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 04:34:19 +0000 (04:34 +0000)]
[BlackBerry] Upstream Icon class in platform/graphics/blackberry
https://bugs.webkit.org/show_bug.cgi?id=79088
Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-02-21
Reviewed by Antonio Gomes.
Initial upstreaming, no new tests.
* platform/graphics/blackberry/IconBlackBerry.cpp: Added.
(WebCore):
(WebCore::Icon::~Icon):
(WebCore::Icon::paint):
(WebCore::Icon::createIconForFiles):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108440
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bashi@chromium.org [Wed, 22 Feb 2012 04:26:26 +0000 (04:26 +0000)]
Rename "reserved1" flag of WebSocketFrame to compress
https://bugs.webkit.org/show_bug.cgi?id=79187
Source/WebCore:
WebSocket deflate-frame extension draft specification defines COMP bit.
http://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-05#page-11
Reviewed by Kent Tamura.
No new tests. http/tests/websocket/tests/hybi/reserved-bits.html is revised to follow the change.
* websockets/WebSocketChannel.cpp:
(WebCore):
(WebCore::WebSocketChannel::parseFrame): "reserved1" renamed "compress".
(WebCore::WebSocketChannel::processFrame): Removed reserved1 flag check.
(WebCore::makeFrameData):
(WebCore::WebSocketChannel::sendFrame):
* websockets/WebSocketFrame.h: "reserved1" flag renamed "compress".
(WebCore::WebSocketFrame::WebSocketFrame):
(WebSocketFrame):
LayoutTests:
Reviewed by Kent Tamura.
* http/tests/websocket/tests/hybi/reserved-bits-expected.txt: Revised to follow the change in meaning rsv1 bit.
* http/tests/websocket/tests/hybi/reserved-bits.html: Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108439
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yael.aharon@nokia.com [Wed, 22 Feb 2012 04:02:26 +0000 (04:02 +0000)]
[Texmap] Move all TextureMapper related files to graphics/texmap
https://bugs.webkit.org/show_bug.cgi?id=79141
Reviewed by Martin Robinson.
Move TextureMaooerGL and TextureMapperShaderManager files to graphics/texmap.
No new tests.
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* platform/graphics/qt/GraphicsContext3DQt.cpp
* platform/graphics/opengl/TextureMapperGL.cpp: Removed.
* platform/graphics/opengl/TextureMapperGL.h: Removed.
* platform/graphics/opengl/TextureMapperShaderManager.cpp: Removed.
* platform/graphics/opengl/TextureMapperShaderManager.h: Removed.
* platform/graphics/texmap/TextureMapperGL.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.cpp.
* platform/graphics/texmap/TextureMapperGL.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.h.
* platform/graphics/texmap/TextureMapperShaderManager.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.cpp.
* platform/graphics/texmap/TextureMapperShaderManager.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.h.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108438
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Wed, 22 Feb 2012 03:56:43 +0000 (03:56 +0000)]
MEDIA_STREAM should be implemented as a PageSupplement.
https://bugs.webkit.org/show_bug.cgi?id=79050
Reviewed by Adam Barth.
Source/WebCore:
Added UserMediaController which implements PageSupplement. This
controller mediates WebCore-to-client communication and lifecycle
management. Then pushed UserMediaController out as a
PageSupplement module.
No new tests. No behavior change.
* WebCore.gypi:
* GNUmakefile.list.am:
* mediastream/NavigatorMediaStream.cpp:
(WebCore::NavigatorMediaStream::webkitGetUserMedia):
* mediastream/UserMediaClient.h:
(WebCore):
* mediastream/UserMediaController.cpp: Added.
(WebCore):
(WebCore::UserMediaController::supplementName):
(WebCore::UserMediaController::UserMediaController):
(WebCore::UserMediaController::~UserMediaController):
(WebCore::UserMediaController::create):
(WebCore::provideUserMediaTo):
* mediastream/UserMediaController.h: Added.
(WebCore):
(UserMediaController):
(WebCore::UserMediaController::client):
(WebCore::UserMediaController::from):
(WebCore::UserMediaController::requestUserMedia):
(WebCore::UserMediaController::cancelUserMediaRequest):
* mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::create):
(WebCore::UserMediaRequest::UserMediaRequest):
(WebCore::UserMediaRequest::didCompleteQuery):
(WebCore::UserMediaRequest::contextDestroyed):
* mediastream/UserMediaRequest.h:
(WebCore):
(UserMediaRequest):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::PageClients::PageClients):
* page/Page.h:
(WebCore):
(PageClients):
(Page):
Source/WebKit/chromium:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108437
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 03:35:32 +0000 (03:35 +0000)]
Node::isContentEditable should only update styles, not layout
https://bugs.webkit.org/show_bug.cgi?id=78637
Patch by James Robinson <jamesr@chromium.org> on 2012-02-21
Reviewed by Ryosuke Niwa.
isContentEditable depends on knowing the node's current computed style, so it has to update styles if they are
out of date. It does not depend on knowing any layout-derived properties, however, so updating layout is just a
waste of time.
Behavior is covered by existing layout tests, primarily in editing/
* dom/Node.cpp:
(WebCore::Node::isContentEditable):
(WebCore::Node::isContentRichlyEditable):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108436
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Wed, 22 Feb 2012 03:16:11 +0000 (03:16 +0000)]
Partially revert r108418 - move allowEventDispatch() call back to where it used to be.
Rubber-stamped by Ryosuke Niwa.
Tested by fast/text/find-layout-crash.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108435
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 22 Feb 2012 03:11:59 +0000 (03:11 +0000)]
Background jitters on pages with background-attachment: fixed
https://bugs.webkit.org/show_bug.cgi?id=79182
Reviewed by Dan Bernstein.
Make sure to update the main frame scroll position before updating the scrolling layer.
This also fixes a (purely theoretical) bug where we wouldn't be updating the main frame
position if the main frame didn't have a scroll layer.
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108434
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 02:58:54 +0000 (02:58 +0000)]
Early-out in Region::unite() for adding an empty region.
https://bugs.webkit.org/show_bug.cgi?id=79174
Patch by Dana Jansens <danakj@chromium.org> on 2012-02-21
Reviewed by Anders Carlsson.
* platform/graphics/Region.cpp:
(WebCore::Region::unite):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108433
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Wed, 22 Feb 2012 02:46:54 +0000 (02:46 +0000)]
Unbreak double-typed arrays on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=79177
Reviewed by Gavin Barraclough.
The existing code had completely broken address arithmetic.
* JSCTypedArrayStubs.h:
(JSC):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::storeDouble):
(JSC::MacroAssemblerARMv7::storeFloat):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108432
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 02:45:19 +0000 (02:45 +0000)]
[chromium] Painting a layer clears opaque rect in untouched tiles
https://bugs.webkit.org/show_bug.cgi?id=79157
Patch by Dana Jansens <danakj@chromium.org> on 2012-02-21
Reviewed by James Robinson.
Source/WebCore:
When painting a tiled layer, we would throw away the saved opaque rect
for any tiles that were not part of the paint. So now we check
if we are able to save the existing saved opaque rect in a more
proper way:
1. If any pixels of the saved rect are painted non-opaque, we replace
the saved rect.
2. If an opaque rect is drawn outside of the saved rect, we replace
the saved rect.
Unit test: TiledLayerChromiumTest.cpp
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::prepareToUpdateTiles):
(WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
Source/WebKit/chromium:
* tests/TiledLayerChromiumTest.cpp:
(WTF::TEST):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108431
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 22 Feb 2012 02:42:35 +0000 (02:42 +0000)]
Small typo in AudioPannerNode.cpp
https://bugs.webkit.org/show_bug.cgi?id=75890
Change to check elevation as intended instead of azimuth.
Patch by Raymond Toy <rtoy@google.com> on 2012-02-21
Reviewed by Chris Rogers.
No new tests for correction of typo.
* webaudio/AudioPannerNode.cpp:
(WebCore::AudioPannerNode::getAzimuthElevation):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108430
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Wed, 22 Feb 2012 02:35:55 +0000 (02:35 +0000)]
Build fix. Push ENABLE_NOTIFICATIONS into .mm file.
* WebCoreSupport/WebNotificationClient.h:
* WebView/WebNotification.h:
* WebView/WebNotification.mm:
(-[WebNotification title]):
(-[WebNotification body]):
(-[WebNotification origin]):
(-[WebNotification notificationID]):
(-[WebNotification dispatchShowEvent]):
(-[WebNotification dispatchCloseEvent]):
(-[WebNotification dispatchClickEvent]):
(-[WebNotification dispatchErrorEvent]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108429
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Wed, 22 Feb 2012 02:22:15 +0000 (02:22 +0000)]
Frame and Navigator shouldn't need to worry about Geolocation
https://bugs.webkit.org/show_bug.cgi?id=78860
Reviewed by Eric Seidel.
This patch removes some Geolocation-specific code from Frame and
Navigator in favor of our new supplemental module mechanism. We're
still refining the module system, but we seem to be converging on a
simple Observer/Supplement design.
In a future patch, I'll move the remaining Geolocation-related files in
WebCore into Modules/geolocation. This patch appears to be the first
patch that introduces a module used by all the various build systems,
which is why there's a bit more build system overhead than usual.
* Modules/geolocation: Added.
* Modules/geolocation/NavigatorGeolocation.cpp: Added.
(WebCore):
(WebCore::NavigatorGeolocation::NavigatorGeolocation):
(WebCore::NavigatorGeolocation::~NavigatorGeolocation):
(WebCore::NavigatorGeolocation::pageDestroyed):
(WebCore::NavigatorGeolocation::from):
(WebCore::NavigatorGeolocation::geolocation):
* Modules/geolocation/NavigatorGeolocation.h: Added.
(WebCore):
(NavigatorGeolocation):
* Modules/geolocation/NavigatorGeolocation.idl: Added.
- I've temporarily disabled this API for GObject because it generates
a strange compile error. Once I land this patch, I'll spend some
more time fixing the compile error.
* page/DOMWindow.cpp:
(WebCore):
* page/DOMWindow.h:
(DOMWindow):
* page/Frame.cpp:
(WebCore::Frame::pageDestroyed):
(WebCore::Frame::transferChildFrameToNewDocument):
* page/FrameDestructionObserver.cpp:
(WebCore::FrameDestructionObserver::pageDestroyed):
(WebCore):
* page/FrameDestructionObserver.h:
(FrameDestructionObserver):
* page/Navigator.cpp:
(WebCore):
* page/Navigator.h:
(WebCore):
(Navigator):
* page/Navigator.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108428
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Wed, 22 Feb 2012 01:51:25 +0000 (01:51 +0000)]
Should be able to reconfigure a non-configurable property as read-only
https://bugs.webkit.org/show_bug.cgi?id=79170
Reviewed by Sam Weinig.
See ES5.1 8.12.9 10.a.i - the spec prohibits making a read-only property writable,
but does not inhibit making a writable property read-only.
Source/JavaScriptCore:
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSC::JSGlobalData::setInDefineOwnProperty):
(JSGlobalData):
(JSC::JSGlobalData::isInDefineOwnProperty):
- Added flag, tracking whether we are in JSObject::defineOwnProperty.
* runtime/JSObject.cpp:
(JSC::JSObject::deleteProperty):
(DefineOwnPropertyScope):
- Always allow properties to be deleted by DefineOwnProperty - assume it knows what it is doing!
(JSC::DefineOwnPropertyScope::DefineOwnPropertyScope):
(JSC::DefineOwnPropertyScope::~DefineOwnPropertyScope):
- Added RAII helper.
(JSC::JSObject::defineOwnProperty):
- Track on the globalData when we are in this method.
LayoutTests:
* fast/js/Object-defineProperty-expected.txt:
* fast/js/script-tests/Object-defineProperty.js:
- Update test result (this was enforcing incorrect behaviour).
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108427
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shawnsingh@chromium.org [Wed, 22 Feb 2012 01:49:36 +0000 (01:49 +0000)]
[chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface logic
https://bugs.webkit.org/show_bug.cgi?id=78936
Reviewed by James Robinson.
No change in behavior, the code moved around already covered by existing tests.
In calculateDrawTransformsAndVisibility(), there are two separate
if-else statements where setTargetRenderSurface logic is
performed, and this makes the code less readable and more error
prone. This patch merges the logic, removing the redundant if-else
statements.
This code also merges one other set of if-statements that are
equivalent, if (layer->parent()) and if (layer!=rootLayer).
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::createRenderSurface):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::createRenderSurface):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108426
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan@apple.com [Wed, 22 Feb 2012 01:36:11 +0000 (01:36 +0000)]
Build fix.
* WebView/WebUIDelegatePrivate.h:
Added @class declarations for DOMNode and DOMElement.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108425
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Wed, 22 Feb 2012 01:23:24 +0000 (01:23 +0000)]
Remove FIXME from resolve-supplemental.pl
https://bugs.webkit.org/show_bug.cgi?id=79160
Reviewed by Adam Barth.
The IDL attribute checker has been enabled in all build systems.
This patch removes FIXME in resolve-supplemental.pl.
Also, this patch improves a comment in IDLAttributes.txt.
No tests. No change in behavior.
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/resolve-supplemental.pl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108424
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eae@chromium.org [Wed, 22 Feb 2012 01:19:11 +0000 (01:19 +0000)]
Add FractionalLayoutRect for sub-pixel layout
https://bugs.webkit.org/show_bug.cgi?id=78924
Reviewed by Eric Seidel.
Add FractionalLayoutUnit version of Rect class. Uses FractionalLayoutPoint
and FractionalLayoutSize internally.
Also add conversions to int/float versions of same.
No new tests.
* GNUmakefile.list.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/FloatRect.cpp:
(WebCore::FloatRect::FloatRect):
(WebCore):
* platform/graphics/FloatRect.h:
(WebCore):
(FloatRect):
* platform/graphics/FractionalLayoutRect.cpp: Added.
(WebCore):
(WebCore::FractionalLayoutRect::FractionalLayoutRect):
(WebCore::FractionalLayoutRect::intersects):
(WebCore::FractionalLayoutRect::contains):
(WebCore::FractionalLayoutRect::intersect):
(WebCore::FractionalLayoutRect::unite):
(WebCore::FractionalLayoutRect::uniteIfNonZero):
(WebCore::FractionalLayoutRect::scale):
(WebCore::unionRect):
(WebCore::enclosingIntRect):
(WebCore::enclosingFractionalLayoutRect):
(WebCore::pixelSnappedIntRect):
* platform/graphics/FractionalLayoutRect.h: Added.
(WebCore):
(FractionalLayoutRect):
(WebCore::FractionalLayoutRect::FractionalLayoutRect):
(WebCore::FractionalLayoutRect::location):
(WebCore::FractionalLayoutRect::size):
(WebCore::FractionalLayoutRect::setLocation):
(WebCore::FractionalLayoutRect::setSize):
(WebCore::FractionalLayoutRect::x):
(WebCore::FractionalLayoutRect::y):
(WebCore::FractionalLayoutRect::maxX):
(WebCore::FractionalLayoutRect::maxY):
(WebCore::FractionalLayoutRect::width):
(WebCore::FractionalLayoutRect::height):
(WebCore::FractionalLayoutRect::setX):
(WebCore::FractionalLayoutRect::setY):
(WebCore::FractionalLayoutRect::setWidth):
(WebCore::FractionalLayoutRect::setHeight):
(WebCore::FractionalLayoutRect::isEmpty):
(WebCore::FractionalLayoutRect::center):
(WebCore::FractionalLayoutRect::move):
(WebCore::FractionalLayoutRect::moveBy):
(WebCore::FractionalLayoutRect::expand):
(WebCore::FractionalLayoutRect::contract):
(WebCore::FractionalLayoutRect::shiftXEdgeTo):
(WebCore::FractionalLayoutRect::shiftMaxXEdgeTo):
(WebCore::FractionalLayoutRect::shiftYEdgeTo):
(WebCore::FractionalLayoutRect::shiftMaxYEdgeTo):
(WebCore::FractionalLayoutRect::minXMinYCorner):
(WebCore::FractionalLayoutRect::maxXMinYCorner):
(WebCore::FractionalLayoutRect::minXMaxYCorner):
(WebCore::FractionalLayoutRect::maxXMaxYCorner):
(WebCore::FractionalLayoutRect::contains):
(WebCore::FractionalLayoutRect::inflateX):
(WebCore::FractionalLayoutRect::inflateY):
(WebCore::FractionalLayoutRect::inflate):
(WebCore::FractionalLayoutRect::transposedRect):
(WebCore::FractionalLayoutRect::infiniteRect):
(WebCore::intersection):
(WebCore::unionRect):
(WebCore::operator==):
(WebCore::operator!=):
* platform/graphics/IntRect.cpp:
(WebCore::IntRect::IntRect):
(WebCore):
* platform/graphics/IntRect.h:
(WebCore):
(IntRect):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108423
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Wed, 22 Feb 2012 01:04:21 +0000 (01:04 +0000)]
Enable ScrollingCoordinator in chromium whenever compositing is enabled
https://bugs.webkit.org/show_bug.cgi?id=79165
Reviewed by Adam Barth.
Source/WebCore:
As the title says.
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setScrollParameters):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
Remove ASSERT_NOT_REACHED()ed from these functions, they are now expected to be called but do nothing.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
Guard a mac-specific piece of code in #if PLATFORM(MAC). This code already has a FIXME.
* rendering/RenderLayerCompositor.cpp:
(WebCore::shouldCompositeOverflowControls):
Make coordinatesScroll..() sufficient but not necessary for compositing overflow controls. In chromium, we
want to composite overflow controls even for FrameViews that we aren't coordinating via the
ScrollingCoordinator.
Source/WebKit/chromium:
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setViewport):
Whenever the ScrollingCoordinator is enabled the scroll layer's position is expected to be updated
externally to RenderLayerCompositor, so set it here.
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setAcceleratedCompositingEnabled):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108422
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Wed, 22 Feb 2012 01:01:31 +0000 (01:01 +0000)]
Build fix for r108409.
* WebCoreSupport/WebNotificationClient.h:
(WebCore):
* WebCoreSupport/WebNotificationClient.mm:
* WebView/WebNotification.h:
(WebSecurityOrigin):
* WebView/WebNotification.mm:
(core):
(-[WebNotification initWithCoreNotification:notificationID:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108421
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Wed, 22 Feb 2012 00:49:48 +0000 (00:49 +0000)]
Make TypedArrays be available in commandline jsc
https://bugs.webkit.org/show_bug.cgi?id=79163
Reviewed by Gavin Barraclough.
Adds a compile time option to have jsc support a basic implementation
of the TypedArrays available in WebCore. This lets us test the typed
array logic in the JIT witout having to build webcore.
* JSCTypedArrayStubs.h: Added.
(JSC):
* JavaScriptCore.xcodeproj/project.pbxproj:
* jsc.cpp:
(GlobalObject::finishCreation):
(GlobalObject):
(GlobalObject::addConstructableFunction):
* runtime/JSGlobalData.h:
(JSGlobalData):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108420
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dcheng@chromium.org [Wed, 22 Feb 2012 00:47:28 +0000 (00:47 +0000)]
[chromium] Fix image drag out on Chromium
https://bugs.webkit.org/show_bug.cgi?id=79158
Reviewed by Tony Chang.
Source/WebKit/chromium:
We constructed the WebDragData::Item for dragging out an image but never added it to the
item list. This is normally covered by the fast/events/drag-image-filename.html layout test,
but the bug wasn't caught in the original patch since the implementations in Chrome and DRT
had diverged.
* src/WebDragData.cpp:
(WebKit::WebDragData::items):
Tools:
* DumpRenderTree/chromium/EventSender.cpp:
(EventSender::dumpFilenameBeingDragged):
(EventSender::beginDragWithFiles):
* DumpRenderTree/chromium/WebViewHost.cpp:
(addDRTFakeFileToDataObject):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108419
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adamk@chromium.org [Wed, 22 Feb 2012 00:46:38 +0000 (00:46 +0000)]
Setting innerText causes DOMSubtreeModified to be dispatched too early
https://bugs.webkit.org/show_bug.cgi?id=79140
Reviewed by Ryosuke Niwa.
Source/WebCore:
Followup to r108152: move children change notifications later in
ContainerNode::removeChildren(), thus making sure Node::inDocument()
is in the correct state when we call into script.
Tests: fast/dom/getElementById-consistency3.html
fast/dom/getElementById-consistency4.html
fast/dom/getElementById-consistency5.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren):
LayoutTests:
* fast/dom/getElementById-consistency3-expected.txt: Added.
* fast/dom/getElementById-consistency3.html: Added.
* fast/dom/getElementById-consistency4-expected.txt: Added.
* fast/dom/getElementById-consistency4.html: Added.
* fast/dom/getElementById-consistency5-expected.txt: Added.
* fast/dom/getElementById-consistency5.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108418
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 22 Feb 2012 00:42:37 +0000 (00:42 +0000)]
Assertion failure in TextIterator::handleTextBox
https://bugs.webkit.org/show_bug.cgi?id=78530
Source/WebCore:
Reviewed by Eric Seidel.
The assertion failure was caused by handleTextNodeFirstLetter's updating m_text without clearing
m_sortedTextBoxesPosition. Re-structured handleTextNode so that we always reset m_sortedTextBoxesPosition
when we have a first-letter.
Test: editing/text-iterator/rtl-first-letter-text-iterator-crash.html
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextBox):
(WebCore::TextIterator::handleTextNodeFirstLetter):
LayoutTests:
Reviewed by Enrica Casucci.
Add a regression test. Also rebaseline a crash test.
* editing/text-iterator/rtl-first-letter-text-iterator-crash-expected.txt: Added.
* editing/text-iterator/rtl-first-letter-text-iterator-crash.html: Added.
* editing/text-iterator/rtl-selection-crash-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108417
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yael.aharon@nokia.com [Wed, 22 Feb 2012 00:38:06 +0000 (00:38 +0000)]
Unreviewed build fix.
No new tests.
* platform/graphics/opengl/TextureMapperGL.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108416
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adamk@chromium.org [Wed, 22 Feb 2012 00:34:19 +0000 (00:34 +0000)]
ContainerNode::childrenChanged must be called immediately after removing children
https://bugs.webkit.org/show_bug.cgi?id=79162
Reviewed by Ryosuke Niwa.
Source/WebCore:
In r108152, a call to childrenChanged() was erroneously moved
below the call to child->removedFromDocument(). This breaks, at the
least, the behavior of the <title> element. This patch corrects the
mistake and adds a test.
Test: fast/dom/title-directionality-removeChild.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChild):
LayoutTests:
* fast/dom/title-directionality-removeChild-expected.txt: Added.
* fast/dom/title-directionality-removeChild.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108415
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 22 Feb 2012 00:32:33 +0000 (00:32 +0000)]
webkitpy: speed up hot filesystem_mock functions
https://bugs.webkit.org/show_bug.cgi?id=79159
Reviewed by Adam Barth.
Profiling run_webkit_tests_integrationtest.py revealed that
isdir(), normpath(), and join() are called a lot and were very
slow.This patch speeds them up substantially, shaving 20 seconds
off of the execution time.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.isdir):
(MockFileSystem._slow_but_correct_join):
(MockFileSystem.join):
(MockFileSystem.listdir):
(MockFileSystem._slow_but_correct_normpath):
(MockFileSystem.normpath):
(MockFileSystem.write_binary_file):
* Scripts/webkitpy/common/system/filesystem_mock_unittest.py:
(MockFileSystemTest.quick_check):
(MockFileSystemTest):
(MockFileSystemTest.test_join):
(MockFileSystemTest.test_normpath):
* Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
(get_test_config): Call write_binary_file() instead of updating
filesystem.files directly, so that we create directories as
needed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108414
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 22 Feb 2012 00:29:33 +0000 (00:29 +0000)]
nrwt: make the delay between starting workers configurable per-port
https://bugs.webkit.org/show_bug.cgi?id=79148
Reviewed by Eric Seidel.
Because of bug 79147, we have to sleep a bit in between starting
DRTs; however, doing so across the board slows down the Test
port. Making this configurable shaves 10 seconds off of
run_webkit_tests_integrationtest.py
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._run_tests):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.worker_startup_delay_secs):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestPort.worker_startup_delay_secs):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108413
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tsepez@chromium.org [Wed, 22 Feb 2012 00:19:26 +0000 (00:19 +0000)]
equalIgnoringNullity() only comparing half the bytes for equality
https://bugs.webkit.org/show_bug.cgi?id=79135
Reviewed by Adam Barth.
Source/JavaScriptCore:
* wtf/text/StringImpl.h:
(WTF::equalIgnoringNullity):
LayoutTests:
* http/tests/security/xssAuditor/script-tag.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Wed, 22 Feb 2012 00:12:09 +0000 (00:12 +0000)]
[chromium] Update chromium expectations for accessibility/aria-invalid.html
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108411
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
macpherson@chromium.org [Wed, 22 Feb 2012 00:03:28 +0000 (00:03 +0000)]
Implement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=79067
Reviewed by Andreas Kling.
No new tests / refactoring only.
* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* rendering/style/RenderStyle.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Wed, 22 Feb 2012 00:00:59 +0000 (00:00 +0000)]
Source/WebCore: Bring notifications support to WK1 mac
https://bugs.webkit.org/show_bug.cgi?id=78783
<rdar://problem/
10610578>
Reviewed by Anders Carlsson.
* WebCore.exp.in: Expose dispatchErrorEvent on Notification.
Source/WebKit: Bring notifications support to WK1 mac: showing, canceling, removing notifications
https://bugs.webkit.org/show_bug.cgi?id=78783
<rdar://problem/
10610578>
Reviewed by Anders Carlsson.
* WebKit.xcodeproj/project.pbxproj: Added new files.
Source/WebKit/mac: Bring notifications support to WK1 mac: permission requests
https://bugs.webkit.org/show_bug.cgi?id=78783
<rdar://problem/
10610578>
Reviewed by Anders Carlsson.
* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebNotificationClient.mm: Create policy listener, which conforms to the
WebAllowDenyPolicyListener protocol, similar to geolocation.
(WebNotificationClient::requestPermission):
(WebNotificationClient::checkPermission):
(-[WebNotificationPolicyListener initWithCallback:]):
(-[WebNotificationPolicyListener allow]): Call the callback.
(-[WebNotificationPolicyListener deny]): Call the callback.
* WebView/WebUIDelegatePrivate.h: Define new UI delegate method to ask the user to decide a
policy for navigations.
====
Bring notifications support to WK1 mac: showing, canceling, removing notifications
Create a WebKit wrapper object for WebCore::Notification, which also keeps track of an assigned
ID.
* WebView/WebNotification.h: Added.
(WebSecurityOrigin):
* WebView/WebNotification.mm: Added.
(core):
(-[WebNotification initWithCoreNotification:notificationID:]):
(-[WebNotification init]):
(-[WebNotification dealloc]):
(-[WebNotification title]):
(-[WebNotification body]):
(-[WebNotification origin]):
(-[WebNotification notificationID]):
(-[WebNotification dispatchShowEvent]):
(-[WebNotification dispatchCloseEvent]):
(-[WebNotification dispatchClickEvent]):
(-[WebNotification dispatchErrorEvent]):
* WebView/WebNotificationInternal.h: Added.
(WebCore): Internal category to allow creating instances with WebCore objects.
Extend WebView to include a WebNotificationProvider, which clients implement.
* WebView/WebViewData.h: Add a private member for the provider.
* WebView/WebViewPrivate.h:
* Define an enum WebNotificationPermission that mirrors WebCore::NotificationPresenter::Permission
that client which implement the provider can use to return policy decisions.
* Define WebNotificationProvider.
* Category WebViewNotification extends WebView with methods that set and manager the
notification provider, and handle events from the platform notifications.
* WebView/WebView.mm:
(-[WebView _setNotificationProvider:]): Sets the provider when initializing the WebView.
(-[WebView _notificationControllerDestroyed]):
(-[WebView _notificationProvider]):
(-[WebView _notificationDidShow:]):
(-[WebView _notificationDidClick:]):
(-[WebView _notificationsDidClose:]):
* WebCoreSupport/WebNotificationClient.h: Add variables that map between WebCore::Notification
instances, their assigned IDs, their contexts, and corresponding WebKit wrapper objects.
* WebCoreSupport/WebNotificationClient.mm:
(generateNotificationID): Created unique IDs for each shown notification.
(WebNotificationClient::show): Create wrapper object for notification, assign ID, cache the
mappings between the objects, and forward it to the provider.
(WebNotificationClient::cancel):
(WebNotificationClient::clearNotifications): Clear all notifications associated with the
provided context.
(WebNotificationClient::notificationObjectDestroyed): Remove the notification from the maps.
(WebNotificationClient::notificationControllerDestroyed): If the controller is destroyed, tell
the provider to clear of the notifications related to this web view.
====
(Prep work for) Bring notifications support to WK1 mac
Rename WebGeolocationPolicyListener. The interface is generic enough to be reused for
notification requests. To avoid having to create a new listener type, instead rename it
to WebAllowDenyPolicyListener.
* WebView/WebUIDelegatePrivate.h: Rename the protocol.
* WebCoreSupport/WebGeolocationClient.mm: Refactor geolocation request listener to use
new name.
Add preference to keep track of whether notifications are enabled in general.
* WebView/WebPreferenceKeysPrivate.h: Add WebNotificationsEnabledKey for storing the
preference.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): By default have them enabled.
(-[WebPreferences setNotificationsEnabled:]):
(-[WebPreferences notificationsEnabled]):
* WebView/WebPreferencesPrivate.h:
Add a stringValue method that exposes WebCore::SecurityOrigin::toString() for storing the
notification policy for a given origin.
* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin stringValue]):
* WebCoreSupport/WebSecurityOriginPrivate.h:
Tools: Bring notifications support to WK1 mac
https://bugs.webkit.org/show_bug.cgi?id=78783
<rdar://problem/
10610578>
Reviewed by Anders Carlsson.
* DumpRenderTree/mac/UIDelegate.mm: Refactor WebGeolocationPolicyListener to WebAllowDenyPolicyListener.
(-[UIDelegate webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:]):
(-[UIDelegate timerFired]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc