blob: b8dc5517d88d7f7a7266c7bb421147795aec8d4c [file] [log] [blame]
2012-09-16 Mark Hahnenberg <mhahnenberg@apple.com>
Delayed structure sweep can leak structures without bound
https://bugs.webkit.org/show_bug.cgi?id=96546
Reviewed by Geoffrey Garen.
This patch gets rid of the separate Structure allocator in the MarkedSpace and adds two new destructor-only
allocators. We now have separate allocators for our three types of objects: those objects with no destructors,
those objects with destructors and with immortal structures, and those objects with destructors that don't have
immortal structures. All of the objects of the third type (destructors without immortal structures) now
inherit from a new class named JSDestructibleObject (which in turn is a subclass of JSNonFinalObject), which stores
the ClassInfo for these classes at a fixed offset for safe retrieval during sweeping/destruction.
No new tests.
* ForwardingHeaders/runtime/JSDestructableObject.h: Added.
* bindings/js/JSDOMWrapper.h: Inherits from JSDestructibleObject.
(JSDOMWrapper):
(WebCore::JSDOMWrapper::JSDOMWrapper):
* bindings/scripts/CodeGeneratorJS.pm: Add finalizers to anything that inherits from JSGlobalObject,
e.g. JSDOMWindow and JSWorkerContexts. For those classes we also need to define needsDestruction as true.
(GenerateHeader):
* bridge/objc/objc_runtime.h: Inherit from JSDestructibleObject.
(ObjcFallbackObjectImp):
* bridge/objc/objc_runtime.mm:
(Bindings):
(JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
* bridge/runtime_array.cpp: Use a finalizer so that JSArray isn't forced to inherit from JSDestructibleObject.
(JSC):
(JSC::RuntimeArray::destroy):
* bridge/runtime_array.h:
(JSC::RuntimeArray::create):
(JSC):
* bridge/runtime_object.cpp: Inherit from JSDestructibleObject.
(Bindings):
(JSC::Bindings::RuntimeObject::RuntimeObject):
* bridge/runtime_object.h:
(RuntimeObject):
2012-10-02 Anders Carlsson <andersca@apple.com>
Change most GraphicsLayer::create calls to use the version that takes a GraphicsLayerFactory
https://bugs.webkit.org/show_bug.cgi?id=98217
Reviewed by Andreas Kling.
* WebCore.exp.in:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createGraphicsLayer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::ensureRootLayer):
2012-10-03 Joshua Bell <jsbell@chromium.org>
IndexedDB: Optimize encodeString/decodeString
https://bugs.webkit.org/show_bug.cgi?id=97794
Reviewed by Tony Chang.
Optimize string encoding/decoding, which showed up as a CPU hot spot during profiling.
The backing store uses big-endian ordering of 16-bit code unit strings, so a memcopy
isn't sufficient, but the code used StringBuilder::append() character-by-character
and custom byte-swapping which was slow.
Ran a test w/ DumpRenderTree (to avoid multiprocess overhead) taking a 10k character string
and putting it 20k times and getting it 20k times. On my test box, mean time before the
patch was 8.2s, mean time after the patch was 4.6s.
Tested by Chromium's webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.*String*'
* Modules/indexeddb/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::encodeString):
(WebCore::IDBLevelDBCoding::decodeString):
2012-10-03 Keishi Hattori <keishi@webkit.org>
Implement DataList UI for input type time on chromium
https://bugs.webkit.org/show_bug.cgi?id=98240
Reviewed by Kent Tamura.
This adds datalist UI for input type time. We add the picker indicator to
BaseMultipleFieldsDateAndTimeInputType. We enclose the dateTimeEdit element
and picker indicator inside a new div element so we can position the picker
indicator in the same place as input type=date.
Tests: platform/chromium/fast/forms/time/time-suggestion-picker-appearance-rtl.html
platform/chromium/fast/forms/time/time-suggestion-picker-appearance-with-scroll-bar.html
platform/chromium/fast/forms/time/time-suggestion-picker-appearance.html
platform/chromium/fast/forms/time/time-suggestion-picker-key-operations.html
platform/chromium/fast/forms/time/time-suggestion-picker-mouse-operations.html
* css/html.css:
(input::-webkit-date-and-time-container):
* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree): Creates a picker indicator.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::handleKeydownEvent): Open the picker on Alt+Down.
(WebCore):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::listAttributeTargetChanged): Updates picker visibility.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::updatePickerIndicatorVisibility): In the future, DateInputType can override
this so the picker indicator is always visible.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::hidePickerIndicator):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::showPickerIndicator):
* html/BaseMultipleFieldsDateAndTimeInputType.h:
(WebCore):
(BaseMultipleFieldsDateAndTimeInputType):
* html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::defaultKeyboardEventHandler): Ignore Alt+down because it should trigger the picker to open.
* rendering/RenderThemeChromiumCommon.cpp:
(WebCore::RenderThemeChromiumCommon::supportsDataListUI): Add time to the list.
2012-10-03 Andreas Kling <kling@webkit.org>
Give CSSValueList backing vector an inline capacity.
<http://webkit.org/b/98266>
<rdar://problem/12421425>
Reviewed by Anders Carlsson.
Set an inline capacity of 4 on the CSSValue vector backing CSSValueList. This avoids an extra heap allocation
in the common case, and reduces total memory use across the board, since the majority of CSSValueLists have
at least 1 item, and the Vector will bump from 0 to 16 capacity on the first append.
394kB progression on Membuster3.
* css/CSSValueList.h:
(CSSValueList):
2012-10-03 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: NMI: instrument NativeImageSkia.
https://bugs.webkit.org/show_bug.cgi?id=96277
Reviewed by Yury Semikhatsky.
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::reportMemoryUsage):
(WebCore::reportMemoryUsage):
2012-10-03 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: remember the last dock option so that user could toggle between dock to bottom and right
https://bugs.webkit.org/show_bug.cgi?id=98255
Reviewed by Vsevolod Vlasov.
- Introduced DockController.js that covers the dock mechanics
- Removed dock orientation from the settings
- Storing the last dock option to present it as default
- Simplified the multi-option status bar button
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/DockController.js: Added.
(WebInspector.DockController):
(WebInspector.DockController.prototype.get element):
(WebInspector.DockController.prototype.setDocked.set if):
(WebInspector.DockController.prototype.setDocked):
(WebInspector.DockController.prototype.setDockingUnavailable):
(WebInspector.DockController.prototype._updateUI.get states):
(WebInspector.DockController.prototype._updateUI):
(WebInspector.DockController.prototype._decorateButtonForTargetState):
(WebInspector.DockController.prototype._createDockOptions):
(WebInspector.DockController.prototype._toggleDockState):
(WebInspector.DockController.prototype.isCompactMode):
(WebInspector.DockController.prototype.setCompactMode):
* inspector/front-end/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setAttachedWindow):
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.requestAttachWindow):
(.WebInspector.InspectorFrontendHostStub.prototype.requestDetachWindow):
* inspector/front-end/Settings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.GenericSettingsTab):
* inspector/front-end/StatusBarButton.js:
(WebInspector.StatusBarButton):
* inspector/front-end/Toolbar.js:
(WebInspector.Toolbar):
(WebInspector.Toolbar.prototype.setCompactMode):
(WebInspector.Toolbar.prototype._toolbarDragStart):
(WebInspector.Toolbar.prototype._toolbarDrag):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
(WebInspector.toggleSearchingForNode):
* inspector/front-end/inspector.css:
(body.undocked.platform-mac-snowleopard #toolbar):
(body.undocked.platform-mac-snowleopard #toolbar-dropdown):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector._createGlobalStatusBarItems):
(windowLoaded):
(WebInspector.setDockingUnavailable):
* inspector/front-end/inspectorCommon.css:
(body.dock-to-right:not(.undocked)):
(body.dock-to-right.inactive:not(.undocked)):
2012-10-03 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: UISourceCode commitWorkingCopy should not fail when original script had syntax error.
https://bugs.webkit.org/show_bug.cgi?id=97272
Reviewed by Pavel Feldman.
This patch is based on patch by John J. Barton.
* inspector/front-end/JavaScriptSource.js:
(WebInspector.JavaScriptSource.prototype.workingCopyCommitted): added rawLocation null check.
2012-10-03 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: After "Edit as HTML", any click outside box should stop editing
https://bugs.webkit.org/show_bug.cgi?id=98258
Reviewed by Vsevolod Vlasov.
Make the DOM tree OL span the entire height of its container in the Elements panel to catch mouse events.
* inspector/front-end/elementsPanel.css:
(#elements-content > ol):
2012-10-03 Dongwoo Joshua Im <dw.im@samsung.com>
[EFL] Skeleton code of File system API.
https://bugs.webkit.org/show_bug.cgi?id=91187
Reviewed by Gyuyoung Kim.
Add skeleton code of File System API on EFL port.
Implementation patches will be created later.
No new tests because this is just skeleton code.
* CMakeLists.txt: Add new files which created by other patches in Modules/filesystem/ directory.
* PlatformEfl.cmake: Add AsyncFileSystemEfl.cpp.
* platform/AsyncFileSystem.cpp:
(WebCore):
* platform/efl/AsyncFileSystemEfl.cpp: Added.
* platform/efl/AsyncFileSystemEfl.h: Added.
2012-10-03 Andreas Kling <kling@webkit.org>
Shrink ElementRareData by moving bool flags to NodeRareData.
<http://webkit.org/b/98225>
Reviewed by Antti Koivisto.
Move all bool flags from ElementRareData to the bitfield in its base class NodeRareData.
This shrinks ElementRareData by 8 bytes (on 64-bit) and saves a whopping 58kB on Membuster3.
Also removed some double raredata hash lookups.
* dom/Element.cpp:
(WebCore::Element::detach):
(WebCore::Element::recalcStyle):
(WebCore::Element::ensureShadow):
(WebCore::Element::setStyleAffectedByEmpty):
(WebCore::Element::styleAffectedByEmpty):
(WebCore::Element::setIsInCanvasSubtree):
(WebCore::Element::isInCanvasSubtree):
(WebCore::Element::containsFullScreenElement):
(WebCore::Element::setContainsFullScreenElement):
* dom/ElementRareData.h:
(ElementRareData):
(WebCore::ElementRareData::ElementRareData):
* dom/NodeRareData.h:
(WebCore::NodeRareData::styleAffectedByEmpty):
(WebCore::NodeRareData::setStyleAffectedByEmpty):
(WebCore::NodeRareData::isInCanvasSubtree):
(WebCore::NodeRareData::setIsInCanvasSubtree):
(NodeRareData):
(WebCore::NodeRareData::containsFullScreenElement):
(WebCore::NodeRareData::setContainsFullScreenElement):
2012-10-03 Jussi Kukkonen <jussi.kukkonen@intel.com>
getComputedStyle perspective-origin is based on the wrong bounding box
https://bugs.webkit.org/show_bug.cgi?id=98027
Reviewed by Simon Fraser.
perspective-origin for ComputedStyleDeclaration is currently calculated using the
wrong bounding box (sizingBox() which ends up as the contentbox).
Start using borderbox for ComputedStyleDeclaration perspective-origin, similar to
what transform-origin already does.
Test: fast/css/getComputedStyle/getComputedStyle-origin-percentage.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2012-10-03 Patrick Gansterer <paroga@webkit.org>
Build fix for WinCE after r130160.
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataAndPageForCharacter):
2012-10-03 Tommy Widenflycht <tommyw@google.com>
MediaStream API: RTCPeerConnection should send down its handler via the FrameLoaderClient directly after creation.
https://bugs.webkit.org/show_bug.cgi?id=98149
Reviewed by Adam Barth.
The chromium implementation needs to know which Frame created a PeerConnection so
that the right housekeeping can take place correctly.
Not testable in DRT, but have verified the change manually and with our pyautotests.
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
* loader/FrameLoaderClient.h:
(WebCore):
(FrameLoaderClient):
(WebCore::FrameLoaderClient::dispatchWillStartUsingPeerConnectionHandler):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::toWebRTCPeerConnectionHandler):
(WebCore):
(WebCore::RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium):
(WebCore::RTCPeerConnectionHandlerChromium::initialize):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
(RTCPeerConnectionHandlerChromium):
2012-10-03 Eugene Klyuchnikov <eustas.bug@gmail.com>
Web Inspector: Profiles: taking heap snapshot causes error message in console.
https://bugs.webkit.org/show_bug.cgi?id=97890
Reviewed by Yury Semikhatsky.
Actual problem is that proxy loader is closed twice.
"_snapshotReceived" should never try to close receiver,
because it is a callback fired by close.
Also minor glitches fixed:
- taking snapshot shows "Loading..." status first,
and then "Saving xxx%";
- after all chunks are sent "Parsing" status is set and
then is replaced with "Saving 100%";
- removed dead code in proxy;
- proxy was ignoring callback parameter;
- "Loading %d\%" is not localized.
* English.lproj/localizedStrings.js: Added missing "Loading %d%" string.
* inspector/front-end/HeapSnapshotProxy.js: Removed dead code.
(WebInspector.HeapSnapshotLoaderProxy):
(WebInspector.HeapSnapshotLoaderProxy.prototype.write): Make this method
interface-conformant.
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapProfileHeader): Fixed update-status and
finish-transfer logic.
2012-10-03 Jochen Eisinger <jochen@chromium.org>
Make sure that user gestures can't be consumed twice
https://bugs.webkit.org/show_bug.cgi?id=97483
Reviewed by Adam Barth.
Instead of a simple counter, use a ref counted token to track how many
user gestures happened and where consumed. When creating a timer that
is supposed to forward the user gesture, take a reference to this token
and reinstantiate the UserGestureIndicator with that token when the
timer is triggered.
Tests: platform/chromium/fast/events/popup-forwarded-gesture-blocked.html
platform/chromium/fast/events/popup-forwarded-gesture.html
* dom/UserGestureIndicator.cpp:
(WebCore):
(WebCore::UserGestureIndicator::UserGestureIndicator):
(WebCore::UserGestureIndicator::~UserGestureIndicator):
(WebCore::UserGestureIndicator::processingUserGesture):
(WebCore::UserGestureIndicator::consumeUserGesture):
(WebCore::UserGestureIndicator::currentToken):
* dom/UserGestureIndicator.h:
(Token):
(WebCore::UserGestureIndicator::Token::~Token):
(UserGestureIndicator):
* page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::fired):
* page/DOMTimer.h:
(DOMTimer):
2012-10-03 Dominic Mazzoni <dmazzoni@google.com>
AX: Heap-use-after-free when deleting a ContainerNode with an AX object
https://bugs.webkit.org/show_bug.cgi?id=98073
Reviewed by Hajime Morita.
Calls axObjectCache()->remove(this) in ~ContainerNode so that the AX tree
doesn't try to access the container node while walking up the parent chain
from one of the container node's children.
Test: accessibility/container-node-delete-causes-crash.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::~ContainerNode):
* dom/Node.cpp:
(WebCore::Node::~Node):
* dom/Node.h:
(WebCore::Node::document):
(WebCore::Node::documentInternal):
2012-10-03 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: SourceURL should be taken from debugger agent when possible.
https://bugs.webkit.org/show_bug.cgi?id=98239
Reviewed by Yury Semikhatsky.
Removed a check that sourceURL coming from js engine is the same as the one parsed by debugger agent.
Alwys use the one from debugger agent now.
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::didParseSource):
2012-10-03 Ilya Tikhonovsky <loislo@chromium.org>
Unreviewed. Touch FrameView.cpp file for fixing mac bot compilation.
* page/FrameView.cpp:
(WebCore):
2012-10-02 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: "Load profile..." context menu item has to be shown only for left column with the list of profiles.
https://bugs.webkit.org/show_bug.cgi?id=98163
Reviewed by Yury Semikhatsky.
The text was changed to "Load Heap Snapshot..."
Also I changed "Save profile..." to "Save Heap Snapshot..." because other profiles don't support Save/Load operations yet.
The Load context menu item will appear only when the user clicked in sidebar the tree empty space or a profile.
* English.lproj/localizedStrings.js:
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
(WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
2012-10-03 Harald Alvestrand <hta@google.com>
Add data passing to the GetStats interface of RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=98003
Reviewed by Adam Barth.
Added an RTCStatsResponseBase interface to platform, and let the
RTCStatsRequestImpl class produce an implementation of it that's returned
to WebCore.
Tested by extension of the RTCPeerConnection-stats.html test.
* Modules/mediastream/RTCStatsElement.cpp:
(WebCore::RTCStatsElement::addStatistic):
(WebCore):
* Modules/mediastream/RTCStatsElement.h:
(RTCStatsElement):
* Modules/mediastream/RTCStatsReport.cpp:
(WebCore):
(WebCore::RTCStatsReport::addElement):
(WebCore::RTCStatsReport::addStatistic):
* Modules/mediastream/RTCStatsReport.h:
(RTCStatsReport):
* Modules/mediastream/RTCStatsRequestImpl.cpp:
(WebCore::RTCStatsRequestImpl::createResponse):
(WebCore):
(WebCore::RTCStatsRequestImpl::requestSucceeded):
* Modules/mediastream/RTCStatsRequestImpl.h:
(RTCStatsRequestImpl):
* Modules/mediastream/RTCStatsResponse.cpp:
(WebCore::RTCStatsResponse::create):
(WebCore::RTCStatsResponse::addReport):
(WebCore):
(WebCore::RTCStatsResponse::addElement):
(WebCore::RTCStatsResponse::addStatistic):
* Modules/mediastream/RTCStatsResponse.h:
(RTCStatsResponse):
* WebCore.gypi:
* platform/chromium/support/WebRTCStatsRequest.cpp:
(WebKit::WebRTCStatsRequest::response):
(WebKit):
(WebKit::WebRTCStatsRequest::requestSucceeded):
* platform/chromium/support/WebRTCStatsResponse.cpp: Added.
(WebKit):
(WebKit::WebRTCStatsResponse::WebRTCStatsResponse):
(WebKit::WebRTCStatsResponse::assign):
(WebKit::WebRTCStatsResponse::reset):
(WebKit::WebRTCStatsResponse::operator WTF::PassRefPtr<WebCore::RTCStatsResponseBase>):
(WebKit::WebRTCStatsResponse::addReport):
(WebKit::WebRTCStatsResponse::addElement):
(WebKit::WebRTCStatsResponse::addStatistic):
* platform/mediastream/RTCStatsRequest.h:
(WebCore):
(RTCStatsRequest):
* platform/mediastream/RTCStatsResponseBase.h: Added.
(WebCore):
(RTCStatsResponseBase):
(WebCore::RTCStatsResponseBase::~RTCStatsResponseBase):
2012-10-02 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to get the web view that initiated a custom URI request to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=97895
Reviewed by Martin Robinson.
* platform/network/NetworkingContext.h:
(NetworkingContext): Add initiatingPageID().
* platform/network/ResourceHandle.h:
(ResourceHandle): Add static method
getSoupRequestInitiaingPageID().
* platform/network/ResourceHandleInternal.h:
(ResourceHandleInternal): Add initiatingPageID().
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandleInternal::initiatingPageID): Get the
initiating page ID of the resource handle networking context.
(WebCore::setSoupRequestInitiaingPageID): Helper function to
attach a page ID to a SoupRequest.
(WebCore::startHTTPRequest): Call setSoupRequestInitiaingPageID()
to attch the initiating page ID to the SoupRequest.
(WebCore::startNonHTTPRequest): Ditto.
(WebCore::ResourceHandle::getSoupRequestInitiaingPageID): Static
method to get the page ID attached to a SoupRequest.
2012-10-03 Kent Tamura <tkent@chromium.org>
Introduce DateComponents::minimumYear and maximumYear
https://bugs.webkit.org/show_bug.cgi?id=98230
Reviewed by Kentaro Hara.
Share same difinitions in DateComponents.cpp and DateTimeFieldElements.cpp.
No new tests. This doesn't change any bahevior.
* platform/DateComponents.h:
(WebCore::DateComponents::minimumYear): Moved from DateComponents.cpp.
(WebCore::DateComponents::maximumYear): ditto.
* platform/DateComponents.cpp:
(WebCore): Move out static minimumYear and maximumYear.
(WebCore::DateComponents::parseYear): Use DateCompnents::minimumYear and/or maximumYear.
(WebCore::withinHTMLDateLimits): ditto.
(WebCore::DateComponents::parseWeek): ditto.
(WebCore::DateComponents::setMonthsSinceEpoch): ditto.
(WebCore::DateComponents::setMillisecondsSinceEpochForWeek): ditto.
* html/shadow/DateTimeFieldElements.cpp:
(WebCore): Remove minimumYear and maximumYear.
(WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement):
Use DateComponents::minimumYear and maximumYear.
2012-10-02 Arko Saha <arko@motorola.com>
Microdata: itemprop names must not override builtin properties.
https://bugs.webkit.org/show_bug.cgi?id=98025
Reviewed by Kentaro Hara.
We should look in the prototype for functions before assuming it as
an item's name. Return false if the prototype of the object has a
property (function) with propertyName.
Named properties Spec: http://dev.w3.org/2006/webapi/WebIDL/#idl-named-properties
Named property visibility algorithm:
http://dev.w3.org/2006/webapi/WebIDL/#indexed-and-named-properties
...
7. If the result of calling the [[HasProperty]] internal method on
prototype with property name P is true, then return false.
...
Also [OverrideBuiltins] is not declared for any of the properties,
hence no overriding is allowed in this case.
Test: fast/dom/MicroData/itemprop-names-override-builtin-properties.html
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
2012-10-02 Keishi Hattori <keishi@webkit.org>
REGRESSION (r129738): Suggestion picker label is placed in the wrong location
https://bugs.webkit.org/show_bug.cgi?id=98094
Reviewed by Kent Tamura.
We needed to reverse padding-left/right when rtl.
No new tests. Covered by date-suggestion-picker-appearance.html.
* Resources/pagepopups/suggestionPicker.css:
(.suggestion-list-entry .label):
(.rtl .suggestion-list-entry .label):
2012-10-02 Yury Semikhatsky <yurys@chromium.org>
Provide memory instrumentation for HashCountedSet
https://bugs.webkit.org/show_bug.cgi?id=98138
Reviewed by Pavel Feldman.
Replaced addHashCountedSet calls with addMember that now automatically
detects HashCountedSet and calls appropriate routine.
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
* loader/cache/CachedResource.cpp:
2012-10-02 Nandor Huszka <hnandor@inf.u-szeged.hu>
Buildfix after r130235.
Reviewed by Csaba Osztrogonác.
systemAllowsMultisamplingOnATICards was deleted from GraphicsContext3D,
but function body remained in GraphicsContext3DOpenGLES. Delete method body.
* platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2012-10-02 Kent Tamura <tkent@chromium.org>
Fix assertion failures on Chromium Debug bots for datetime/datetime-local input types.
* html/shadow/DateTimeFieldElements.cpp:
If a placeholder stirng is empty, use a sequence of "-".
(WebCore::DateTimeDayFieldElement::create):
(WebCore::DateTimeMonthFieldElement::create):
(WebCore::DateTimeYearFieldElement::create):
2012-10-02 MORITA Hajime <morrita@google.com>
https://bugs.webkit.org/show_bug.cgi?id=98134
[Refactoring] StyleResolver::matchScopedAuthorRules() could be simpler.
Reviewed by Dimitri Glazkov.
matchScopedAuthorRules() did have some optimization which only
makes sense for heavily nested shadow tree. However, we don't see
such type of usage of Shadow DOM and this looks premature
optimization. This change unified its triple for loop into one,
which makes the code much simpler.
No new tests. Covered by existing tests.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::matchScopedAuthorRules):
2012-10-02 Kent Tamura <tkent@chromium.org>
Introduce Localizer::dateTimeFormatWithSecond and dateTimeFormatWithoutSecond
https://bugs.webkit.org/show_bug.cgi?id=98229
Reviewed by Kentaro Hara.
Unify identical code in DateTimeInputType and DateTimeLocalInputType as
Localizer member functions.
They still have some common code. We'll address it later.
No new tests. This doesn't change any behavior.
* platform/text/Localizer.h:
(Localizer): Add dateTimeFormatWithSecond and dateTimeFormatWithoutSecond.
* platform/text/Localizer.cpp:
(WebCore::Localizer::dateTimeFormatWithSecond):
Implemented. Just concatenating dateFormat, a space, and timeFormat.
(WebCore::Localizer::dateTimeFormatWithoutSecond):
Implemented. Just concatenating dateFormat, a space, and shortTimeFormat.
* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::setupLayoutParameters):
Use dateTimeFormatWithSecond and dateTimeFormatWithoutSecond.
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::setupLayoutParameters): ditto.
2012-10-03 Kent Tamura <tkent@chromium.org>
Refactoring: DateTimeEditBuilder had better hold LayoutParameters
https://bugs.webkit.org/show_bug.cgi?id=98228
Reviewed by Kentaro Hara.
Stop copying multiple members of LayoutParameters in DateTimeEditBuilder
constructor. This change improves code size and runtime cost.
No new tests. This doesn't change user-visible behavior.
* html/shadow/DateTimeEditElement.cpp:
(DateTimeEditBuilder): Add a comment about lifetime of objects.
(WebCore::DateTimeEditBuilder::stepRange):
Added. A helper to access m_parameters.stepRange.
(WebCore::DateTimeEditBuilder::DateTimeEditBuilder):
Remove m_stepRange, m_localizer, m_placeholderFor* members.
Add m_parameters.
(WebCore::DateTimeEditBuilder::needMillisecondField):
Use stepRange() instead of m_stepRange.
(WebCore::DateTimeEditBuilder::visitField):
Use m_parameters.placeholderFor*.
(WebCore::DateTimeEditBuilder::shouldMillisecondFieldReadOnly):
Use stepRange() instead of m_stepRange.
(WebCore::DateTimeEditBuilder::shouldMinuteFieldReadOnly): ditto.
(WebCore::DateTimeEditBuilder::shouldSecondFieldReadOnly): ditto.
2012-10-02 Kent Tamura <tkent@chromium.org>
Implement LocaleICU::dateFormat
https://bugs.webkit.org/show_bug.cgi?id=98118
Reviewed by Hajime Morita.
http://trac.webkit.org/changeset/130127 introduced
Localizer::dateFormat, and this is its implementation for LocaleICU
classs. The code is going to be used when
ENABLE_INPUT_MULTIPLE_FIELDS_UI is enabled.
No new tests. The function is not used yet.
* platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::dateFormat):
Implemented. Note that m_shortDateFormat is a UDateFormat object, which
knows various format information.
* platform/text/LocaleICU.h:
(LocaleICU): Add m_dateFormat to cache the format string.
2012-10-02 Kent Tamura <tkent@chromium.org>
[Mac][Chromium-Mac] Implement LocaleMac::dateFormat
https://bugs.webkit.org/show_bug.cgi?id=98116
Reviewed by Hajime Morita.
http://trac.webkit.org/changeset/130127 introduced
Localizer::dateFormat, and this is its implementation for LocaleICU
classs. The code is going to be used when
ENABLE_INPUT_MULTIPLE_FIELDS_UI is enabled.
No new tests. The function is not used yet.
* platform/text/mac/LocaleMac.h:
(LocaleMac): Declare m_dateFormat.
* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::dateFormat): Implemented.
2012-10-02 Kent Tamura <tkent@chromium.org>
[Chromium-Win] Implement LocaleWin::dateFormat
https://bugs.webkit.org/show_bug.cgi?id=98117
Reviewed by Kentaro Hara.
http://trac.webkit.org/changeset/130127 introduced
Localizer::dateFormat, and this is its implementation for LocaleICU
classs. The code is going to be used when
ENABLE_INPUT_MULTIPLE_FIELDS_UI is enabled.
Tests: Added a new test to WebKit/chromium/tests/LocaleWinTest.cpp.
* platform/text/LocaleWin.cpp:
(WebCore::parseDateFormat):
Fix a continuous apostrophes parsing bug; "abc''''def" produced "abc'''def"
(WebCore::appendAsLDMLLiteral):
A helper function to make a literal string for LDML.
(WebCore::convertWindowsDateFormatToLDML):
Creates an LDML format from a parsed date format tokens.
(WebCore::LocaleWin::dateFormat):
Implemented. This uses convertWindowsDateFormatToLDML.
(WebCore::LocaleWin::dateFormat):
Added for testing. The source windows format is specified as a function
argument.
* platform/text/LocaleWin.h:
(LocaleWin): Declare m_dateFormat and dateFormat().
2012-10-02 Ian Vollick <vollick@chromium.org>
[chromium] Fix spelling of isNVIDIA override in Extensions3DChromium
https://bugs.webkit.org/show_bug.cgi?id=98219
Reviewed by Dean Jackson.
The override in Extensions3dChromium should have been spelled isNVIDIA, not isNVidia.
No new tests. No change in functionality.
* platform/graphics/chromium/Extensions3DChromium.h:
(WebCore::Extensions3DChromium::isNVIDIA):
2012-10-02 Anders Carlsson <andersca@apple.com>
Try to fix the Snow Leopard build.
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2012-10-02 Joshua Bell <jsbell@chromium.org>
Add htons/htonl definitions and implementations
https://bugs.webkit.org/show_bug.cgi?id=98054
Reviewed by Darin Adler.
Update users of htons and friends to use new wtf/ByteOrder.h header.
No new tests - just refactoring.
* platform/graphics/WOFFFileFormat.cpp:
* platform/graphics/chromium/VDMXParser.cpp:
== Rolled over to ChangeLog-2012-10-02 ==