Timeline
Nov 18, 2012:
- 11:59 PM Changeset in webkit [135120] by
-
- 2 edits in trunk/LayoutTests
[EFL][WK2] Skip networkinformation tests wrongly unskipped in r135096
https://bugs.webkit.org/show_bug.cgi?id=102650
Unreviewed EFL gardening.
Skip again for EFL Debug bots several networkinformation tests
that were wrongly unskipped in r135096 as they still hit an
assertion.
Patch by Christophe Dumez <Christophe Dumez> on 2012-11-18
- platform/efl-wk2/TestExpectations:
- 11:55 PM Changeset in webkit [135119] by
-
- 4 edits in trunk
.: Remove non-existent directories from the make system
https://bugs.webkit.org/show_bug.cgi?id=102632
Patch by Laszlo Gombos <Laszlo Gombos> on 2012-11-18
Reviewed by Kenneth Rohde Christiansen.
Remove (non-existent) symbian references from the exclude list for packaging.
- Source/cmake/WebKitPackaging.cmake:
Source/WebKit/qt: [Qt] Remove remaining traces of symbian
https://bugs.webkit.org/show_bug.cgi?id=102634
Patch by Laszlo Gombos <Laszlo Gombos> on 2012-11-18
Reviewed by Kenneth Rohde Christiansen.
Remove symbian related part from the API documentation.
- Api/qgraphicswebview.cpp:
- Api/qwebview.cpp:
- 11:52 PM Changeset in webkit [135118] by
-
- 2 edits in trunk/Tools
[EFL] Not to include "ewk_view_private.h" in Tools
https://bugs.webkit.org/show_bug.cgi?id=102644
Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-18
Reviewed by Gyuyoung Kim.
Include ewk_view.h instead of ewk_view_private.h in Tools
- DumpRenderTree/efl/PixelDumpSupportEfl.cpp:
- 11:45 PM Changeset in webkit [135117] by
-
- 66 edits in trunk/Source/WebKit2
[EFL][WK2] Remove underscore characters in Ewk class names.
https://bugs.webkit.org/show_bug.cgi?id=102641
Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-11-18
Reviewed by Gyuyoung Kim.
WebKit EFL doesn't use '_' in C++ class names.
- UIProcess/API/efl/EwkViewCallbacks.h:
- UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::settings):
(EwkViewImpl::backForwardList):
(EwkViewImpl):
- UIProcess/API/efl/ewk_auth_request.h:
- UIProcess/API/efl/ewk_auth_request_private.h:
- UIProcess/API/efl/ewk_back_forward_list.cpp:
(EwkBackForwardList::EwkBackForwardList):
(EwkBackForwardList::nextItem):
(EwkBackForwardList::previousItem):
(EwkBackForwardList::currentItem):
(EwkBackForwardList::itemAt):
(EwkBackForwardList::size):
(EwkBackForwardList::backList):
(EwkBackForwardList::forwardList):
(EwkBackForwardList::getFromCacheOrCreate):
(EwkBackForwardList::createEinaList):
(EwkBackForwardList::update):
- UIProcess/API/efl/ewk_back_forward_list.h:
- UIProcess/API/efl/ewk_back_forward_list_item.h:
- UIProcess/API/efl/ewk_back_forward_list_item_private.h:
- UIProcess/API/efl/ewk_back_forward_list_private.h:
(EwkBackForwardList::create):
(EwkBackForwardList):
- UIProcess/API/efl/ewk_color_picker.cpp:
(EwkColorPicker::EwkColorPicker):
(EwkColorPicker::setColor):
(EwkColorPicker::color):
- UIProcess/API/efl/ewk_color_picker.h:
- UIProcess/API/efl/ewk_color_picker_private.h:
(EwkColorPicker::create):
(EwkColorPicker):
- UIProcess/API/efl/ewk_context.h:
- UIProcess/API/efl/ewk_context_private.h:
- UIProcess/API/efl/ewk_cookie_manager.cpp:
(EwkCookieManager::EwkCookieManager):
(EwkCookieManager::~EwkCookieManager):
(EwkCookieManager::setPersistentStorage):
(EwkCookieManager::setHTTPAcceptPolicy):
(EwkCookieManager::clearHostnameCookies):
(EwkCookieManager::clearAllCookies):
(EwkCookieManager::watchChanges):
(EwkCookieManager::isWatchingForChanges):
(EwkCookieManager::getHostNamesWithCookies):
(EwkCookieManager::getHTTPAcceptPolicy):
(EwkCookieManager::cookiesDidChange):
- UIProcess/API/efl/ewk_cookie_manager.h:
- UIProcess/API/efl/ewk_cookie_manager_private.h:
(EwkCookieManager::create):
(EwkCookieManager):
- UIProcess/API/efl/ewk_database_manager.cpp:
(EwkDatabaseManager::EwkDatabaseManager):
(EwkDatabaseManager::getDatabaseOrigins):
(EwkDatabaseManager::createOriginList):
- UIProcess/API/efl/ewk_database_manager.h:
- UIProcess/API/efl/ewk_database_manager_private.h:
(EwkDatabaseManager::create):
(EwkDatabaseManager):
- UIProcess/API/efl/ewk_download_job.h:
- UIProcess/API/efl/ewk_download_job_private.h:
- UIProcess/API/efl/ewk_error.cpp:
(EwkError::EwkError):
(EwkError::url):
(EwkError::description):
(EwkError::domain):
(EwkError::errorCode):
(EwkError::isCancellation):
- UIProcess/API/efl/ewk_error.h:
- UIProcess/API/efl/ewk_error_private.h:
(EwkError::create):
(EwkError):
- UIProcess/API/efl/ewk_favicon_database.cpp:
(EwkFaviconDatabase::EwkFaviconDatabase):
(EwkFaviconDatabase::~EwkFaviconDatabase):
(EwkFaviconDatabase::iconURLForPageURL):
(EwkFaviconDatabase::watchChanges):
(EwkFaviconDatabase::unwatchChanges):
(EwkFaviconDatabase::iconForPageURL):
(EwkFaviconDatabase::didChangeIconForPageURL):
(EwkFaviconDatabase::getIconSurfaceSynchronously):
(EwkFaviconDatabase::iconDataReadyForPageURL):
- UIProcess/API/efl/ewk_favicon_database.h:
- UIProcess/API/efl/ewk_favicon_database_private.h:
(EwkFaviconDatabase::create):
(EwkFaviconDatabase):
- UIProcess/API/efl/ewk_file_chooser_request.h:
- UIProcess/API/efl/ewk_file_chooser_request_private.h:
- UIProcess/API/efl/ewk_form_submission_request.h:
- UIProcess/API/efl/ewk_form_submission_request_private.h:
- UIProcess/API/efl/ewk_intent.h:
- UIProcess/API/efl/ewk_intent_private.h:
- UIProcess/API/efl/ewk_intent_service.h:
- UIProcess/API/efl/ewk_intent_service_private.h:
- UIProcess/API/efl/ewk_navigation_data.h:
- UIProcess/API/efl/ewk_navigation_data_private.h:
- UIProcess/API/efl/ewk_navigation_policy_decision.h:
- UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
- UIProcess/API/efl/ewk_object.h:
- UIProcess/API/efl/ewk_object_private.h:
(EwkObject::~EwkObject):
(ewk_object_is_of_type):
(ewk_object_cast_check):
(ewk_object_cast):
- UIProcess/API/efl/ewk_popup_menu.cpp:
(EwkPopupMenu::EwkPopupMenu):
(EwkPopupMenu::~EwkPopupMenu):
(EwkPopupMenu::close):
(EwkPopupMenu::items):
(EwkPopupMenu::selectedIndex):
(EwkPopupMenu::setSelectedIndex):
- UIProcess/API/efl/ewk_popup_menu.h:
- UIProcess/API/efl/ewk_popup_menu_item.cpp:
(EwkPopupMenuItem::EwkPopupMenuItem):
(EwkPopupMenuItem::type):
(EwkPopupMenuItem::textDirection):
(EwkPopupMenuItem::text):
(EwkPopupMenuItem::tooltipText):
(EwkPopupMenuItem::accessibilityText):
(EwkPopupMenuItem::hasTextDirectionOverride):
(EwkPopupMenuItem::isEnabled):
(EwkPopupMenuItem::isLabel):
(EwkPopupMenuItem::isSelected):
- UIProcess/API/efl/ewk_popup_menu_item.h:
- UIProcess/API/efl/ewk_popup_menu_item_private.h:
(EwkPopupMenuItem::create):
(EwkPopupMenuItem):
- UIProcess/API/efl/ewk_popup_menu_private.h:
(EwkPopupMenu::create):
(EwkPopupMenu):
- UIProcess/API/efl/ewk_resource.h:
- UIProcess/API/efl/ewk_resource_private.h:
- UIProcess/API/efl/ewk_security_origin.h:
- UIProcess/API/efl/ewk_security_origin_private.h:
- UIProcess/API/efl/ewk_settings.cpp:
(EwkSettings::preferences):
- UIProcess/API/efl/ewk_settings.h:
- UIProcess/API/efl/ewk_settings_private.h:
(EwkSettings::create):
(EwkSettings::EwkSettings):
- UIProcess/API/efl/ewk_storage_manager.cpp:
(EwkStorageManager::EwkStorageManager):
(EwkStorageManager::getStorageOrigins):
(EwkStorageManager::createOriginList):
- UIProcess/API/efl/ewk_storage_manager.h:
- UIProcess/API/efl/ewk_storage_manager_private.h:
(EwkStorageManager::create):
(EwkStorageManager):
- UIProcess/API/efl/ewk_url_request.h:
- UIProcess/API/efl/ewk_url_request_private.h:
- UIProcess/API/efl/ewk_url_response.h:
- UIProcess/API/efl/ewk_url_response_private.h:
- UIProcess/API/efl/ewk_url_scheme_request.h:
- UIProcess/API/efl/ewk_url_scheme_request_private.h:
- UIProcess/API/efl/tests/test_ewk2_object.cpp:
(TEST_F):
- 11:42 PM Changeset in webkit [135116] by
-
- 5 edits in trunk/Source/WebCore
webaudio: clean-up. Replace AudioContext::m_document member with ContextDestructionObserver::scriptExecutionContext().
https://bugs.webkit.org/show_bug.cgi?id=102649
Reviewed by Adam Barth.
AudioContext uses m_document only as a pointer to ScriptExecutionContext.
It could be safely replaced with ContextDestructionObserver::m_scriptExecutionContext.
The lifetime of m_scriptExecutionContext is slightly different but it could be adjusted by m_isStopScheduled flag.
No new tests as there is no new functionality.
- Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::looping):
(WebCore::AudioBufferSourceNode::setLooping):
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::stop):
(WebCore::AudioContext::fireCompletionEvent):
(WebCore::AudioContext::reportMemoryUsage):
- Modules/webaudio/AudioContext.h:
(WebCore::AudioContext::scriptExecutionContext):
(AudioContext):
- Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::fireProcessEvent):
(WebCore::ScriptProcessorNode::scriptExecutionContext):
- 11:35 PM Changeset in webkit [135115] by
-
- 2 edits in trunk/Source/WebCore
[V8] Remove unused variables from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102648
Reviewed by Adam Barth.
No tests. No change in generated code.
- bindings/scripts/CodeGeneratorV8.pm:
(GenerateInterface):
(GenerateHeader):
(GetInternalFields):
(GenerateNormalAttrGetter):
(GenerateSingleBatchedAttribute):
(GenerateImplementationCustomCall):
(GenerateFunctionCallString):
(CreateCustomSignature):
(GetContextEnableFunction):
- 11:33 PM Changeset in webkit [135114] by
-
- 10 edits1 delete in trunk/Source/WebCore
Remove IDLStructure.pm
https://bugs.webkit.org/show_bug.cgi?id=102642
Reviewed by Adam Barth.
Previously IDLStructure.pm was full of regular expressions to
parse IDL files. Now a new IDL parser is implemented, IDLStructure.pm
just contains several data structures for the IDL parser. We can
move them to IDLParser.pm and thus remove IDLStructure.pm.
No tests. No change in generated code.
- CMakeLists.txt:
- DerivedSources.make:
- DerivedSources.pri:
- GNUmakefile.am:
- WebCore.gyp/WebCore.gyp:
- WebCore.vcproj/MigrateScripts:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- bindings/scripts/IDLParser.pm:
(Parse):
(parseInterface):
(parseException):
(parseConst):
(parseAttributeRest):
(parseOperationRest):
(parseOptionalOrRequiredArgument):
(parseExceptionField):
(parseInterfaceOld):
(parseExceptionOld):
(parseAttributeRestOld):
(applyExtendedAttributeList):
- bindings/scripts/IDLStructure.pm: Removed.
- 11:26 PM Changeset in webkit [135113] by
-
- 2 edits in trunk/Source/WebCore
[V8] Make more use of $v8Interface in CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102639
Reviewed by Adam Barth.
We can replace hard-coded "V8${interfaceName}" with $v8Interface.
No tests. No change in generated code.
- bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
(GenerateNamedConstructorCallback):
(GenerateImplementationIndexer):
(GenerateImplementationNamedPropertyGetter):
(GenerateImplementation):
- 10:21 PM Changeset in webkit [135112] by
-
- 1 edit2 adds in trunk/LayoutTests
Unreviewed: add missed test files for r135111.
- inspector-protocol/resources/audio-context.html: Added.
- inspector-protocol/resources/blank.html: Added.
- 10:10 PM Changeset in webkit [135111] by
-
- 16 edits2 adds in trunk
webaudio: leak: AudioContext objects are leaking. They retain 36mb of shared data.
https://bugs.webkit.org/show_bug.cgi?id=102356
Reviewed by Adam Barth.
A clean-up code was moved from uninitialize to clear method.
AudioContext marks itself as hasPendingActivity in method constructCommon and unmarks itself in method clear.
m_isStopScheduled filters out second ActiveDOMObject::stop call.
markForDeletion appends AudioNode pointer to m_nodesToDelete array if there is no active audio thread.
adoptRef was added in createOfflineContext method.
Source/WebCore:
Test: inspector-protocol/nmi-webaudio-leak-test.html
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createOfflineContext):
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::constructCommon):
(WebCore::AudioContext::~AudioContext):
(WebCore::AudioContext::clear):
(WebCore::AudioContext::uninitialize):
(WebCore::AudioContext::stopDispatch):
(WebCore::AudioContext::stop):
(WebCore::AudioContext::markForDeletion):
(WebCore::AudioContext::scheduleNodeDeletion):
(WebCore::AudioContext::deleteMarkedNodes):
- Modules/webaudio/AudioContext.h:
(AudioContext):
- bindings/v8/custom/V8AudioContextCustom.cpp:
(WebCore::V8AudioContext::constructorCallback):
- inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
- platform/PlatformMemoryInstrumentation.cpp:
(WebCore::PlatformMemoryInstrumentation::reportMemoryUsage):
(WebCore):
- platform/PlatformMemoryInstrumentation.h:
(PlatformMemoryInstrumentation):
(WebCore):
LayoutTests:
- inspector-protocol/nmi-webaudio-leak-test-expected.txt: Added.
- inspector-protocol/nmi-webaudio-leak-test.html: Added.
- 9:50 PM Changeset in webkit [135110] by
-
- 3 edits2 adds in trunk
min/max/step support for calendar picker on datetime/datetime-local
https://bugs.webkit.org/show_bug.cgi?id=102628
Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-11-18
Reviewed by Kent Tamura.
Source/WebCore:
Gray out dates with no allowed values on calendar picker for datetime/datetime-local
when values are limited by min/max/step attributes.
Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step.html
- Resources/pagepopups/calendarPicker.js:
(CalendarPicker.prototype._stepMismatch):
Returns true iff there are any allowed values in the given day.
LayoutTests:
Verify that calendar picker has correct available dates when
min/max/step attributes are set in datetime input.
- platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step-expected.txt: Added.
- platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step.html: Added.
- 9:46 PM Changeset in webkit [135109] by
-
- 6 edits in trunk
Remove non-existent directories from the make system
https://bugs.webkit.org/show_bug.cgi?id=102632
Patch by Laszlo Gombos <Laszlo Gombos> on 2012-11-18
Reviewed by Adam Barth.
.:
Remove (non-existent) symbian references from the exclude list for packaging.
- Source/cmake/WebKitPackaging.cmake:
Source/WebCore:
Remove (non-existent) symbian references from the exclude list in gyp project files.
No new tests as there is no new functionality.
- WebCore.gyp/WebCore.gyp:
Source/WTF:
Remove (non-existent) symbian references from the exclude list in gyp project files.
- WTF.gyp/WTF.gyp:
- 9:45 PM Changeset in webkit [135108] by
-
- 7 edits in trunk/Source/WebCore
[WIN] Add a IMLangFontLinkType typedef
https://bugs.webkit.org/show_bug.cgi?id=102584
Reviewed by Brent Fulgham.
Add a central typedef for IMLangFontLink(2) to get rid of a bunch of ifdefs.
- platform/graphics/FontCache.h:
(WebCore):
- platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::getFontLinkInterface):
(WebCore::getCJKCodePageMasks):
(WebCore::createMLangFont):
(WebCore::FontCache::getFontDataForCharacters):
- platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::containsCharacters):
- platform/graphics/wince/FontCacheWinCE.cpp:
(WebCore):
(WebCore::FontCache::getFontLinkInterface):
(WebCore::getCJKCodePageMasks):
(WebCore::FontCache::getFontDataForCharacters):
- platform/graphics/wince/FontPlatformData.cpp:
(WebCore::FontFamilyCodePageInfo::codePages):
(WebCore::FixedSizeFontData::create):
- platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp:
(WebCore::GlyphPage::fill):
- 9:40 PM Changeset in webkit [135107] by
-
- 3 edits in trunk/Source/WebCore
Web Inspector: Remove unused ConsoleMessage constructor.
https://bugs.webkit.org/show_bug.cgi?id=102590
Reviewed by Brent Fulgham.
We currently have a ConsoleMessage constructor that's unused. Let's
kill it.
- inspector/ConsoleMessage.cpp:
- inspector/ConsoleMessage.h:
(ConsoleMessage):
Removing an unused constructor variant.
- 9:19 PM Changeset in webkit [135106] by
-
- 2 edits in trunk/Tools
Unreviewed, rolling out r135104.
http://trac.webkit.org/changeset/135104
https://bugs.webkit.org/show_bug.cgi?id=102638
Should not use commit queue to add people to committer list.
(Requested by ap_ on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-18
- Scripts/webkitpy/common/config/committers.py:
- 9:13 PM Changeset in webkit [135105] by
-
- 1 edit1 move11 adds in trunk/LayoutTests
Unreviewed. Rebaselined images.
- platform/chromium-linux-x86/fast/block/float/overhanging-tall-block-expected.txt: Added.
- platform/chromium-linux/fast/block/float/overhanging-tall-block-expected.png: Added.
- platform/chromium-linux/fast/block/float/overhanging-tall-block-expected.txt: Added.
- platform/chromium-mac-lion/fast/block/float/overhanging-tall-block-expected.txt: Added.
- platform/chromium-mac-snowleopard/fast/block/float/overhanging-tall-block-expected.txt: Added.
- platform/chromium-win-xp/fast/block/float/overhanging-tall-block-expected.png: Added.
- platform/chromium-win-xp/fast/block/float/overhanging-tall-block-expected.txt: Added.
- platform/efl-wk1/fast/block/float/overhanging-tall-block-expected.png: Renamed from LayoutTests/platform/efl/fast/block/float/overhanging-tall-block-expected.png.
- 9:11 PM Changeset in webkit [135104] by
-
- 2 edits in trunk/Tools
Add myself to committers.py
https://bugs.webkit.org/show_bug.cgi?id=102636
Patch by Vivek Galatage <vivek.vg@samsung.com> on 2012-11-18
Reviewed by Laszlo Gombos.
Add myself to committers.py
- Scripts/webkitpy/common/config/committers.py:
- 7:38 PM Changeset in webkit [135103] by
-
- 2 edits in trunk/Source/JavaScriptCore
Try to fix the DFG build after r135099.
- dfg/DFGCommon.h:
(JSC::DFG::shouldShowDisassembly):
- 7:29 PM Changeset in webkit [135102] by
-
- 1 edit3 adds in trunk/LayoutTests
Chromium rebaseline after r135093.
- platform/chromium-linux/inspector: Added.
- platform/chromium-linux/inspector/console: Added.
- platform/chromium-linux/inspector/console/console-format-collections-expected.txt: Added.
- 7:16 PM Changeset in webkit [135101] by
-
- 5 edits in trunk/Source/WebCore
StyledElement: Make handling the "style" attribute a litte faster.
<http://webkit.org/b/102623>
Reviewed by Ojan Vafai.
We know that "style" is never a presentation attribute, so avoid the virtual call to isPresentationAttribute()
by hoisting the parseAttribute() logic up into attributeChanged().
Did the same thing with Element::parseAttribute() for consistency.
Knocks ~0.6% of samples off of the DOM/CreateNodes performance test.
- dom/Element.cpp:
(WebCore::Element::attributeChanged):
- dom/Element.h:
(WebCore::Element::parseAttribute):
- dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):
- dom/StyledElement.h:
(StyledElement):
- 7:02 PM Changeset in webkit [135100] by
-
- 7 edits in trunk/Source
[CMake] Consolidate common input files
https://bugs.webkit.org/show_bug.cgi?id=101632
Patch by Laszlo Gombos <Laszlo Gombos> on 2012-11-18
Reviewed by Rob Buis.
Source/WebCore:
Consolidate and sort the list of files, move common source files
into CMakeLists.txt from the port specific files.
No new tests as there is no new functionality.
- CMakeLists.txt:
- PlatformBlackBerry.cmake:
- PlatformEfl.cmake:
- PlatformWinCE.cmake:
Source/WebKit:
Consolidate and sort the list of files.
- PlatformEfl.cmake:
- 6:58 PM Changeset in webkit [135099] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, build fix for !ENABLE(DFG_JIT).
- dfg/DFGCommon.h:
(JSC::DFG::shouldShowDisassembly):
(DFG):
- 6:56 PM Changeset in webkit [135098] by
-
- 2 edits in trunk/Source/WebCore
Tighten small SharedBuffers by reserving the exact amount of space needed.
<http://webkit.org/b/102625>
Reviewed by Anders Carlsson.
When adding the first chunk to a small (<4096 bytes) SharedBuffer, reserve the exact
amount of space needed instead of leaving it to Vector<char>::append().
1.86MB progression on Membuster3.
- platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::append):
- 6:55 PM Changeset in webkit [135097] by
-
- 5 edits in trunk/Source/JavaScriptCore
JSC should have more logging in structure-related code
https://bugs.webkit.org/show_bug.cgi?id=102630
Reviewed by Simon Fraser.
- JSValue::description() now tells you if something is a structure, and if so, what kind of structure it is.
- Jettisoning logic now tells you why things are being jettisoned.
- It's now possible to turn off GC-triggered jettisoning entirely.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::reoptimize):
(JSC::ProgramCodeBlock::jettison):
(JSC::EvalCodeBlock::jettison):
(JSC::FunctionCodeBlock::jettison):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::shouldImmediatelyAssumeLivenessDuringScan):
- runtime/JSValue.cpp:
(JSC::JSValue::description):
- runtime/Options.h:
(JSC):
- 6:17 PM Changeset in webkit [135096] by
-
- 2 edits in trunk/LayoutTests
[EFL] Gardening, unskip passing tests
https://bugs.webkit.org/show_bug.cgi?id=102460
Unreviewed EFL gardening.
The tests marked Crash by r132469 are passing now.
fast/dom/nested-script-exceptions.html, networkinformation/multiple-frames.html,
networkinformation/basic-all-types-of-events.html, networkinformation/updates.html,
networkinformation/add-listener-from-callback.html, networkinformation/basic-operation.html
Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-18
- platform/efl-wk2/TestExpectations:
- 5:56 PM Changeset in webkit [135095] by
-
- 2 edits in trunk/LayoutTests
Unreviewed. Removed a duplicated entry.
- platform/chromium/TestExpectations:
- 5:49 PM Changeset in webkit [135094] by
-
- 9 edits4 deletes in trunk/Source/WebKit/chromium
Unreviewed, rolling out r135047.
http://trac.webkit.org/changeset/135047
https://bugs.webkit.org/show_bug.cgi?id=102339
it broke Chromium Windows/Mac build
- WebKit.gyp:
- WebKit.gypi:
- public/WebNode.h:
(WebKit):
- public/WebPluginContainer.h:
(WebKit):
(WebPluginContainer):
- src/WebFrameImpl.cpp:
(WebKit::pluginContainerFromNode):
(WebKit):
(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):
- src/WebNode.cpp:
- src/WebPluginContainerImpl.cpp:
- src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):
- tests/FakeWebPlugin.cpp: Removed.
- tests/FakeWebPlugin.h: Removed.
- tests/WebPluginContainerTest.cpp: Removed.
- tests/data/plugin_container.html: Removed.
- 5:28 PM Changeset in webkit [135093] by
-
- 40 edits2 moves5 adds in trunk
Make namedItem return a node list only in HTMLFormControlsCollection and HTMLOptionsCollection
https://bugs.webkit.org/show_bug.cgi?id=101311
Reviewed by Darin Adler.
Source/WebCore:
Introduce two new interfaces HTMLFormControlsCollection and HTMLOptionsCollection to be used by form.elements
and select.options. These two interfaces have the named getter and namedItem that returns a live NodeList when
there are multiple matches. Introducing these two interfaces allow us to make "regular" HTMLCollection's named
getter and namedItem return exactly one node or null as specified in HTML5:
http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#collections-0
Unfortunately, HTMLOptionsCollection still has a bug that its named getter and namedItem returns
a static NodeList instead of a live NodeList (DynamicNodeList) at the moment.
Also got rid of Document::objects since it's not exposed in IDL or called anywhere.
Test: fast/dom/html-collections-namedItem.html
- CMakeLists.txt:
- DerivedSources.cpp:
- DerivedSources.make:
- DerivedSources.pri:
- GNUmakefile.list.am:
- Target.pri:
- UseJSC.cmake:
- UseV8.cmake:
- WebCore.gypi:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSBindingsAllInOne.cpp:
- bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::getNamedItems):
- bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::JSHTMLCollection::nameGetter): Now returns exactly one node or null.
(WebCore::toJS):
- bindings/js/JSHTMLFormControlsCollectionCustom.cpp: Added.
(WebCore::getNamedItems): Returns RadioNodeList when there are multiple matches.
(WebCore::JSHTMLFormControlsCollection::canGetItemsForName):
(WebCore::JSHTMLFormControlsCollection::nameGetter):
(WebCore::JSHTMLFormControlsCollection::namedItem):
- bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::getNamedItems): Returns a static NodeList when there are multiple matches.
This is a bug. It should be a live NodeList instead.
(WebCore::JSHTMLOptionsCollection::canGetItemsForName):
(WebCore::JSHTMLOptionsCollection::nameGetter):
(WebCore::JSHTMLOptionsCollection::namedItem):
- bindings/js/CodeGeneratorJS.pm: Include JSNode.js for all HTML*Collection interfaces for simplicity.
- bindings/js/CodeGeneratorV8.pm: HTMLOptionsCollection now inherits from HTMLCollection. See
- bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: Pass in isolate when we can.
(WebCore::getNamedItems): Added a comment about how we should be returning
a HTMLCollection when there are multiple matches.
(WebCore::getItem):
(WebCore::V8HTMLAllCollection::namedPropertyGetter):
(WebCore::V8HTMLAllCollection::namedItemCallback):
- bindings/v8/custom/V8HTMLCollectionCustom.cpp: Now returns exactly one node or null.
(WebCore::V8HTMLCollection::namedPropertyGetter):
(WebCore::toV8):
- bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp: Added.
(WebCore::getNamedItems): Returns RadioNodeList when there are multiple matches.
(WebCore::V8HTMLFormControlsCollection::namedPropertyGetter):
(WebCore::V8HTMLFormControlsCollection::namedItemCallback):
- bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::getNamedItems): Returns a static NodeList when there are multiple matches.
This is a bug. It should be a live NodeList instead.
(WebCore::V8HTMLOptionsCollection::namedPropertyGetter):
(WebCore::V8HTMLOptionsCollection::namedItemCallback):
- dom/Document.cpp: Removed Document::objects since it was not used anywhere.
- dom/Document.h:
(Document):
- dom/Element.cpp:
(WebCore::ElementRareData::ensureCachedHTMLCollection): form.elements should instantiate
a HTMLFormControlsCollection instead of a HTMLCollection.
- html/CollectionType.h:
- html/HTMLCollection.idl: Removed [Custom] since namedItem is a regular function call now.
- html/HTMLFieldSetElement.cpp:
- html/HTMLFieldSetElement.h:
- html/HTMLFormCollection.cpp: Removed.
- html/HTMLFormCollection.h: Removed.
- html/HTMLFormControlsCollection.cpp: Copied from Source/WebCore/html/HTMLFormCollection.cpp.
(WebCore::HTMLFormControlsCollection::HTMLFormControlsCollection):
(WebCore::HTMLFormControlsCollection::create):
(WebCore::HTMLFormControlsCollection::~HTMLFormControlsCollection):
(WebCore::HTMLFormControlsCollection::formControlElements):
(WebCore::HTMLFormControlsCollection::formImageElements):
(WebCore::HTMLFormControlsCollection::virtualItemAfter):
(WebCore::HTMLFormControlsCollection::namedItem):
(WebCore::HTMLFormControlsCollection::updateNameCache):
- html/HTMLFormControlsCollection.h: Copied from Source/WebCore/html/HTMLFormCollection.h.
(HTMLFormControlsCollection):
- html/HTMLFormControlsCollection.idl: Added.
- html/HTMLFormElement.cpp:
- html/HTMLFormElement.h:
- html/HTMLOptionsCollection.idl:
LayoutTests:
Added a regression test to ensure form.elements and select.options use correct interfaces,
and named getter for those two properties return a NodeList when there are multiple matches.
Also added appropriate IDL options to HTMLOptionsCollection.idl.
- fast/dom/collection-nameditem-move-between-documents-expected.txt: Rebaselined since namedItem
now correctly returns null when there is no match. This test result demonstrates a bug that
HTMLAllCollection doesn't inherit from HTMLCollection.
- fast/dom/collection-nameditem-move-between-documents.html: Ditto.
- fast/dom/dom-constructors-expected.txt: Rebaselined.
- fast/dom/html-collections-named-getter-expected.txt: Added.
- fast/dom/html-collections-named-getter.html: Added.
- fast/dom/wrapper-classes-expected.txt: Rebaselined. Since we're exposing HTMLOptionsCollection
on the window object, the constructor property of an instance of HTMLOptionsCollection object
shows up as a function. We should update the test to support this behavior in the future.
- inspector/console/console-format-collections-expected.txt: Rebaselined.
- platform/chromium/fast/dom/gc-9-expected.txt: Rebaselined since a test case for
HTMLOptionsCollection now passes.
- 5:12 PM Changeset in webkit [135092] by
-
- 2 edits in trunk/Source/WebCore
[V8] Rename $className to $v8InterfaceName
https://bugs.webkit.org/show_bug.cgi?id=102487
Reviewed by Adam Barth.
In CodeGeneratorV8.pm, $className is always "V8$interfaceName".
We should rename $className to $v8InterfaceName. Also we can
remove GetCallbackClassName().
No tests. No change in behavior.
- bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GetHeaderClassInclude):
(GenerateDomainSafeFunctionGetter):
(GenerateDomainSafeFunctionSetter):
(GenerateParametersCheck):
(GenerateImplementation):
(GenerateHeaderContentHeader):
(GenerateImplementationContentHeader):
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(GenerateToV8Converters):
(GetPassRefPtrType):
- 5:05 PM Changeset in webkit [135091] by
-
- 2 edits in trunk/LayoutTests
Unreviewed.
r135025 marked a couple of tests as SKIP in Mac.
This patch marks the tests as SKIP in Chormium.
- platform/chromium/TestExpectations:
- 4:56 PM Changeset in webkit [135090] by
-
- 2 edits in trunk/LayoutTests
Unreviewed. Marked platform/chromium/virtual/deferred/fast/images/webgl-teximage2d.html as TIMEOUT.
- platform/chromium/TestExpectations:
- 4:54 PM Changeset in webkit [135089] by
-
- 2 edits in trunk/LayoutTests
Unreviewed. Marked fast/images/webgl-teximage2d.html as TIMEOUT.
- platform/chromium/TestExpectations:
- 4:41 PM Changeset in webkit [135088] by
-
- 6 edits in trunk
.: [BlackBerry] Enable Touch Sliders
Reviewed by Rob Buis.
Enabled for BlackBerry only
PR #242781
PR #176014
- Source/cmake/OptionsBlackBerry.cmake:
- Source/cmake/WebKitFeatures.cmake:
- Source/cmakeconfig.h.cmake:
Patch by Genevieve Mak <gmak@rim.com> on 2012-11-18
Tools: [BlackBerry] Enable Touch Sliders
https://bugs.webkit.org/show_bug.cgi?id=102516
Patch by Genevieve Mak <gmak@rim.com> on 2012-11-18
Reviewed by Rob Buis.
Enabled for BlackBerry only
PR #242781
PR #176014
- Scripts/webkitperl/FeatureList.pm:
- 3:52 PM Changeset in webkit [135087] by
-
- 2 edits in trunk/Source/WebCore
[V8] Remove GetTypeFromSignature() from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102499
Reviewed by Adam Barth.
No tests. No change in behavior.
- bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateParametersCheckExpression):
(GenerateParametersCheck):
(GenerateFunctionCallString):
(GetNativeTypeFromSignature):
(TranslateParameter):
(TypeCanFailConversion):
(JSValueToNative):
(NativeToJSValue):
- 3:49 PM Changeset in webkit [135086] by
-
- 4 edits in trunk/LayoutTests
Rebaselines.
- platform/mac/fast/media/mq-js-media-except-02-expected.txt:
- platform/mac/fast/media/mq-js-media-except-03-expected.txt:
- platform/mac/svg/custom/baseval-animval-equality-expected.txt:
- 3:44 PM Changeset in webkit [135085] by
-
- 7 edits in trunk/Source/WebCore
Remove GenerateModule() from all code generators
https://bugs.webkit.org/show_bug.cgi?id=102490
Reviewed by Adam Barth.
WebKit IDL files no longer support modules. The Web IDL spec
no longer supports modules. We can remove it from code generators.
No tests. No change in behavior.
- bindings/scripts/CodeGenerator.pm:
(ProcessDocument):
- bindings/scripts/CodeGeneratorCPP.pm:
- bindings/scripts/CodeGeneratorGObject.pm:
- bindings/scripts/CodeGeneratorJS.pm:
- bindings/scripts/CodeGeneratorObjC.pm:
- bindings/scripts/CodeGeneratorV8.pm:
- 3:42 PM Changeset in webkit [135084] by
-
- 2 edits in trunk/Source/WebCore
[V8] Get rid of unused functions and inline redundant functions in CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102497
Reviewed by Adam Barth.
No tests. No change in behavior.
- bindings/scripts/CodeGeneratorV8.pm:
(GenerateDomainSafeFunctionGetter):
(GenerateNormalAttrGetter):
(GenerateFunctionCallString):
- 3:07 PM Changeset in webkit [135083] by
-
- 5 edits6 deletes in trunk/Source/WebCore
Unreviewed, rolling out r135074.
http://trac.webkit.org/changeset/135074
https://bugs.webkit.org/show_bug.cgi?id=102619
Made most layout tests crash. (Requested by rakuco on
#webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-18
- PlatformEfl.cmake:
- platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::setContextLostCallback):
- platform/graphics/efl/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::createSurface):
(WebCore::GraphicsContext3DPrivate::setCurrentGLContext):
(WebCore::GraphicsContext3DPrivate::platformGraphicsContext3D):
(WebCore::GraphicsContext3DPrivate::makeContextCurrent):
(WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces):
(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
(WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken):
- platform/graphics/efl/GraphicsContext3DPrivate.h:
(GraphicsContext3DPrivate):
- platform/graphics/opengl/GLDefs.h: Removed.
- platform/graphics/opengl/GLPlatformContext.cpp: Removed.
- platform/graphics/opengl/GLPlatformContext.h: Removed.
- platform/graphics/opengl/GLPlatformSurface.cpp: Removed.
- platform/graphics/opengl/GLPlatformSurface.h: Removed.
- platform/graphics/surfaces/glx/GLXContext.cpp: Removed.
- platform/graphics/surfaces/glx/GLXContext.h: Removed.
- platform/graphics/surfaces/glx/GLXSurface.cpp: Removed.
- platform/graphics/surfaces/glx/GLXSurface.h: Removed.
- 2:38 PM Changeset in webkit [135082] by
-
- 10 edits2 adds in trunk
REGRESSION(r129644): User StyleSheet not applying
https://bugs.webkit.org/show_bug.cgi?id=102110
Reviewed by Andreas Kling.
Source/WebCore:
Injected stylesheets added as UserStyleAuthorLevel fail to apply. r129644 implicitly assumed that
such things don't exists but on Chromium addUserStyleSheet() confusingly uses them.
The patch adds injected author stylesheets to DocumentStyleSheetCollection::activeStyleSheets().
It also generally cleans up the code around injected and user stylesheets.
Tests: userscripts/user-script-and-stylesheet.html
userscripts/user-stylesheet-invalidate.html
- css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::collectRulesFromUserStyleSheets):
(WebCore::collectCSSOMWrappers):
- css/StyleResolver.h:
(StyleResolver):
- dom/Document.cpp:
(WebCore::Document::setCompatibilityMode):
- dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
(WebCore):
(WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
(WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
(WebCore::DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache):
(WebCore::DocumentStyleSheetCollection::addUserSheet):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
(WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
- dom/DocumentStyleSheetCollection.h:
(WebCore::DocumentStyleSheetCollection::documentUserStyleSheets):
(DocumentStyleSheetCollection):
- page/PageGroup.cpp:
(WebCore::PageGroup::addUserStyleSheetToWorld):
(WebCore::PageGroup::removeUserStyleSheetFromWorld):
(WebCore::PageGroup::removeUserStyleSheetsFromWorld):
(WebCore::PageGroup::removeAllUserContent):
(WebCore::PageGroup::invalidatedInjectedStyleSheetCacheInAllFrames):
- page/PageGroup.h:
(PageGroup):
LayoutTests:
- inspector/timeline/timeline-script-tag-1-expected.txt:
Update the test result. The style invalidation log is slightly different.
- userscripts/user-stylesheet-invalidate-expected.txt: Added.
- userscripts/user-stylesheet-invalidate.html: Added.
- 1:55 PM Changeset in webkit [135081] by
-
- 12 edits in trunk/Source/WebCore
Unreviewed.
Update run-bindings-tests baselines after
http://trac.webkit.org/changeset/135063
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
(JSTestActiveDOMObjectOwner):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
(JSTestCustomNamedGetterOwner):
- bindings/scripts/test/JS/JSTestEventConstructor.h:
(JSTestEventConstructorOwner):
- bindings/scripts/test/JS/JSTestEventTarget.h:
(JSTestEventTargetOwner):
- bindings/scripts/test/JS/JSTestException.h:
(JSTestExceptionOwner):
- bindings/scripts/test/JS/JSTestInterface.h:
(JSTestInterfaceOwner):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
(JSTestMediaQueryListListenerOwner):
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
(JSTestNamedConstructorOwner):
- bindings/scripts/test/JS/JSTestObj.h:
(JSTestObjOwner):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
(JSTestOverloadedConstructorsOwner):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(JSTestSerializedScriptValueInterfaceOwner):
- 1:37 PM Changeset in webkit [135080] by
-
- 2 edits in trunk/Source/WebCore
Make convertToLayerCoords iterative, rather than recursive
https://bugs.webkit.org/show_bug.cgi?id=102618
Reviewed by Antti Koivisto.
RenderLayer::convertToLayerCoords() is a hot function on profiles.
Change it to be iterative, rather than recursive, so that the
bulk of the function can be inlined.
Was tested with assertions against the old code during development.
- rendering/RenderLayer.cpp:
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::convertToLayerCoords):
- 1:34 PM Changeset in webkit [135079] by
-
- 2 edits in trunk/Source/JavaScriptCore
DFG constant folding phase should say 'changed = true' whenever it changes the graph
https://bugs.webkit.org/show_bug.cgi?id=102550
Rubber stamped by Mark Hahnenberg.
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- 12:25 PM Changeset in webkit [135078] by
-
- 3 edits in trunk/Source/WebCore
Inline the StyledElement constructor.
<http://webkit.org/b/102615>
Reviewed by Antti Koivisto.
StyledElement sits between Element and HTMLElement in the inheritance chain, and both of those are inline.
Knocks ~0.4% of samples off of the DOM/CreateNodes performance test.
- dom/StyledElement.cpp:
- dom/StyledElement.h:
(WebCore::StyledElement::StyledElement):
- 10:54 AM Changeset in webkit [135077] by
-
- 2 edits in trunk/Source/WebCore
HTMLMediaElement: Skip unnecessary attribute lookup in parsing of "src" attribute.
<http://webkit.org/b/102614>
Reviewed by Anders Carlsson.
When parsing the "src" attribute, we don't need to look it up with fastHasAttribute()
to know if it's present. If it's not present, 'value' argument will be null.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
- 10:46 AM Changeset in webkit [135076] by
-
- 3 edits in trunk/Source/WebKit/chromium
[chromium] add WebCursorInfo::imageScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=102612
Patch by Rick Byers <rbyers@chromium.org> on 2012-11-18
Reviewed by Adam Barth.
Add cursor image scale factor (currently always 1) to chromium API, in preparation for
high-dpi cursor support in bug 99493.
- public/WebCursorInfo.h:
(WebKit::WebCursorInfo::WebCursorInfo):
- src/WebCursorInfo.cpp:
(WebKit::WebCursorInfo::WebCursorInfo):
- 10:38 AM Changeset in webkit [135075] by
-
- 2 edits in trunk/Source/WebKit2
[EFL][WK2] Wrong transform when using software path.
https://bugs.webkit.org/show_bug.cgi?id=102549
Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-18
Reviewed by Kenneth Rohde Christiansen.
When using the software path, our transform is not correct and results
in drawing the wrong part of the page. This becomes more obvious after scrolling.
- UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
- 10:33 AM Changeset in webkit [135074] by
-
- 5 edits10 adds in trunk/Source/WebCore
[EFL] Refactor GraphicsContext3DEFL.
https://bugs.webkit.org/show_bug.cgi?id=101291.
Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-11-18
Reviewed by Kenneth Rohde Christiansen.
GraphicsContext3DEfl creates GraphicsContext3DPrivate, which acts as its platform Layer.
GraphicsContext3DPrivate needs to handle the following cases:
1) To provide an off-screen buffer for accelerated composition.
2) Render to a current context.
3) To render directly to host window. (currently not supported.)
Before this patch Evas was used to provide us an off-screen context and buffer. GLX was used in
the other supported case. Evas acts as a glue layer to provide us with appropriate
GL bindings (OpenGL functions), GL context and drawable (surface/offscreenbuffer).
However, primitive rendering is handled by TextureMapper and OpenGLShims is used to load the needed GL functions.
It would be for our advantage to be able to take in to use any optimisations/extensions
provided by underlying drivers, specific to a platform (e.g. GLX_MESA_copy_sub_buffer etc.).
This patch introduces an abstraction layer to make it easy to add support for any GL backend (GLX, EGL etc.)
and do any platform specific optimizations as needed without complicating GraphicsContext3DPrivate class.
Two new classes are added with this implementation, GLPlatformContext and GLPlatformSurface.
GraphicsContext3DPrivate would create and own a GLPlatformContext and GLPlatformSurface.
GLPlatformContext encapsulates an OpenGL context hiding any platform specific management.
It uses GL extension ARB_robustness (when available) to detect driver resets.
It defines a simple interface for things that need to be handled by the context. Support
for multi-threaded usage and shared context-group would be added later.
GLPlatformSurface encapsulates an OpenGL drawable hiding any platform specific management.
It defines a simple interface for things that need to be handled by the surface.
It creates an off-screen rendering area. Any GLPlatformContext (compatible with the surface)
can be used to render into this off-screen area.
This patch also adds GLX implementation. To keep the patch to minimum EGL support would be added in another changeset.
- PlatformEfl.cmake:
- platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::setContextLostCallback):
- platform/graphics/efl/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(GraphicsContext3DPrivate::releaseResources):
(GraphicsContext3DPrivate::setContextLostCallback):
(GraphicsContext3DPrivate::platformGraphicsContext3D):
(GraphicsContext3DPrivate::makeContextCurrent):
(GraphicsContext3DPrivate::createGraphicsSurfaces):
(GraphicsContext3DPrivate::copyToGraphicsSurface):
(GraphicsContext3DPrivate::graphicsSurfaceToken):
- platform/graphics/efl/GraphicsContext3DPrivate.h:
(GraphicsContext3DPrivate):
- platform/graphics/opengl/GLDefs.h: Added.
(WebCore):
- platform/graphics/opengl/GLPlatformContext.cpp: Added.
(WebCore):
(WebCore::GLPlatformContext::createContext):
(WebCore::GLPlatformContext::createOffScreenContext):
(WebCore::GLPlatformContext::createCurrentContextWrapper):
(WebCore::GLPlatformContext::GLPlatformContext):
(WebCore::GLPlatformContext::~GLPlatformContext):
(WebCore::GLPlatformContext::makeCurrent):
(WebCore::GLPlatformContext::isValid):
(WebCore::GLPlatformContext::releaseCurrent):
(WebCore::GLPlatformContext::handle):
(WebCore::GLPlatformContext::isCurrentContext):
(WebCore::GLPlatformContext::initialize):
(WebCore::GLPlatformContext::getCurrent):
(WebCore::GLPlatformContext::platformMakeCurrent):
(WebCore::GLPlatformContext::platformReleaseCurrent):
(WebCore::GLPlatformContext::destroy):
- platform/graphics/opengl/GLPlatformContext.h: Added.
(WebCore):
(GLPlatformContext):
- platform/graphics/opengl/GLPlatformSurface.cpp: Added.
(WebCore):
(WebCore::GLPlatformSurface::createOffscreenSurface):
(WebCore::GLPlatformSurface::createTransportSurface):
(WebCore::GLPlatformSurface::GLPlatformSurface):
(WebCore::GLPlatformSurface::~GLPlatformSurface):
(WebCore::GLPlatformSurface::handle):
(WebCore::GLPlatformSurface::geometry):
(WebCore::GLPlatformSurface::sharedDisplay):
(WebCore::GLPlatformSurface::configuration):
(WebCore::GLPlatformSurface::swapBuffers):
(WebCore::GLPlatformSurface::copyTexture):
(WebCore::GLPlatformSurface::updateContents):
(WebCore::GLPlatformSurface::setGeometry):
(WebCore::GLPlatformSurface::destroy):
- platform/graphics/opengl/GLPlatformSurface.h: Added.
(WebCore):
(GLPlatformSurface):
GLXOffScreenContext creates an off-screen context. This is used when
renderstyle is RenderOffscreen.
It uses GL extension GLX_ARB_create_context (when available)
to create a context else falls back to use glXCreateNewContext.
- platform/graphics/surfaces/glx/GLXContext.cpp: Added.
(WebCore):
(WebCore::initializeARBExtensions):
(WebCore::GLXOffScreenContext::GLXOffScreenContext):
(WebCore::GLXOffScreenContext::initialize):
(WebCore::GLXOffScreenContext::~GLXOffScreenContext):
(WebCore::GLXOffScreenContext::isCurrentContext):
(WebCore::GLXOffScreenContext::platformMakeCurrent):
(WebCore::GLXOffScreenContext::platformReleaseCurrent):
(WebCore::GLXOffScreenContext::freeResources):
(WebCore::GLXOffScreenContext::destroy):
GLXCurrentContextWrapper acts as a wrapper for current context.
This is used when renderstyle is RenderToCurrentGLContext.
- platform/graphics/surfaces/glx/GLXContext.h: Added.
(WebCore):
(GLXCurrentContextWrapper):
(WebCore::GLXCurrentContextWrapper::GLXCurrentContextWrapper):
(WebCore::GLXCurrentContextWrapper::~GLXCurrentContextWrapper):
(GLXOffScreenContext):
- platform/graphics/surfaces/glx/GLXSurface.cpp: Added.
(WebCore):
(WebCore::GLXSurface::GLXSurface):
(WebCore::GLXSurface::~GLXSurface):
(WebCore::GLXSurface::visualInfo):
(WebCore::GLXSurface::xWindow):
(WebCore::GLXSurface::pBufferConfiguration):
(WebCore::GLXSurface::transportSurfaceConfiguration):
(WebCore::GLXSurface::isXRenderExtensionSupported):
GLXTransportSurface creates Window and uses it as an off-screen surface.
Any GLContext that was created with respect to configuration can be used
to render into this.
This is used when contents of the buffer are to be provided to UI Process
for display.
(WebCore::GLXTransportSurface::GLXTransportSurface):
(WebCore::GLXTransportSurface::~GLXTransportSurface):
(WebCore::GLXTransportSurface::configuration):
(WebCore::GLXTransportSurface::swapBuffers):
(WebCore::GLXTransportSurface::setGeometry):
(WebCore::GLXTransportSurface::initialize):
(WebCore::GLXTransportSurface::destroy):
(WebCore::GLXTransportSurface::freeResources):
GLXPBuffer, Creates a GL surface (PBuffer) used for offscreen rendering.
Any GLContext that was created with respect to configuration can be used
to render into this.
(WebCore::GLXPBuffer::GLXPBuffer):
(WebCore::GLXPBuffer::~GLXPBuffer):
(WebCore::GLXPBuffer::initialize):
(WebCore::GLXPBuffer::configuration):
(WebCore::GLXPBuffer::destroy):
(WebCore::GLXPBuffer::freeResources):
- platform/graphics/surfaces/glx/GLXSurface.h: Added.
(WebCore):
Creates X resources which are shared between surface and context.
(SharedX11Resources):
(WebCore::SharedX11Resources::create):
(WebCore::SharedX11Resources::deref):
(WebCore::SharedX11Resources::getXWindow):
(WebCore::SharedX11Resources::display):
(WebCore::SharedX11Resources::visualInfo):
(WebCore::SharedX11Resources::createConfig):
(WebCore::SharedX11Resources::pBufferContextConfig):
(WebCore::SharedX11Resources::surfaceContextConfig):
(WebCore::SharedX11Resources::isXRenderExtensionSupported):
(WebCore::SharedX11Resources::SharedX11Resources):
(WebCore::SharedX11Resources::~SharedX11Resources):
(GLXSurface):
(GLXTransportSurface):
(GLXPBuffer):
- 10:07 AM Changeset in webkit [135073] by
-
- 3 edits in branches/safari-536.28-branch/Source/WebCore
<rdar://problem/12726004> Chopin: Don't say there are dirty overlay scrollbars when they are clipped out (102609)
Merge r135064
2012-11-17 Simon Fraser <Simon Fraser>
Don't say there are dirty overlay scrollbars when they are clipped out
https://bugs.webkit.org/show_bug.cgi?id=102609
Reviewed by Brady Eidson.
Painting overlay scrollbars involves a second painting pass over the entire
RenderLayer subtree for a compositing layer, which can be very expensive.
Avoid this when possible by detecting when overflow controls are not in
the damage rect.
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::rectForHorizontalScrollbar): Compute a local rect for the horizontal scrollbar. (WebCore::RenderLayer::rectForVerticalScrollbar): Compute a local rect for the vertical scrollbar. (WebCore::RenderLayer::positionOverflowControls): Use rectForHorizontalScrollbar() and rectForVerticalScrollbar(). (WebCore::RenderLayer::overflowControlsIntersectRect): Return true if any of the present overflow controls intersect the given local rect. (WebCore::RenderLayer::paintOverflowControls): Bail if the damage rect doesn't intersect any of the overflow controls.
- rendering/RenderLayer.h: (RenderLayer):
- 10:07 AM Changeset in webkit [135072] by
-
- 4 edits in branches/safari-536.28-branch
<rdar://problem/12725998> Simplify bounds computation for the RenderView's layer (102597)
Merge r135059
Source/WebCore:
2012-11-17 Simon Fraser <Simon Fraser>
Simplify bounds computation for the RenderView's layer
https://bugs.webkit.org/show_bug.cgi?id=102597
Reviewed by Anders Carlsson.
Computing the bounds of the main layer (that of the RenderView) used to do
a full RenderLayer walk, taking the union of the bounds of all the sublayers,
which is very expensive on large pages.
For the RenderView we can avoid that entirely and just use the RenderView's
document rect. Since page scaling happens as a transform on this layer,
we want the unscaled document rect.
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateLayerBounds):
LayoutTests:
2012-11-17 Simon Fraser <Simon Fraser>
Simplify bounds computation for the RenderView's layer
https://bugs.webkit.org/show_bug.cgi?id=102597
Reviewed by Anders Carlsson.
Progressions as a result of this change:
- compositing/layer-creation/fixed-position-out-of-view-expected.txt: The height is now the page height, since the page is scrollable.
- compositing/tiling/tile-cache-zoomed-expected.txt: The main layer now is not affected by the page scale transform.
- platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt: Ditto.
- 10:06 AM Changeset in webkit [135071] by
-
- 5 edits in branches/safari-536.28-branch/Source/WebCore
<rdar://problem/12725980> Fix overlay scrollbar painting in compositing layers (102442)
Merge r135029
2012-11-16 Simon Fraser <Simon Fraser>
Fix overlay scrollbar painting in compositing layers
https://bugs.webkit.org/show_bug.cgi?id=102442
Reviewed by Beth Dakin.
There were two issues with overlay scrollbar painting in
compositing layers.
First, we'd only ever call setContainsDirtyOverlayScrollbars()
on the RenderView's layer, even when encountering an overlay scrollbar
in some descendant compositing layer. This meant that we'd never
run the paintOverlayScrollbars() code for those child compositing
layers, so sometimes scrollbars were missing there.
Even after fixing that, we would fail to render scrollbars that
were not in the composited RenderLayer itself. This happened because
we called into RenderLayer::paintOverlayScrollbars(), which called
paintLayer() with flags that only said to paint the overlay scrollbars
but not any descendants, so this paint path would not walk child
RenderLayers.
Also remove the containsScrollableAreaWithOverlayScrollbars() flag on
ScrollView which is no longer used.
- platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): Remove containsScrollableAreaWithOverlayScrollbars(). (WebCore::ScrollView::paint): Remove setting of m_containsScrollableAreaWithOverlayScrollbars.
- platform/ScrollView.h:
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintOverflowControls): Call setContainsDirtyOverlayScrollbars() on the compositing ancestor or the root. Remove call to setContainsScrollableAreaWithOverlayScrollbars(). (WebCore::RenderLayer::paintOverlayScrollbars): When painting overlay scrollbars, no need to say we have transparency, and no need to use temporary clip rects. (WebCore::RenderLayer::paintLayer): The PaintLayerPaintingOverlayScrollbars check here was only needed because the compositing entrypoint to painting overlay scrollbars went via paintLayer(), which isn't normally used as a composited painting entry point. Now that we no longer call that, we don't need this special check.
- rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintIntoLayer): Jump into overlay scrollbar painting via paintLayerContents(), not paintOverlayScrollbars(), since the latter does not traverse sublayers.
- 10:06 AM Changeset in webkit [135070] by
-
- 5 edits2 adds in branches/safari-536.28-branch
Prerequisite for <rdar://problem/12725980> Fix overlay scrollbar painting in compositing layers (102442)
Merge r127943
.:
2012-09-07 Simon Fraser <Simon Fraser>
box-shadow causes overlay scrollbars to be in the wrong position when element is composited
https://bugs.webkit.org/show_bug.cgi?id=85647
Reviewed by James Robinson.
Test overlay scrollbars in composited layers.
- ManualTests/scrollbars/scrollbars-in-composited-layers.html: Added.
Source/WebCore:
2012-09-07 Simon Fraser <Simon Fraser>
box-shadow causes overlay scrollbars to be in the wrong position when element is composited
https://bugs.webkit.org/show_bug.cgi?id=85647
Reviewed by James Robinson.
The code that positioned the GraphicsLayers for scrollbars failed to take
into account any offset between the origin of the compositing layer,
and the renderer. This caused scrollbar layers to be misplaced or hidden
on layers with, for example, box-shadows.
Also moved the code that positions the scrollbar layers into RendderLayerBacking,
since this is where all the rest of the GraphicsLayer-positioning code lives.
Renamed an "offsetFromLayer" param to "offsetFromRoot" which is more accurate.
Manual test, since overlay scrollbars are not enabled in DRT/WTR:
ManualTests/scrollbars/scrollbars-in-composited-layers.html
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::positionOverflowControls):
- rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
- rendering/RenderLayerBacking.h: (RenderLayerBacking):
- 8:55 AM Changeset in webkit [135069] by
-
- 229 edits in trunk/Source/WebCore
Element::parseAttribute() should take name & value as separate arguments.
<http://webkit.org/b/102608>
Reviewed by Antti Koivisto.
Update the signature of parseAttribute() to take a QualifiedName/AtomicString combo instead
of an Attribute. This lets us pass avoid refcount churn in Element::attributeChanged() since
creating a temporary Attribute is no longer necessary.
This was surprisingly hot (~1%) on the DOM/CreateNodes performance test.
- bindings/js/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
- bindings/js/ScriptEventListener.h:
(WebCore):
- bindings/v8/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
- bindings/v8/ScriptEventListener.h:
(WebCore):
- dom/Element.cpp:
(WebCore::Element::attributeChanged):
(WebCore::Element::parseAttribute):
- dom/Element.h:
(Element):
- dom/StyledElement.cpp:
(WebCore::StyledElement::parseAttribute):
- dom/StyledElement.h:
(StyledElement):
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseAttribute):
- html/HTMLAnchorElement.h:
(HTMLAnchorElement):
- html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::parseAttribute):
- html/HTMLAppletElement.h:
(HTMLAppletElement):
- html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::parseAttribute):
- html/HTMLAreaElement.h:
(HTMLAreaElement):
- html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::parseAttribute):
- html/HTMLBaseElement.h:
(HTMLBaseElement):
- html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::parseAttribute):
- html/HTMLBodyElement.h:
(HTMLBodyElement):
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::parseAttribute):
- html/HTMLButtonElement.h:
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::parseAttribute):
- html/HTMLCanvasElement.h:
(HTMLCanvasElement):
- html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::parseAttribute):
- html/HTMLDetailsElement.h:
(HTMLDetailsElement):
- html/HTMLElement.cpp:
(WebCore::HTMLElement::parseAttribute):
(WebCore::HTMLElement::dirAttributeChanged):
- html/HTMLElement.h:
(HTMLElement):
- html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseAttribute):
- html/HTMLEmbedElement.h:
(HTMLEmbedElement):
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::parseAttribute):
- html/HTMLFormControlElement.h:
(HTMLFormControlElement):
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::parseAttribute):
- html/HTMLFormElement.h:
(HTMLFormElement):
- html/HTMLFrameElement.cpp:
(WebCore::HTMLFrameElement::parseAttribute):
- html/HTMLFrameElement.h:
(HTMLFrameElement):
- html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseAttribute):
- html/HTMLFrameElementBase.h:
(HTMLFrameElementBase):
- html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::parseAttribute):
- html/HTMLFrameSetElement.h:
(HTMLFrameSetElement):
- html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseAttribute):
- html/HTMLIFrameElement.h:
(HTMLIFrameElement):
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
- html/HTMLImageElement.h:
(HTMLImageElement):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::parseMaxLengthAttribute):
- html/HTMLInputElement.h:
(HTMLInputElement):
- html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::parseAttribute):
- html/HTMLKeygenElement.h:
(HTMLKeygenElement):
- html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::parseAttribute):
- html/HTMLLIElement.h:
(HTMLLIElement):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::parseAttribute):
- html/HTMLLinkElement.h:
(HTMLLinkElement):
- html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::parseAttribute):
- html/HTMLMapElement.h:
(HTMLMapElement):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
- html/HTMLMediaElement.h:
- html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::parseAttribute):
- html/HTMLMetaElement.h:
(HTMLMetaElement):
- html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::parseAttribute):
- html/HTMLMeterElement.h:
(HTMLMeterElement):
- html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::parseAttribute):
- html/HTMLOListElement.h:
(HTMLOListElement):
- html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseAttribute):
- html/HTMLObjectElement.h:
(HTMLObjectElement):
- html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::parseAttribute):
- html/HTMLOptGroupElement.h:
- html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::parseAttribute):
- html/HTMLOptionElement.h:
(HTMLOptionElement):
- html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::parseAttribute):
- html/HTMLOutputElement.h:
(HTMLOutputElement):
- html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::parseAttribute):
- html/HTMLProgressElement.h:
- html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::parseAttribute):
- html/HTMLScriptElement.h:
(HTMLScriptElement):
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::parseAttribute):
(WebCore::HTMLSelectElement::parseMultipleAttribute):
- html/HTMLSelectElement.h:
- html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::parseAttribute):
- html/HTMLStyleElement.h:
(HTMLStyleElement):
- html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::parseAttribute):
- html/HTMLTableCellElement.h:
(HTMLTableCellElement):
- html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::parseAttribute):
- html/HTMLTableColElement.h:
(HTMLTableColElement):
- html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::parseAttribute):
- html/HTMLTableElement.h:
(HTMLTableElement):
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::parseAttribute):
- html/HTMLTextAreaElement.h:
(HTMLTextAreaElement):
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::parseAttribute):
- html/HTMLTextFormControlElement.h:
(HTMLTextFormControlElement):
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::parseAttribute):
- html/HTMLTrackElement.h:
(HTMLTrackElement):
- html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::parseAttribute):
- html/HTMLVideoElement.h:
(HTMLVideoElement):
- html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::parseAttribute):
- html/shadow/HTMLContentElement.h:
(HTMLContentElement):
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::parseAttribute):
- mathml/MathMLElement.h:
(MathMLElement):
- svg/SVGAElement.cpp:
(WebCore::SVGAElement::parseAttribute):
- svg/SVGAElement.h:
(SVGAElement):
- svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::parseAttribute):
- svg/SVGAnimateMotionElement.h:
(SVGAnimateMotionElement):
- svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::parseAttribute):
- svg/SVGAnimateTransformElement.h:
(SVGAnimateTransformElement):
- svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::parseAttribute):
- svg/SVGAnimationElement.h:
(SVGAnimationElement):
- svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::parseAttribute):
- svg/SVGCircleElement.h:
(SVGCircleElement):
- svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::parseAttribute):
- svg/SVGClipPathElement.h:
(SVGClipPathElement):
- svg/SVGComponentTransferFunctionElement.cpp:
(WebCore::SVGComponentTransferFunctionElement::parseAttribute):
- svg/SVGComponentTransferFunctionElement.h:
(SVGComponentTransferFunctionElement):
- svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::parseAttribute):
- svg/SVGCursorElement.h:
(SVGCursorElement):
- svg/SVGElement.cpp:
(WebCore::SVGElement::reportAttributeParsingError):
(WebCore::SVGElement::parseAttribute):
- svg/SVGElement.h:
(SVGElement):
- svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::parseAttribute):
- svg/SVGEllipseElement.h:
(SVGEllipseElement):
- svg/SVGExternalResourcesRequired.cpp:
(WebCore::SVGExternalResourcesRequired::parseAttribute):
- svg/SVGExternalResourcesRequired.h:
(SVGExternalResourcesRequired):
- svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::parseAttribute):
- svg/SVGFEBlendElement.h:
(SVGFEBlendElement):
- svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::parseAttribute):
- svg/SVGFEColorMatrixElement.h:
(SVGFEColorMatrixElement):
- svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::parseAttribute):
- svg/SVGFEComponentTransferElement.h:
(SVGFEComponentTransferElement):
- svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::parseAttribute):
- svg/SVGFECompositeElement.h:
(SVGFECompositeElement):
- svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::parseAttribute):
- svg/SVGFEConvolveMatrixElement.h:
(SVGFEConvolveMatrixElement):
- svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::parseAttribute):
- svg/SVGFEDiffuseLightingElement.h:
(SVGFEDiffuseLightingElement):
- svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::parseAttribute):
- svg/SVGFEDisplacementMapElement.h:
(SVGFEDisplacementMapElement):
- svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::parseAttribute):
- svg/SVGFEDropShadowElement.h:
(SVGFEDropShadowElement):
- svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::parseAttribute):
- svg/SVGFEGaussianBlurElement.h:
(SVGFEGaussianBlurElement):
- svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::parseAttribute):
- svg/SVGFEImageElement.h:
(SVGFEImageElement):
- svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::parseAttribute):
- svg/SVGFELightElement.h:
(SVGFELightElement):
- svg/SVGFEMergeNodeElement.cpp:
(WebCore::SVGFEMergeNodeElement::parseAttribute):
- svg/SVGFEMergeNodeElement.h:
(SVGFEMergeNodeElement):
- svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::parseAttribute):
- svg/SVGFEMorphologyElement.h:
(SVGFEMorphologyElement):
- svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::parseAttribute):
- svg/SVGFEOffsetElement.h:
(SVGFEOffsetElement):
- svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::parseAttribute):
- svg/SVGFESpecularLightingElement.h:
(SVGFESpecularLightingElement):
- svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::parseAttribute):
- svg/SVGFETileElement.h:
(SVGFETileElement):
- svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::parseAttribute):
- svg/SVGFETurbulenceElement.h:
(SVGFETurbulenceElement):
- svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::parseAttribute):
- svg/SVGFilterElement.h:
(SVGFilterElement):
- svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute):
- svg/SVGFilterPrimitiveStandardAttributes.h:
(SVGFilterPrimitiveStandardAttributes):
- svg/SVGFitToViewBox.h:
(WebCore::SVGFitToViewBox::parseAttribute):
- svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::parseAttribute):
- svg/SVGFontFaceElement.h:
(SVGFontFaceElement):
- svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::parseAttribute):
- svg/SVGFontFaceUriElement.h:
(SVGFontFaceUriElement):
- svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::parseAttribute):
- svg/SVGForeignObjectElement.h:
(SVGForeignObjectElement):
- svg/SVGGElement.cpp:
(WebCore::SVGGElement::parseAttribute):
- svg/SVGGElement.h:
(SVGGElement):
- svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::parseAttribute):
- svg/SVGGlyphElement.h:
(SVGGlyphElement):
- svg/SVGGlyphRefElement.cpp:
(WebCore::SVGGlyphRefElement::parseAttribute):
- svg/SVGGlyphRefElement.h:
- svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::parseAttribute):
- svg/SVGGradientElement.h:
- svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::parseAttribute):
- svg/SVGImageElement.h:
(SVGImageElement):
- svg/SVGLangSpace.cpp:
(WebCore::SVGLangSpace::parseAttribute):
- svg/SVGLangSpace.h:
(SVGLangSpace):
- svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::parseAttribute):
- svg/SVGLineElement.h:
(SVGLineElement):
- svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::parseAttribute):
- svg/SVGLinearGradientElement.h:
(SVGLinearGradientElement):
- svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::parseAttribute):
- svg/SVGMPathElement.h:
(SVGMPathElement):
- svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::parseAttribute):
- svg/SVGMarkerElement.h:
(SVGMarkerElement):
- svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::parseAttribute):
- svg/SVGMaskElement.h:
(SVGMaskElement):
- svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::parseAttribute):
- svg/SVGPathElement.h:
(SVGPathElement):
- svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::parseAttribute):
- svg/SVGPatternElement.h:
(SVGPatternElement):
- svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::parseAttribute):
- svg/SVGPolyElement.h:
(SVGPolyElement):
- svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::parseAttribute):
- svg/SVGRadialGradientElement.h:
(SVGRadialGradientElement):
- svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::parseAttribute):
- svg/SVGRectElement.h:
(SVGRectElement):
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::parseAttribute):
- svg/SVGSVGElement.h:
(SVGSVGElement):
- svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::parseAttribute):
- svg/SVGScriptElement.h:
(SVGScriptElement):
- svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::parseAttribute):
- svg/SVGStopElement.h:
(SVGStopElement):
- svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::parseAttribute):
- svg/SVGStyleElement.h:
(SVGStyleElement):
- svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::parseAttribute):
- svg/SVGStyledElement.h:
(SVGStyledElement):
- svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::parseAttribute):
- svg/SVGStyledTransformableElement.h:
(SVGStyledTransformableElement):
- svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::parseAttribute):
- svg/SVGSymbolElement.h:
(SVGSymbolElement):
- svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::parseAttribute):
- svg/SVGTRefElement.h:
(SVGTRefElement):
- svg/SVGTests.cpp:
(WebCore::SVGTests::parseAttribute):
- svg/SVGTests.h:
(SVGTests):
- svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::parseAttribute):
- svg/SVGTextContentElement.h:
(SVGTextContentElement):
- svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::parseAttribute):
- svg/SVGTextElement.h:
(SVGTextElement):
- svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::parseAttribute):
- svg/SVGTextPathElement.h:
- svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::parseAttribute):
- svg/SVGTextPositioningElement.h:
(SVGTextPositioningElement):
- svg/SVGURIReference.cpp:
(WebCore::SVGURIReference::parseAttribute):
- svg/SVGURIReference.h:
(SVGURIReference):
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::parseAttribute):
- svg/SVGUseElement.h:
(SVGUseElement):
- svg/SVGViewElement.cpp:
(WebCore::SVGViewElement::parseAttribute):
- svg/SVGViewElement.h:
(SVGViewElement):
- svg/SVGZoomAndPan.h:
(WebCore::SVGZoomAndPan::parseAttribute):
- svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::parseAttribute):
- svg/animation/SVGSMILElement.h:
(SVGSMILElement):
- 8:33 AM Changeset in webkit [135068] by
-
- 2 edits in trunk/Source/WebCore
StyleResolver: No need to compare "cellpadding" attributes when evaluating style sharing candidates.
<http://webkit.org/b/102596>
Reviewed by Antti Koivisto.
Differences in the cellpadding attribute is caught by comparing additionalPresentationAttributeStyle()
later on in canShareStyleWithElement() and we shouldn't waste time on comparing them.
- css/StyleResolver.cpp:
(WebCore::haveIdenticalStyleAffectingAttributes):
- 3:22 AM Changeset in webkit [135067] by
-
- 2 edits in trunk
Unreviewed. Fix GTK+ build after r135022.
- Source/autotools/symbols.filter: Add exports for
SerializedScriptValue changes.
- 3:18 AM Changeset in webkit [135066] by
-
- 4 edits in trunk/Source/WebKit2
[WK2] REGRESSION: After web process crash a new web process is created for every existing page
https://bugs.webkit.org/show_bug.cgi?id=102520
Reviewed by Alexey Proskuryakov.
When process model is SharedSecondaryProcess a new shared process
should be created instead of a new process per page.
- UIProcess/WebContext.cpp:
(WebKit::WebContext::ensureSharedWebProcess): Ensure a shared web
process and return it.
(WebKit::WebContext::createWebPage): Update to change in
ensureSharedWebProcess() that returns the shared web process now.
- UIProcess/WebContext.h:
(WebContext): Remove relaunchProcessIfNecessary().
(WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
Use ensureSharedWebProcess() instead of relaunchProcessIfNecessary().
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcess): Ensure a shared web
process for SharedSecondaryProcess model or create a new web
process for multi-process models.
- 12:03 AM Changeset in webkit [135065] by
-
- 2 edits in trunk/Source/WebCore
Simulated mouse events should return an accurate offset
https://bugs.webkit.org/show_bug.cgi?id=102606
<rdar://problem/12725627>
Reviewed by Brady Eidson.
A check to see if the event is simulated prior to calculating the offset has existed for a
long time (since at least r14916). Back then the check was needed because the offset was
incrementally adjusted when the target was assigned (through
MouseRelatedEvent::receivedTarget()).
Since r82225, we started calculating the offset only when needed, and calculating the offset
from scratch rather than incrementally adjusting it. Since we recalculate from scratch,
the isSimulated check is irrelevant, and we should remove it.
Tests are not possible because all uses of simulated mouse events provide no underlying
event, so the offset is never recalculated.
- dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::computeRelativePosition): Remove the m_isSimulated check.
Nov 17, 2012:
- 11:09 PM Changeset in webkit [135064] by
-
- 3 edits in trunk/Source/WebCore
Don't say there are dirty overlay scrollbars when they are clipped out
https://bugs.webkit.org/show_bug.cgi?id=102609
Reviewed by Brady Eidson.
Painting overlay scrollbars involves a second painting pass over the entire
RenderLayer subtree for a compositing layer, which can be very expensive.
Avoid this when possible by detecting when overflow controls are not in
the damage rect.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::rectForHorizontalScrollbar): Compute a local rect
for the horizontal scrollbar.
(WebCore::RenderLayer::rectForVerticalScrollbar): Compute a local rect
for the vertical scrollbar.
(WebCore::RenderLayer::positionOverflowControls): Use rectForHorizontalScrollbar()
and rectForVerticalScrollbar().
(WebCore::RenderLayer::overflowControlsIntersectRect): Return true if any
of the present overflow controls intersect the given local rect.
(WebCore::RenderLayer::paintOverflowControls): Bail if the damage rect
doesn't intersect any of the overflow controls.
- rendering/RenderLayer.h:
(RenderLayer):
- 9:16 PM Changeset in webkit [135063] by
-
- 4 edits in trunk
REGRESSION (r133633): ASSERTION FAILED: m_wrapper !m_jsFunction https://bugs.webkit.org/show_bug.cgi?id=101428
Reviewed by Geoffrey Garen.
Source/WebCore:
JSNodeOwner has some smarts that wrappers of subclasses of Node need to
call during garbage collection. This patch teaches subclasses of Node
to have their JSMumbleOwner objects inherit from JSNodeOwner.
The immediate benefit of this patch is that we correctly avoid
collecting wrappers for HTMLAudioElements when they are reachable from
the DOM.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
LayoutTests:
Add two calls to gc() to make an ASSERT trigger on every run. One call
to gc() does not appear to be sufficient for reasons I don't fully
understand.
- media/media-continues-playing-after-replace-source.html:
- 9:14 PM Changeset in webkit [135062] by
-
- 3 edits in trunk/Tools
Remove unused code I wrote a long time ago from gardeningserver.py
https://bugs.webkit.org/show_bug.cgi?id=102605
Reviewed by Adam Barth.
- Scripts/webkitpy/tool/servers/gardeningserver.py: Removed.
- Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: Removed.
- 9:01 PM Changeset in webkit [135061] by
-
- 3 edits1 add in trunk/Source
Source/JavaScriptCore: Expose JSObject removeDirect and PrivateName to WebCore
https://bugs.webkit.org/show_bug.cgi?id=102546
Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-17
Reviewed by Geoffrey Garen.
Export removeDirect for use in WebCore so JSDependentRetained works.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
Source/WebCore: Expose JSObject::removeDirect and PrivateName to WebCore
https://bugs.webkit.org/show_bug.cgi?id=102546
Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-17
Reviewed by Geoffrey Garen.
Add forwarding header for PrivateName, so JSDependentRetained works.
No new tests, just adding headers.
- ForwardingHeaders/runtime/PrivateName.h: Added.
- 8:01 PM Changeset in webkit [135060] by
-
- 6 edits in trunk/Source/WebCore
Reduce the crazy number of parameters to RenderLayer clip-rect functions
https://bugs.webkit.org/show_bug.cgi?id=102604
Reviewed by Dan Bernstein.
Many of the RenderLayer member functions related to clip rect computation
took a long list of similar parameters. Gather these into a struct, ClipRectsContext,
that we pass to these functions
No functional changes.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateClipRects):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::backgroundClipRect):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::childrenClipRect):
(WebCore::RenderLayer::selfClipRect):
(WebCore::RenderLayer::localClipRect):
- rendering/RenderLayer.h:
(WebCore::RenderLayer::ClipRectsContext::ClipRectsContext):
(ClipRectsContext):
(RenderLayer):
(WebCore::RenderLayer::clipRects):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::clippedByAncestor):
- rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):
- 8:01 PM Changeset in webkit [135059] by
-
- 6 edits in trunk
Simplify bounds computation for the RenderView's layer
https://bugs.webkit.org/show_bug.cgi?id=102597
Reviewed by Anders Carlsson.
Source/WebCore:
Computing the bounds of the main layer (that of the RenderView) used to do
a full RenderLayer walk, taking the union of the bounds of all the sublayers,
which is very expensive on large pages.
For the RenderView we can avoid that entirely and just use the RenderView's
document rect. Since page scaling happens as a transform on this layer,
we want the unscaled document rect.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateLayerBounds):
LayoutTests:
Progressions as a result of this change:
- compositing/layer-creation/fixed-position-out-of-view-expected.txt: The height
is now the page height, since the page is scrollable.
- compositing/tiling/tile-cache-zoomed-expected.txt: The main layer now is not
affected by the page scale transform.
- platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt: Ditto.
- 7:37 PM Changeset in webkit [135058] by
-
- 17 edits in trunk/Source/WebCore
Add ScriptWrappable to more WebCore classes which are commonly JS-wrapped
https://bugs.webkit.org/show_bug.cgi?id=102601
Reviewed by Adam Barth.
From my investigations all of these classes exist only to be exposed
to the web (via JavaScript) and are not used internally by WebCore.
I beleive all of them always have wrappers.
These were found using this code:
https://bugs.webkit.org/show_bug.cgi?id=102539#c2
Geolocation -- navigator.geolocation
WebKitCSSMatrix -- represent matrixes in JS through various APIs
DOMStringMap, NamedNodeMap, NodeIterator, TreeWalker -- exclusively for the DOM API
Blob, FileList - used by the File, Clipboard and XHR, also exclusively as API
ValidityState -- formControl.validity
CanvasRenderingContext -- canvas.getContext()
DOMApplicationCache -- window.appcache
Screen -- window.screen
DOMMimeTypeArray -- navigator.mimetypes
DOMPlugin -- navigator.plugins[0]
DOMPluginArray -- navigator.plugins
- Modules/geolocation/Geolocation.h:
- css/WebKitCSSMatrix.h:
- dom/DOMStringMap.h:
- dom/NamedNodeMap.h:
- dom/NodeIterator.h:
- dom/TreeWalker.h:
- fileapi/Blob.h:
- fileapi/FileList.h: (had to un-indent to make check-webkit-style happy)
(FileList):
(WebCore::FileList::create):
(WebCore::FileList::length):
(WebCore::FileList::isEmpty):
(WebCore::FileList::clear):
(WebCore::FileList::append):
- html/ValidityState.h:
- html/canvas/CanvasRenderingContext.h:
- loader/appcache/DOMApplicationCache.h:
- page/Screen.h:
- platform/graphics/wince/MediaPlayerProxy.cpp:
(WebCore::WebMediaPlayerProxy::initEngine): This code was wrong, fixed to use internal APIs.
- plugins/DOMMimeTypeArray.h:
- plugins/DOMPlugin.h:
- plugins/DOMPluginArray.h:
- 7:37 PM Changeset in webkit [135057] by
-
- 2 edits in trunk/Source/WebKit2
Remove 8-bit related assertion from NetscapePluginModuleX11.
https://bugs.webkit.org/show_bug.cgi?id=102588
Reviewed by Andreas Kling.
Follow-up to r135043: since String::fromUTF8() is not guaranteed
to give us a 16-bit string, the assertion in
truncateToSingleLine() will fail in that case.
This should make the EFL WK2 Debug bot stop failing all
plugin-related tests because "WebKit Test Plugin" is returned as
an 8-bit string.
- Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::truncateToSingleLine):
- 6:13 PM Changeset in webkit [135056] by
-
- 17 edits1 add in trunk/Source
[Texmap][CSS Shaders] Reuse the precompiled shader for custom filters in TextureMapperGL
https://bugs.webkit.org/show_bug.cgi?id=101801
Reviewed by Noam Rosenthal.
Source/WebCore:
Added a HashMap in TextureMapperGL to store the precompiled versions of the shaders.
Also added a new API on TextureMapper that receives a notification when the shader
is no longer needed.
No new tests, the code is tested by existing tests.
- platform/graphics/filters/CustomFilterOperation.h:
(WebCore::CustomFilterOperation::setProgram):
(CustomFilterOperation): Made the constructor protected, so that we can overwrite the class in WK2.
- platform/graphics/filters/CustomFilterValidatedProgram.cpp:
(WebCore::CustomFilterValidatedProgram::validatedProgramInfo):
(WebCore):
- platform/graphics/filters/CustomFilterValidatedProgram.h:
(CustomFilterValidatedProgram):
- platform/graphics/texmap/TextureMapper.h:
(WebCore):
(TextureMapper):
(WebCore::TextureMapper::removeCachedCustomFilterProgram):
Function to be called by the platform code, when the shader is no longer
needed. This implementation is empty and overridden in TextureMapperGL.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::removeCachedCustomFilterProgram):
Removes the compiled shader from the cache. This is called from WK2 when the compiled shader
is no longer needed.
(WebCore):
(WebCore::TextureMapperGL::drawUsingCustomFilter): The first time it uses a new
shader it will cache the compiled version until removeCachedCustomFilterProgram is called.
- platform/graphics/texmap/TextureMapperGL.h:
(WebCore):
(TextureMapperGL):
Source/WebKit2:
Changed the encoding code for ValidatedCustomFilterOperation to only encode the ID of the program.
LayerTreeCoordinator makes sure to send the programs in full before the encoder runs.
LayerTreeRenderer will maintain a HashMap from these IDs to the real CustomFilterProgram.
The UI process will also receive a message from the WebProcess when the shader is no longer in needed.
LayerTreeRenderer calls the TextureMapper's removeCachedCustomFilterProgram to notify
about the removed CustomFilterProgram.
- Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
(CoreIPC):
- Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
(WebCore):
- Shared/CoordinatedGraphics/WebCustomFilterOperation.h: Added.
(WebCore):
(WebCustomFilterOperation):
(WebCore::WebCustomFilterOperation::create):
(WebCore::WebCustomFilterOperation::programID):
(WebCore::WebCustomFilterOperation::WebCustomFilterOperation):
- Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
(WebKit::WebCustomFilterProgramProxy::create):
(WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
- UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit):
(WebKit::LayerTreeCoordinatorProxy::removeCustomFilterProgram):
(WebKit::LayerTreeCoordinatorProxy::createCustomFilterProgram):
- UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
- UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
- UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit):
(WebKit::LayerTreeRenderer::injectCachedCustomFilterPrograms):
(WebKit::LayerTreeRenderer::createCustomFilterProgram):
(WebKit::LayerTreeRenderer::removeCustomFilterProgram):
(WebKit::LayerTreeRenderer::setLayerAnimations):
- UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebCore):
(LayerTreeRenderer):
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
(WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
(WebKit::LayerTreeCoordinator::setLayerAnimations):
- 4:45 PM Changeset in webkit [135055] by
-
- 14 edits in trunk/Source
Add an integer identifier field to AuthenticationChallengeBase.
https://bugs.webkit.org/show_bug.cgi?id=102593
Reviewed by Darin Adler.
Source/WebCore:
This is to support linking two different challenges that might not compare as equal but that
represent the same logical authentication challenge.
One example is in an IPC environment where the platform challenge can only exist in one process.
No new tests (Platform support, no effect in tested configs).
- WebCore.exp.in:
- platform/network/AuthenticationChallengeBase.cpp:
(WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):
- platform/network/AuthenticationChallengeBase.h:
(WebCore::AuthenticationChallengeBase::identifier):
- platform/network/cf/AuthenticationChallenge.h:
- platform/network/mac/AuthenticationMac.mm:
(WebCore::generateUniqueIdentifier):
(WebCore::AuthenticationChallenge::AuthenticationChallenge): Generate a new unique identifier whenever
constructing a challenge from an NSURLAuthenticationChallenge.
- platform/network/cf/AuthenticationCF.cpp:
(WebCore::generateUniqueIdentifier):
(WebCore::AuthenticationChallenge::AuthenticationChallenge): Generate a new unique identifier whenever
constructing a challenge from a CFURLAuthChallengeRef.
Implement the new constructor form for ports relevant to WebKit2:
- platform/network/qt/AuthenticationChallenge.h:
(WebCore::AuthenticationChallenge::AuthenticationChallenge):
- platform/network/soup/AuthenticationChallenge.h:
(WebCore::AuthenticationChallenge::AuthenticationChallenge):
- platform/network/win/AuthenticationChallenge.h:
(WebCore::AuthenticationChallenge::AuthenticationChallenge):
Source/WebKit/win:
- WebURLAuthenticationChallenge.cpp:
(WebURLAuthenticationChallenge::initWithProtectionSpace): Adopt the new constructor with a dummy identifier.
Source/WebKit2:
Properly encode/decode the identifier when sending the challenge over CoreIPC.
- Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
- 4:11 PM Changeset in webkit [135054] by
-
- 4 edits in trunk/LayoutTests
Rebaseline three tests affected by the dumping of tile grid extent.
- platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
- platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
- platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
- 3:37 PM Changeset in webkit [135053] by
-
- 12 edits in trunk
Dump the tile cache extent in layout tests
https://bugs.webkit.org/show_bug.cgi?id=102600
Reviewed by Anders Carlsson.
Source/WebCore:
When dumping tiled layer stats in layout tests, also dump the extent
of the tile grid. This will allow us to detect issues related
to zooming, which is not possible with the existing tile coverage rect,
which is dumped in layer (not tile) coordinates.
- platform/graphics/TiledBacking.h: Added tileGridExtent().
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::dumpAdditionalProperties): Dump the tile grid extent.
- platform/graphics/ca/mac/TileCache.h: tileCoverageRect() should be OVERRIDE.
- platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::getTileIndexRangeForRect):
(WebCore::TileCache::tileGridExtent): Return a rect with the size of
the grid as top,left width,height.
LayoutTests:
New results which contain tile cache extents.
- platform/mac/tiled-drawing/tile-coverage-after-scroll-expected.txt:
- platform/mac/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
- platform/mac/tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
- platform/mac/tiled-drawing/tiled-drawing-zoom-expected.txt:
- platform/mac/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
- platform/mac/tiled-drawing/use-tiled-drawing-expected.txt:
- 1:41 PM Changeset in webkit [135052] by
-
- 3 edits in trunk/LayoutTests
Unreviewed GTK gardening. Fixing a test that's failing due to changes
made in r134949 and wasn't updated yet.
- http/tests/websocket/tests/hybi/workers/close-expected.txt:
- http/tests/websocket/tests/hybi/workers/resources/close.js:
- 1:00 PM Changeset in webkit [135051] by
-
- 2 edits in trunk/Source/WebCore
Avoid full style recalc when 'style' attribute changes.
<http://webkit.org/b/78718>
Reviewed by Anders Carlsson.
Use setNeedsStyleRecalc(InlineStyleChange) when the 'style' attribute changes
to reduce the amount of work done in recalcStyle().
- dom/StyledElement.cpp:
(WebCore::StyledElement::styleAttributeChanged):
- 12:06 PM Changeset in webkit [135050] by
-
- 2 edits in trunk/Source/WebCore
Remove coneGain and distanceGain attributes from PannerNode.idl
https://bugs.webkit.org/show_bug.cgi?id=102343
Patch by Li Yin <li.yin@intel.com> on 2012-11-17
Reviewed by Chris Rogers.
Removing .coneGain and .distanceGain as publicly accessible values,
since normally they only need to be calculated internally.
No changes to tests, since these attributes were not tested and are being removed.
- Modules/webaudio/PannerNode.idl:
- 11:58 AM Changeset in webkit [135049] by
-
- 3 edits in trunk/LayoutTests
biquadfilternode-basic.html test should cover default value of frequency, Q and gain.
https://bugs.webkit.org/show_bug.cgi?id=102305
Patch by Li Yin <li.yin@intel.com> on 2012-11-17
Reviewed by Chris Rogers.
Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#BiquadFilterNode
The default values of frequency, Q and gain are clearly specified, we should
have related sub test to over them.
- webaudio/biquadfilternode-basic-expected.txt:
- webaudio/biquadfilternode-basic.html:
- 11:48 AM Changeset in webkit [135048] by
-
- 2 edits in trunk/Source/WebKit/chromium
Unreviewed. Rolled DEPS.
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-17
- DEPS:
- 10:02 AM Changeset in webkit [135047] by
-
- 9 edits4 adds in trunk/Source/WebKit/chromium
Provide page/window coordinates to plugin's local coordinates translation in WebPluginContainer.
https://bugs.webkit.org/show_bug.cgi?id=102339
Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-17
Reviewed by Adam Barth.
This change will allow converting a page's window coordinates to plugins's local coordinates,
taking CSS transformations into account. Embedder page of the plugin can use this information
for targetting elements inside the plugin (e.g. devtools can inspect a specific element at the
local coordinate position inside plugin).
Attempting to re-land after Windows build fix.
- WebKit.gyp:
- WebKit.gypi:
- public/WebNode.h:
(WebKit):
- public/WebPluginContainer.h:
(WebKit):
(WebPluginContainer):
- src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):
- src/WebNode.cpp:
(WebKit::WebNode::pluginContainer):
(WebKit):
- src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::windowToLocalPoint):
(WebKit):
- src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):
- tests/FakeWebPlugin.cpp: Added.
(WebKit):
(WebKit::FakeWebPlugin::FakeWebPlugin):
(WebKit::FakeWebPlugin::~FakeWebPlugin):
(WebKit::FakeWebPlugin::initialize):
(WebKit::FakeWebPlugin::destroy):
- tests/FakeWebPlugin.h: Added.
(WebKit):
(FakeWebPlugin):
- tests/WebPluginContainerTest.cpp: Added.
(WebKit):
(WebPluginContainerTest):
(WebKit::WebPluginContainerTest::WebPluginContainerTest):
(WebKit::WebPluginContainerTest::TearDown):
(WebKit::getWebPluginContainer):
(WebKit::TEST_F):
- tests/data/plugin_container.html: Added.
- 7:49 AM Changeset in webkit [135046] by
-
- 2 edits in trunk/Source/WebCore
[Coordinated Graphics] Resumed animations leave an obsolate GraphicsLayerAnimation behind
https://bugs.webkit.org/show_bug.cgi?id=102530
Reviewed by Noam Rosenthal.
GraphicsLayer::addAnimation is called no only when a new animation is created
but also when resuming a paused animation. If this is a resumed animation we
should remove the obsolate GraphicsLayerAnimation object.
Tested by animations tests.
- platform/graphics/GraphicsLayerAnimation.cpp:
(WebCore::GraphicsLayerAnimations::add):
- 5:19 AM Changeset in webkit [135045] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening.
- platform/gtk/TestExpectations:
- 5:09 AM Changeset in webkit [135044] by
-
- 3 edits in trunk/LayoutTests
Unreviewed gardening. Fixing a test that's failing since r134859.
- http/tests/websocket/tests/hybi/workers/close-expected.txt:
- http/tests/websocket/tests/hybi/workers/resources/close.js:
(runInvalidStringTest):
- 4:58 AM Changeset in webkit [135043] by
-
- 2 edits in trunk/Source/WebKit2
8bit-unaware String usage in NetscapePluginModuleX11.cpp
https://bugs.webkit.org/show_bug.cgi?id=102482
Reviewed by Michael Saboff.
String::fromUTF8 is not guaranteed to give a 16 bit string.
- Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::truncateToSingleLine): Do an explicit 16 bit conversion.
- 2:26 AM Changeset in webkit [135042] by
-
- 7 edits3 deletes in trunk/LayoutTests
Web Inspector: http/tests/inspector/stacktraces/* are flakey in JSC
https://bugs.webkit.org/show_bug.cgi?id=102380
Reviewed by Yury Semikhatsky.
The inspector stacktrace tests are quite flakey at the moment under JSC.
This patch drops detail out of the test that a) isn't relevent to what's
being tested, and b) varies under JSC for no discernable reason. A side
benifit of this change is that we can drop most platform-specific test
results, as we're now only looking at data that JSC and V8 agree upon.
- http/tests/inspector/stacktraces/csp-injected-content-warning-contains-stacktrace-expected.txt:
- http/tests/inspector/stacktraces/csp-inline-warning-contains-stacktrace-expected.txt:
- http/tests/inspector/stacktraces/csp-setInterval-warning-contains-stacktrace-expected.txt:
- http/tests/inspector/stacktraces/csp-setTimeout-warning-contains-stacktrace-expected.txt:
Reset tests based on the new level of detail.
- http/tests/inspector/stacktraces/resources/stacktrace-test.js:
(test.addMessage):
(test):
Limit the detail of the output to the top frame of the stack, and
drop the column number (which was always 0 in JSC).
- platform/chromium/http/tests/inspector/stacktraces/csp-injected-content-warning-contains-stacktrace-expected.txt: Removed.
- platform/chromium/http/tests/inspector/stacktraces/csp-setInterval-warning-contains-stacktrace-expected.txt: Removed.
- platform/chromium/http/tests/inspector/stacktraces/csp-setTimeout-warning-contains-stacktrace-expected.txt: Removed.
Dropping these platform-specific tests, as this patch limits the test
output detail to a subset that V8 and JSC agree upon.
- platform/chromium/http/tests/inspector/stacktraces/csp-inline-warning-contains-stacktrace-expected.txt:
Can't drop this one, sadly.
- 12:37 AM Changeset in webkit [135041] by
-
- 13 edits in trunk/Source/JavaScriptCore
Given a PutById or GetById with a proven structure, the DFG should be able to emit a PutByOffset or GetByOffset instead
https://bugs.webkit.org/show_bug.cgi?id=102327
Reviewed by Mark Hahnenberg.
If the profiler tells us that a GetById or PutById may be polymorphic but our
control flow analysis proves that it isn't, we should trust the control flow
analysis over the profiler. This arises in cases where GetById or PutById were
inlined: the inlined function may have been called from other places that led
to polymorphism, but in the current inlined context, there is no polymorphism.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFor):
(JSC):
- bytecode/GetByIdStatus.h:
(JSC::GetByIdStatus::GetByIdStatus):
(GetByIdStatus):
- bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFor):
(JSC):
- bytecode/PutByIdStatus.h:
(JSC):
(JSC::PutByIdStatus::PutByIdStatus):
(PutByIdStatus):
- dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
- dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::bestProvenStructure):
(AbstractValue):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
(ConstantFoldingPhase):
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToGetByOffset):
(Node):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::hasStorageResult):
- runtime/JSGlobalObject.h:
(JSC::Structure::prototypeChain):
(JSC):
(JSC::Structure::isValid):
- runtime/Operations.h:
(JSC::isPrototypeChainNormalized):
(JSC):
- runtime/Structure.h:
(Structure):
(JSC::Structure::transitionDidInvolveSpecificValue):
- 12:03 AM Changeset in webkit [135040] by
-
- 3 edits in trunk/Source/WebCore
[Soup] CredentialStorage should only be used for HTTP-family requests
https://bugs.webkit.org/show_bug.cgi?id=102582
Reviewed by Gustavo Noronha Silva.
Do not use CredentialStorage when handling non-HTTP family requests. CredentialStorage
only expects to handle requests in the HTTP family.
No new tests. This is covered by existing tests.
- platform/network/ResourceHandle.h:
(ResourceHandle): Add a shouldUseCredentialStorage helper to ResourceHandle. This
helper returns false when firstRequest() is a non-HTTP family request.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::applyAuthenticationToRequest): Use the new helper.
(WebCore::createSoupRequestAndMessageForHandle): Ditto.
(WebCore::ResourceHandle::start): Ditto.
(WebCore::ResourceHandle::shouldUseCredentialStorage): Ditto.
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Ditto.
(WebCore::ResourceHandle::receivedCredential): Ditto.