952c19f44d844bb7e8ee7bfde37e81adc5aee5a1
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-13  Mihnea Ovidenie  <mihnea@adobe.com>
2
3         Crash in RenderFlowThread::setRegionBoxesRegionStyle
4         https://bugs.webkit.org/show_bug.cgi?id=78298
5
6         Reviewed by David Hyatt.
7
8         Test: fast/regions/set-box-style-in-region-crash.html
9
10         We have to make sure that anonymous block objects get their information in RenderFlowThread
11         removed properly.
12
13         * dom/Node.cpp:
14         (WebCore::Node::diff):
15         Correct a comment.
16         * rendering/RenderBlock.cpp:
17         (WebCore::RenderBlock::collapseAnonymousBoxChild):
18         Remove the information for anonymous block from render flow thread.
19         * rendering/RenderFlowThread.cpp:
20         (WebCore::RenderFlowThread::removeFlowChildInfo):
21         (WebCore):
22         (WebCore::RenderFlowThread::setRegionRangeForBox):
23         Do not set region range if the flow thread does not have regions.
24         * rendering/RenderFlowThread.h:
25         * rendering/RenderObject.cpp:
26         (WebCore::RenderObject::willBeDestroyed):
27         Add an assert to make sure that after we remove an object, there is no remaining info
28         in any render flow thread.
29
30 2012-02-13  Tony Chang  <tony@chromium.org>
31
32         Unreviewed, rolling out r107582.
33         http://trac.webkit.org/changeset/107582
34         https://bugs.webkit.org/show_bug.cgi?id=78349
35
36         Broke three inspector interactive_ui_tests
37
38         * English.lproj/localizedStrings.js:
39         * inspector/front-end/DebuggerPresentationModel.js:
40         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
41         * inspector/front-end/ScriptsNavigator.js:
42         (WebInspector.ScriptsNavigator.prototype._removeUISourceCode.get while):
43         (WebInspector.ScriptsNavigator.prototype._removeUISourceCode):
44         (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
45         * inspector/front-end/ScriptsPanel.js:
46         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
47         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
48         * inspector/front-end/Settings.js:
49         (WebInspector.ExperimentsSettings):
50         * inspector/front-end/SettingsScreen.js:
51         (WebInspector.SettingsScreen):
52
53 2012-02-13  Abhishek Arya  <inferno@chromium.org>
54
55         Incorrect children placement in multi-column layout.
56         https://bugs.webkit.org/show_bug.cgi?id=78160
57
58         Reviewed by David Hyatt.
59
60         Test: fast/multicol/span/clone-before-after-content-crash.html
61
62         * rendering/RenderBlock.cpp:
63         (WebCore::RenderBlock::clone): no longer need to take care of making
64         children noninline (remove fix r105769) since moveChild functions take
65         care of adding the child properly if type of children differ. this
66         function just makes sure to set the right value of childrenInline property.
67         (WebCore::RenderBlock::splitBlocks): similar to moveChild functions below.
68         (WebCore::RenderBlock::moveChildTo): when child is fullRemoveInsert (across
69         different parents, e.g clones), we should use addChild function to make sure
70         it handles the case of different type of children between fromBlock and
71         toBlock correctly (specifically making children non-inline/wrapping inline
72         children under anonymous blocks.).
73         (WebCore::RenderBlock::moveChildrenTo):
74         * rendering/RenderBlock.h:
75         (RenderBlock):
76         (WebCore::RenderBlock::moveAllChildrenTo): Rename to->toBlock.
77         (WebCore::RenderBlock::moveChildrenTo): Rename to->toBlock.
78
79 2012-02-13  Stephen White  <senorblanco@chromium.org>
80
81         [chromium] Implement Brightness and Contrast filters on composited
82         layers.  Fix Saturation filter.
83         https://bugs.webkit.org/show_bug.cgi?id=78527
84
85         Reviewed by Kenneth Russell.
86
87         Will be covered by existing tests in css3/filters, when enabled.
88
89         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
90         (WebCore::CCRenderSurfaceFilters::apply):
91
92 2012-02-13  Anders Carlsson  <andersca@apple.com>
93
94         Turn off edge antialiasing for tile cache tile layers
95         https://bugs.webkit.org/show_bug.cgi?id=78533
96         <rdar://problem/10710798>
97
98         Reviewed by Sam Weinig.
99
100         * platform/graphics/ca/mac/TileCache.mm:
101         (WebCore::TileCache::createTileLayer):
102
103 2012-02-13  Enrica Casucci  <enrica@apple.com>
104
105         Build fix. Unreviewed.
106
107         * WebCore.xcodeproj/project.pbxproj:
108
109 2012-02-13  Brady Eidson  <beidson@apple.com>
110
111         <rdar://problem/7196487> and https://bugs.webkit.org/show_bug.cgi?id=26777
112         Add https pages to the page cache in some cases
113
114         Reviewed by Anders Carlsson.
115
116         Test: http/tests/navigation/https-in-page-cache.html
117
118         * history/PageCache.cpp:
119         (WebCore::PageCache::canCachePageContainingThisFrame): Allow HTTPS pages that do not specify cache-control: no-cache
120           or cache-control: no-store into the page cache. This will match Firefox's behavior for HTTPS in their bfcache.
121
122 2012-02-10  Enrica Casucci  <enrica@apple.com>
123
124         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
125         https://bugs.webkit.org/show_bug.cgi?id=78282
126
127         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
128         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
129         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
130         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
131         interface but this one more step in the direction of removing access to NSPasteboard from
132         the WebProcess.
133         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
134
135         Reviewed by Anders Carlsson.
136
137         No new tests. No change in behavior, just code refactoring.
138
139         * WebCore.exp.in: Added exported class PlatformPasteboard.
140         * WebCore.xcodeproj/project.pbxproj: Added new files to the build.
141         * editing/mac/EditorMac.mm:
142         (WebCore::Editor::writeSelectionToPasteboard): New method signature that doesn't use OBJ-C types.
143         * platform/Pasteboard.h:
144
145         * platform/PasteboardStrategy.h: Added PasteboardStrategy abstract class.
146         * platform/PlatformPasteboard.h: Added. This class implements access to NSPasteboard.
147         * platform/PlatformStrategies.h:
148         (WebCore::PlatformStrategies::pasteboardStrategy): Added.
149         * platform/mac/DragDataMac.mm:
150         (WebCore::DragData::canSmartReplace):
151         (WebCore::insertablePasteboardTypes): 
152         (WebCore::DragData::asURL):
153         * platform/mac/PasteboardMac.mm:
154         (WebCore::selectionPasteboardTypes): Changed to use Vector<String> instead of NSArray.
155         (WebCore::writableTypesForURL): Ditto.
156         (WebCore::createWritableTypesForImage): Ditto.
157         (WebCore::writableTypesForImage): Ditto.
158         (WebCore::Pasteboard::Pasteboard): Removed access to NSPasteboard.
159         (WebCore::Pasteboard::clear): Modified to use platformStrategies()->pasteboardStrategy().
160         (WebCore::Pasteboard::writeSelectionForTypes): Ditto.
161         (WebCore::Pasteboard::writePlainText): Ditto.
162         (WebCore::Pasteboard::writeSelection): Ditto.
163         (WebCore::writeURLForTypes): Ditto.
164         (WebCore::Pasteboard::writeURL): Ditto.
165         (WebCore::writeFileWrapperAsRTFDAttachment): Ditto.
166         (WebCore::Pasteboard::writeImage): Ditto.
167         (WebCore::Pasteboard::writeClipboard): Ditto.
168         (WebCore::Pasteboard::canSmartReplace): Ditto.
169         (WebCore::Pasteboard::plainText): Ditto.
170         (WebCore::documentFragmentWithRTF): Ditto.
171         (WebCore::Pasteboard::documentFragment): Ditto.
172         * platform/mac/PlatformPasteboardMac.mm: Added.
173         (WebCore::PlatformPasteboard::PlatformPasteboard):
174         (WebCore::PlatformPasteboard::getTypes):
175         (WebCore::PlatformPasteboard::bufferForType):
176         (WebCore::PlatformPasteboard::getPathnamesForType):
177         (WebCore::PlatformPasteboard::stringForType):
178         (WebCore::PlatformPasteboard::copy):
179         (WebCore::PlatformPasteboard::setTypes):
180         (WebCore::PlatformPasteboard::setBufferForType):
181         (WebCore::PlatformPasteboard::setPathnamesForType):
182         (WebCore::PlatformPasteboard::setStringForType):
183
184 2012-02-13  Raul Hudea  <rhudea@adobe.com>
185
186         [CSS Regions] Inconsistent text selection behavior in regions
187         https://bugs.webkit.org/show_bug.cgi?id=76456
188
189         Reviewed by David Hyatt.
190
191         Use the proper bounding rect when doing hit testing on flow threads.
192         Based on initial patch by Alexandru Chiculita.
193
194         Test: fast/regions/hit-test-region.html
195
196         * rendering/RenderFlowThread.cpp:
197         (WebCore::RenderFlowThread::hitTestRegion):
198         * rendering/RenderLayer.cpp:
199         (WebCore::RenderLayer::hitTest):
200         * rendering/RenderRegion.cpp:
201         (WebCore::RenderRegion::nodeAtPoint):
202
203 2012-02-12  Andy Estes  <aestes@apple.com>
204
205         [Windows] Add API to enable inverted color drawing on a WebView
206         https://bugs.webkit.org/show_bug.cgi?id=77382
207
208         Reviewed by Adam Roben.
209
210         Implement CACFLayerTreeHost::setShouldInvertColors(), which instructs
211         the layer tree host to render composited content with inverted colors.
212
213         Test: platform/win/inverted-colors/non-composited.html
214
215         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
216         (WebCore::CACFLayerTreeHost::setShouldInvertColors):
217         (WebCore):
218         * platform/graphics/ca/win/CACFLayerTreeHost.h:
219         (CACFLayerTreeHost):
220         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Use
221         SOFT_LINK_OPTIONAL since WKCACFViewSetShouldInvertColors might not
222         exist in older versions of WebKitQuartzCoreAdditions.
223         (WebCore::WKCACFViewLayerTreeHost::setShouldInvertColors):
224         (WebCore):
225         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
226         (WKCACFViewLayerTreeHost):
227
228 2012-02-13  Anders Carlsson  <andersca@apple.com>
229
230         The scrolling tree needs to know about the back forward state of the page
231         https://bugs.webkit.org/show_bug.cgi?id=78523
232         <rdar://problem/10756548>
233
234         Reviewed by Sam Weinig.
235
236         In order to know if a page should rubber-band in the horizontal direction, the scrolling tree
237         needs to know about the back/forward state of the page.
238
239         * WebCore.exp.in:
240         Export new symbols.
241
242         * WebCore.xcodeproj/project.pbxproj:
243         * page/scrolling/ScrollingTree.cpp:
244         (WebCore::ScrollingTree::ScrollingTree):
245         Initialize m_canGoBack and m_canGoForward.
246
247         (WebCore::ScrollingTree::updateBackForwardState):
248         Update m_canGoBack and m_canGoForward.
249
250         * page/scrolling/ScrollingTree.h:
251         (WebCore::ScrollingTree::canGoBack):
252         (WebCore::ScrollingTree::canGoForward):
253         Add getters.
254
255         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
256         (WebCore::ScrollingTreeNodeMac::shouldRubberBandInDirection):
257         Implement this, using canGoBack and canGoForward.
258
259 2012-02-13  Brady Eidson  <beidson@apple.com>
260
261         https://bugs.webkit.org/show_bug.cgi?id=78520
262         Cleanup PageCache::canCachePageContainingThisFrame readability
263
264         Reviewed by Anders Carlsson.
265
266         No new tests. (Code cleanup, no change in behavior)
267
268         * history/PageCache.cpp:
269         (WebCore::PageCache::canCachePageContainingThisFrame): Store three commonly
270           getter-accessed variables in local variables for readability.
271
272 2012-02-13  Timothy Hatcher  <timothy@apple.com>
273
274         Don't include a separator before the "Inspect Element" context menu item when the context menu is empty.
275
276         https://webkit.org/b/78312
277
278         Reviewed by Brian Weinstein.
279
280         * page/ContextMenuController.cpp:
281         (WebCore::ContextMenuController::addInspectElementItem): Check itemCount before appending the separator.
282         * platform/gtk/ContextMenuGtk.cpp:
283         (WebCore::ContextMenu::itemCount): Added. Implement so this builds on GTK.
284
285 2012-02-13  Patrick Gansterer  <paroga@webkit.org>
286
287         [WIN] Define HWND_MESSAGE if not done already
288         https://bugs.webkit.org/show_bug.cgi?id=78341
289
290         Reviewed by Adam Roben.
291
292         HWND_MESSAGE is not defined on WinCE.
293         Set it to 0 when not defined to avoid #ifdefs.
294
295         * platform/win/PasteboardWin.cpp:
296         (WebCore::Pasteboard::Pasteboard):
297         * platform/win/WindowsExtras.h:
298         (WebCore):
299
300 2012-02-13  Chris Fleizach  <cfleizach@apple.com>
301
302         AX: <mark> element should be exposed through attributes
303         https://bugs.webkit.org/show_bug.cgi?id=75727
304
305         Reviewed by Beth Dakin.
306
307         Exposes an attribute indicating that an element has highlighting through attributedStringForRange.
308         Also allows the search mechanism to find elements with this style.
309
310         Test: platform/mac/accessibility/attributed-string-includes-highlighting.html
311
312         * accessibility/AccessibilityObject.cpp:
313         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
314         (WebCore::AccessibilityObject::hasHighlighting):
315         * accessibility/AccessibilityObject.h:
316         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
317         (createAccessibilitySearchKeyMap):
318         (AXAttributeStringSetStyle):
319
320 2012-02-13  Chris Fleizach  <cfleizach@apple.com>
321
322         AX: the web area should report that focus can be set to itself
323         https://bugs.webkit.org/show_bug.cgi?id=78272
324
325         Reviewed by Beth Dakin.
326
327         Test: platform/mac/accessibility/webarea-can-set-focus.html
328
329         * accessibility/AccessibilityRenderObject.cpp:
330         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
331         * accessibility/AccessibilityTable.cpp:
332         (WebCore::AccessibilityTable::isDataTable):
333            Fixed erroneous comment.
334
335 2012-02-13  Patrick Gansterer  <paroga@webkit.org>
336
337         Port RunLoop to WinCE
338         https://bugs.webkit.org/show_bug.cgi?id=76781
339
340         Reviewed by Adam Roben.
341
342         * platform/win/RunLoopWin.cpp:
343         (WebCore::RunLoop::registerRunLoopMessageWindowClass):
344
345 2012-02-10  Vsevolod Vlasov  <vsevik@chromium.org>
346
347         Web Inspector: Make ScriptsNavigator default file selector.
348         https://bugs.webkit.org/show_bug.cgi?id=78349
349
350         Reviewed by Pavel Feldman.
351
352         Moved ScriptsNavigator out of experiments.
353         Introduced new setting "useScriptsNavigator" with true as default value.
354         Updated scripts panel tests related to file selector.
355
356         Tests: inspector/debugger/scripts-combobox-file-selector-history.html
357                inspector/debugger/scripts-file-selector.html
358
359         * English.lproj/localizedStrings.js:
360         * inspector/front-end/DebuggerPresentationModel.js:
361         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
362         * inspector/front-end/ScriptsNavigator.js:
363         (WebInspector.ScriptsNavigator.prototype._removeUISourceCode):
364         (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
365         * inspector/front-end/ScriptsPanel.js:
366         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
367         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
368         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
369         * inspector/front-end/Settings.js:
370         (WebInspector.ExperimentsSettings):
371         * inspector/front-end/SettingsScreen.js:
372         (WebInspector.SettingsScreen):
373
374 2012-02-13  Andreas Kling  <awesomekling@apple.com>
375
376         Make HTMLTableCaptionElement inherit from HTMLElement.
377         <http://webkit.org/b/78505>
378
379         Reviewed by Antti Koivisto.
380
381         HTMLTableCaptionElement was already bypassing its base class (HTMLTablePartElement)
382         and calling up to HTMLElement in all its overrides. Just make it an HTMLElement
383         instead since it doesn't use anything from HTMLTablePartElement.
384         Remove parseAttribute() overload since it's no longer needed.
385
386         * html/HTMLTableCaptionElement.cpp:
387         (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
388         (WebCore::HTMLTableCaptionElement::isPresentationAttribute):
389         (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
390         * html/HTMLTableCaptionElement.h:
391
392 2012-02-13  Andreas Kling  <awesomekling@apple.com>
393
394         HTMLMarqueeElement: Don't cache presence of truespeed attribute.
395         <http://webkit.org/b/78483>
396
397         Reviewed by Antti Koivisto.
398
399         Out-of-line minimumDelay() and look up the "truespeed" attribute there instead
400         of caching the minimum delay in parseAttribute().
401         Remove HTMLMarqueeElement::parseAttribute() as it's no longer needed.
402
403         * html/HTMLMarqueeElement.cpp:
404         (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
405         (WebCore::HTMLMarqueeElement::minimumDelay):
406         * html/HTMLMarqueeElement.h:
407         (HTMLMarqueeElement):
408
409 2012-02-13  Andrey Kosyakov  <caseq@chromium.org>
410
411         Web Inspector: [refactoring] factor common timeline UI state into TimelinePresentationModel
412         https://bugs.webkit.org/show_bug.cgi?id=78501
413
414         Reviewed by Pavel Feldman.
415
416         * inspector/front-end/TimelineOverviewPane.js:
417         (WebInspector.TimelineOverviewPane):
418         (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
419         (WebInspector.TimelineOverviewPane.prototype.update):
420         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
421         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
422         (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
423         * inspector/front-end/TimelinePanel.js:
424         (WebInspector.TimelinePanel):
425         (WebInspector.TimelinePanel.prototype._createTopPane):
426         (WebInspector.TimelinePanel.prototype.get statusBarItems):
427         (WebInspector.TimelinePanel.prototype.get _recordStyles):
428         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
429         (WebInspector.TimelinePanel.prototype._createTimelineCategoryStatusBarCheckbox):
430         (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked):
431         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
432         (WebInspector.TimelinePanel.prototype.sidebarResized):
433         (WebInspector.TimelinePanel.prototype._updateBoundaries):
434         (WebInspector.TimelinePanel.prototype._showPopover):
435         (WebInspector.TimelinePresentationModel):
436         (WebInspector.TimelinePresentationModel.prototype.get categories):
437         (WebInspector.TimelinePresentationModel.prototype.addCategory):
438         (WebInspector.TimelinePresentationModel.prototype.setWindowPosition):
439         (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility):
440
441 2012-02-13  Joel Webber  <jgw@google.com>
442
443         Use requestAnimationFrame callbacks to pump CSS animations
444         https://bugs.webkit.org/show_bug.cgi?id=64591
445
446         Reviewed by James Robinson.
447
448         No new tests needed (covered by tests in animations/*).
449
450         * page/FrameView.cpp:
451         (WebCore::FrameView::serviceScriptedAnimations):
452         * page/animation/AnimationController.cpp:
453         (WebCore::AnimationControllerPrivate::updateAnimations):
454         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
455         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
456         (WebCore::AnimationControllerPrivate::animationFrameCallbackFired):
457         (WebCore::AnimationController::updateAnimations):
458         (WebCore::AnimationController::serviceAnimations):
459         * page/animation/AnimationController.h:
460         * page/animation/AnimationControllerPrivate.h:
461
462 2012-02-13  Patrick Gansterer  <paroga@webkit.org>
463
464         Add WindowsExtras.h
465         https://bugs.webkit.org/show_bug.cgi?id=78340
466
467         Reviewed by Adam Roben.
468
469         Add a new file to share common code for Win32/WinCE differences.
470
471         * platform/win/PopupMenuWin.cpp:
472         (WebCore::PopupMenuWin::PopupMenuWndProc):
473         * platform/win/RunLoopWin.cpp:
474         (WebCore::RunLoop::RunLoopWndProc):
475         * platform/win/WindowsExtras.h: Added.
476         (WebCore):
477         (WebCore::getWindowPointer):
478         (WebCore::setWindowPointer):
479
480 2012-02-13  Andreas Kling  <awesomekling@apple.com>
481
482         Don't mark element for style recalc when modifying its attribute style.
483         <http://webkit.org/b/78497>
484
485         Reviewed by Antti Koivisto.
486
487         StylePropertySet::setNeedsStyleRecalc() shouldn't do anything for attribute styles.
488         Their invalidation is handled exclusively by StyledElement::attributeChanged().
489         Elements with presentation attributes were being marked for style recalc twice,
490         once when the attribute changed, and again during attribute style update, below the
491         call to collectStyleForAttribute().
492
493         * css/StylePropertySet.cpp:
494         (WebCore::StylePropertySet::setNeedsStyleRecalc):
495
496 2012-02-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
497
498         Move attribute storage from NamedNodeMap to ElementAttributeData
499         https://bugs.webkit.org/show_bug.cgi?id=77674
500
501         Reviewed by Andreas Kling.
502
503         Move m_attributes vector from NamedNodeMap to ElementAttributeData. Make the
504         remaining callsites interact with ElementAttributeData if possible. The parsing
505         code is still interacting with NamedNodeMap, so some functions remained as
506         wrappers there. A next change will it use ElementAttributeData instead.
507
508         The code for DOM exported functions remained in NamedNodeMap. This implementation
509         should move to Element in a next change, too.
510
511         * dom/Attr.h:
512         (Attr):
513         * dom/Element.cpp:
514         (WebCore::Element::setAttribute):
515         (WebCore::Element::setAttributeInternal):
516         (WebCore::Element::parserSetAttributeMap):
517         (WebCore::Element::removeAttribute):
518         (WebCore::Element::hasAttribute):
519         (WebCore::Element::hasAttributeNS):
520         (WebCore::Element::normalizeAttributes):
521         * dom/Element.h:
522         (Element):
523         (WebCore::Element::ensureUpdatedAttributes):
524         (WebCore::Element::ensureAttributeData):
525         (WebCore):
526         (WebCore::Element::updatedAttributeData):
527         (WebCore::Element::ensureUpdatedAttributeData):
528         These *AttributeData functions are the correct correct way for callers to touch
529         the details of attribute storage. The "updated" variants will update invalid
530         attributes before return.
531
532         (WebCore::Element::setAttributesFromElement):
533         * dom/ElementAttributeData.cpp:
534         (WebCore::ElementAttributeData::~ElementAttributeData):
535         (WebCore):
536         (WebCore::ElementAttributeData::ensureInlineStyleDecl):
537         (WebCore::ElementAttributeData::addAttribute):
538         (WebCore::ElementAttributeData::removeAttribute):
539         (WebCore::ElementAttributeData::detachAttributesFromElement):
540         (WebCore::ElementAttributeData::copyAttributesToVector):
541         (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
542         (WebCore::ElementAttributeData::setAttributes): Make use of the assumption that
543         this will only be called with a valid Element, since the only call site is an
544         Element method.
545         (WebCore::ElementAttributeData::clearAttributes):
546         (WebCore::ElementAttributeData::replaceAttribute): Make use of the assumption
547         this will only be called with a valid Element, since the only call site return
548         early if there's no Element.
549         * dom/ElementAttributeData.h:
550         (ElementAttributeData):
551         (WebCore::ElementAttributeData::length):
552         (WebCore::ElementAttributeData::isEmpty):
553         (WebCore::ElementAttributeData::attributeItem):
554         (WebCore::ElementAttributeData::removeAttribute):
555         (WebCore):
556         (WebCore::ElementAttributeData::getAttributeItem):
557         (WebCore::ElementAttributeData::getAttributeItemIndex):
558         * dom/NamedNodeMap.cpp:
559         (WebCore::NamedNodeMap::getNamedItem):
560         (WebCore::NamedNodeMap::removeNamedItem):
561         (WebCore::NamedNodeMap::setNamedItem):
562         (WebCore::NamedNodeMap::item):
563         (WebCore::NamedNodeMap::detachFromElement):
564         * dom/NamedNodeMap.h:
565         (WebCore::NamedNodeMap::length):
566         (WebCore::NamedNodeMap::isEmpty):
567         (WebCore::NamedNodeMap::attributeItem):
568         (WebCore::NamedNodeMap::getAttributeItem):
569         (WebCore::NamedNodeMap::getAttributeItemIndex):
570         (WebCore::NamedNodeMap::shrinkToLength):
571         (WebCore::NamedNodeMap::reserveInitialCapacity):
572         (WebCore::NamedNodeMap::addAttribute):
573         (WebCore::NamedNodeMap::removeAttribute):
574         (NamedNodeMap):
575         * dom/StyledElement.cpp:
576         (WebCore::StyledElement::updateAttributeStyle):
577         * dom/StyledElement.h:
578         (WebCore::StyledElement::ensureInlineStyleDecl):
579         * html/HTMLInputElement.cpp:
580         (WebCore::HTMLInputElement::updateType):
581         * svg/properties/SVGAnimatedPropertySynchronizer.h:
582         * xml/parser/XMLDocumentParserQt.cpp:
583         (WebCore::XMLDocumentParser::XMLDocumentParser):
584
585 2012-02-13  Alexei Filippov  <alexeif@chromium.org>
586
587         Web Inspector: wrong percent calculations for empty snapshot.
588         https://bugs.webkit.org/show_bug.cgi?id=78329
589
590         Reviewed by Yury Semikhatsky.
591
592         * inspector/front-end/DetailedHeapshotGridNodes.js:
593         (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
594
595 2012-02-13  Alexei Filippov  <alexeif@chromium.org>
596
597         Web Inspector: add class filter to heap profiler.
598         https://bugs.webkit.org/show_bug.cgi?id=78362
599
600         Reviewed by Yury Semikhatsky.
601
602         * inspector/front-end/DataGrid.js:
603         (WebInspector.DataGrid.prototype.insertChild):
604         * inspector/front-end/DetailedHeapshotView.js:
605         (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
606         (WebInspector.HeapSnapshotConstructorsDataGrid):
607         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._nameFilterChanged):
608         (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
609         * inspector/front-end/heapProfiler.css:
610         (.detailed-heapshot-view .constructors-view-grid):
611         (.detailed-heapshot-view .constructors-view-toolbar):
612         (.detailed-heapshot-view .constructors-view-toolbar input.constructors-view-filter):
613
614 2012-02-13  Peter Rybin  <peter.rybin@gmail.com>
615
616         Web Inspector: In Inspector.json PropertyDescriptor.writable should be declared optional
617         https://bugs.webkit.org/show_bug.cgi?id=77917
618
619         Reviewed by Pavel Feldman.
620
621         Property descriptor is fixed in Inspector.json. Also retroactively in
622         0.1 and 1.0.
623         Injected script in instructed to never return null property values.
624
625         * inspector/InjectedScriptSource.js:
626         (.):
627         * inspector/Inspector-0.1.json:
628         * inspector/Inspector-1.0.json:
629         * inspector/Inspector.json:
630
631 2012-02-13  ChangSeok Oh  <shivamidow@gmail.com>
632
633         [GTK] Revise configuration for MHTML
634         https://bugs.webkit.org/show_bug.cgi?id=78364
635
636         Reviewed by Gustavo Noronha Silva.
637
638         Added mhtml directory and removed target files duplicated to build when enabling mhtml.
639         Archive.cpp, ArchiveFactory.cpp & their headers are included at the above line.
640         This duplication has caused build-break if mhtml is enabled.
641
642         No new tests, since no new features.
643
644         * GNUmakefile.am:
645         * GNUmakefile.list.am:
646
647 2012-02-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
648
649         [EFL] Drop support for the Curl network backend.
650         https://bugs.webkit.org/show_bug.cgi?id=77874
651
652         Reviewed by Eric Seidel.
653
654         Nobody seems to be maintaining the Curl backend in WebCore, the
655         EFL port developers all seem to be using the Soup backend and the
656         port itself has many features which are only implemented for the
657         latter.
658
659         No new tests, just some dependency plumbing.
660
661         * PlatformEfl.cmake: Build the glib/soup source files
662         unconditionally.
663         * platform/efl/FileSystemEfl.cpp: Remove ENABLE(GLIB_SUPPORT) check.
664
665 2012-02-13  Pavel Feldman  <pfeldman@google.com>
666
667         Web Inspector: wrap settings selector text and adding a rule with undoable actions.
668         https://bugs.webkit.org/show_bug.cgi?id=78482
669
670         Reviewed by Yury Semikhatsky.
671
672         Tests: inspector/styles/undo-add-new-rule.html
673                inspector/styles/undo-set-selector-text.html
674
675         * inspector/InspectorCSSAgent.cpp:
676         (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
677         (InspectorCSSAgent::StyleSheetAction):
678         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
679         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
680         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
681         (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
682         (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
683         (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
684         (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
685         (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
686         (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
687         (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
688         (InspectorCSSAgent::SetRuleSelectorAction):
689         (WebCore::InspectorCSSAgent::SetRuleSelectorAction::SetRuleSelectorAction):
690         (WebCore::InspectorCSSAgent::SetRuleSelectorAction::perform):
691         (WebCore::InspectorCSSAgent::SetRuleSelectorAction::undo):
692         (WebCore):
693         (InspectorCSSAgent::AddRuleAction):
694         (WebCore::InspectorCSSAgent::AddRuleAction::AddRuleAction):
695         (WebCore::InspectorCSSAgent::AddRuleAction::perform):
696         (WebCore::InspectorCSSAgent::AddRuleAction::undo):
697         (WebCore::InspectorCSSAgent::AddRuleAction::newRuleId):
698         (WebCore::InspectorCSSAgent::setStyleSheetText):
699         (WebCore::InspectorCSSAgent::setPropertyText):
700         (WebCore::InspectorCSSAgent::toggleProperty):
701         (WebCore::InspectorCSSAgent::setRuleSelector):
702         (WebCore::InspectorCSSAgent::addRule):
703         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
704         (WebCore::InspectorCSSAgent::bindStyleSheet):
705         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
706         (WebCore::InspectorCSSAgent::styleSheetChanged):
707         * inspector/InspectorCSSAgent.h:
708         (InspectorCSSAgent):
709         * inspector/InspectorStyleSheet.cpp:
710         (WebCore::InspectorStyleSheet::create):
711         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
712         (WebCore::InspectorStyleSheet::reparseStyleSheet):
713         (WebCore::InspectorStyleSheet::ruleSelector):
714         (WebCore):
715         (WebCore::InspectorStyleSheet::setRuleSelector):
716         (WebCore::InspectorStyleSheet::addRule):
717         (WebCore::InspectorStyleSheet::deleteRule):
718         (WebCore::InspectorStyleSheet::setPropertyText):
719         (WebCore::InspectorStyleSheet::toggleProperty):
720         (WebCore::InspectorStyleSheet::fireStyleSheetChanged):
721         (WebCore::InspectorStyleSheetForInlineStyle::create):
722         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
723         * inspector/InspectorStyleSheet.h:
724         (InspectorStyleSheet):
725         (WebCore::InspectorStyleSheet::styleId):
726         (InspectorStyleSheetForInlineStyle):
727
728 2012-02-13  Hayato Ito  <hayato@chromium.org>
729
730         Rename names defined in ContentInclutionSelector to more intuitive names.
731         https://bugs.webkit.org/show_bug.cgi?id=78333
732
733         Reviewed by Hajime Morita.
734
735         This is just refactoring, renaming non-intuitive names to more intuitive names
736         so that they match the terms in the spec.
737
738         No tests. No change in behavior.
739
740         * CMakeLists.txt:
741         * GNUmakefile.list.am:
742         * Target.pri:
743         * WebCore.gypi:
744         * WebCore.vcproj/WebCore.vcproj:
745         * WebCore.xcodeproj/project.pbxproj:
746         * dom/NodeRenderingContext.cpp:
747         (WebCore::NodeRenderingContext::NodeRenderingContext):
748         (WebCore::nextRendererOf):
749         (WebCore::previousRendererOf):
750         (WebCore::firstRendererOf):
751         (WebCore::lastRendererOf):
752         (WebCore::NodeRenderingContext::nextRenderer):
753         (WebCore::NodeRenderingContext::previousRenderer):
754         * dom/NodeRenderingContext.h:
755         (NodeRenderingContext):
756         (WebCore::NodeRenderingContext::insertionPoint):
757         * dom/ShadowRoot.cpp:
758         (WebCore::ShadowRoot::insertionPointFor):
759         (WebCore::ShadowRoot::isSelectorActive):
760         (WebCore::ShadowRoot::attach):
761         (WebCore::ShadowRoot::selector):
762         (WebCore::ShadowRoot::ensureSelector):
763         * dom/ShadowRoot.h:
764         (WebCore):
765         (ShadowRoot):
766         * html/shadow/ContentInclusionSelector.h: Removed.
767         * html/shadow/HTMLContentElement.cpp:
768         (WebCore::HTMLContentElement::HTMLContentElement):
769         (WebCore::HTMLContentElement::attach):
770         (WebCore::HTMLContentElement::detach):
771         * html/shadow/HTMLContentElement.h:
772         (WebCore):
773         (WebCore::HTMLContentElement::selections):
774         (WebCore::HTMLContentElement::hasSelection):
775         (HTMLContentElement):
776         * html/shadow/HTMLContentSelector.cpp: Renamed from Source/WebCore/html/shadow/ContentInclusionSelector.cpp.
777         (WebCore):
778         (WebCore::HTMLContentSeleciton::append):
779         (WebCore::HTMLContentSeleciton::unlink):
780         (WebCore::HTMLContentSelectionList::HTMLContentSelectionList):
781         (WebCore::HTMLContentSelectionList::~HTMLContentSelectionList):
782         (WebCore::HTMLContentSelectionList::find):
783         (WebCore::HTMLContentSelectionList::clear):
784         (WebCore::HTMLContentSelectionList::append):
785         (WebCore::HTMLContentSelector::HTMLContentSelector):
786         (WebCore::HTMLContentSelector::~HTMLContentSelector):
787         (WebCore::HTMLContentSelector::select):
788         (WebCore::HTMLContentSelector::unselect):
789         (WebCore::HTMLContentSelector::findFor):
790         (WebCore::HTMLContentSelector::didSelect):
791         (WebCore::HTMLContentSelector::willSelectOver):
792         * html/shadow/HTMLContentSelector.h: Added.
793         (WebCore):
794         (HTMLContentSeleciton):
795         (WebCore::HTMLContentSeleciton::insertionPoint):
796         (WebCore::HTMLContentSeleciton::node):
797         (WebCore::HTMLContentSeleciton::next):
798         (WebCore::HTMLContentSeleciton::previous):
799         (WebCore::HTMLContentSeleciton::HTMLContentSeleciton):
800         (WebCore::HTMLContentSeleciton::create):
801         (HTMLContentSelectionList):
802         (WebCore::HTMLContentSelectionList::first):
803         (WebCore::HTMLContentSelectionList::last):
804         (WebCore::HTMLContentSelectionList::isEmpty):
805         (HTMLContentSelectionSet):
806         (WebCore::HTMLContentSelectionSet::add):
807         (WebCore::HTMLContentSelectionSet::remove):
808         (WebCore::HTMLContentSelectionSet::isEmpty):
809         (Translator):
810         (WebCore::HTMLContentSelectionSet::Translator::hash):
811         (WebCore::HTMLContentSelectionSet::Translator::equal):
812         (WebCore::HTMLContentSelectionSet::Hash::hash):
813         (WebCore::HTMLContentSelectionSet::Hash::equal):
814         (Hash):
815         (WebCore::HTMLContentSelectionSet::find):
816         (HTMLContentSelector):
817         (WebCore::HTMLContentSelector::hasCandidates):
818         * testing/Internals.cpp:
819         (WebCore::Internals::includerFor):
820
821 2012-02-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
822
823         [Texmap] morphing-cubes animation appears too close when clicking the button
824         https://bugs.webkit.org/show_bug.cgi?id=78476
825
826         Fixed bug in TextureMapperAnimation that made transform animations that go to/from identity
827         to not work.
828
829         Reviewed by Simon Hausmann.
830
831         No behavior changes.
832
833         * platform/graphics/texmap/TextureMapperAnimation.cpp:
834         (WebCore::applyTransformAnimation):
835
836 2012-02-13  Yosifumi Inoue  <yosin@chromium.org>
837
838         [Forms] Use enum instead of bool for HTMLInputElement::setValue
839         https://bugs.webkit.org/show_bug.cgi?id=75217
840
841         Reviewed by Kent Tamura.
842
843         Use TextFieldEventBehavior enum instead of sendChangeEvent bool
844         parameter for HTMLInputElement::setValue method. This new enum
845         parameter will be extended to dispatch input and change events
846         when user agent populates input field as specified in
847         "Common events behavior" of HTML5 standard.
848
849         This patch is required for fixing bug 75067 "[Forms] Spin buttons
850         of number input type should fire both input and change event."
851
852         No new tests. Existing tests cover this patch.
853
854         * html/BaseButtonInputType.cpp:
855         (WebCore::BaseButtonInputType::setValue):
856         * html/BaseButtonInputType.h:
857         * html/BaseCheckableInputType.cpp:
858         (WebCore::BaseCheckableInputType::setValue):
859         * html/BaseCheckableInputType.h:
860         * html/BaseDateAndTimeInputType.cpp:
861         (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
862         * html/BaseDateAndTimeInputType.h:
863         * html/CheckboxInputType.cpp:
864         (WebCore::CheckboxInputType::willDispatchClick):
865         * html/ColorInputType.cpp:
866         (WebCore::ColorInputType::setValue):
867         * html/ColorInputType.h:
868         * html/FileInputType.cpp:
869         (WebCore::FileInputType::setValue):
870         * html/FileInputType.h:
871         * html/HTMLInputElement.cpp:
872         (WebCore::HTMLInputElement::applyStep):
873         (WebCore::HTMLInputElement::stepUp):
874         (WebCore::HTMLInputElement::stepDown):
875         (WebCore::HTMLInputElement::setChecked):
876         (WebCore::HTMLInputElement::setValueForUser):
877         (WebCore::HTMLInputElement::setValue):
878         (WebCore::HTMLInputElement::setValueInternal):
879         (WebCore::HTMLInputElement::setValueAsNumber):
880         (WebCore::HTMLInputElement::stepUpFromRenderer):
881         * html/HTMLInputElement.h:
882         * html/HTMLTextFormControlElement.h:
883         * html/HiddenInputType.cpp:
884         (WebCore::HiddenInputType::setValue):
885         * html/HiddenInputType.h:
886         * html/InputType.cpp:
887         (WebCore::InputType::setValueAsNumber):
888         (WebCore::InputType::setValue):
889         * html/InputType.h:
890         * html/NumberInputType.cpp:
891         (WebCore::NumberInputType::setValueAsNumber):
892         * html/NumberInputType.h:
893         * html/RadioInputType.cpp:
894         (WebCore::RadioInputType::willDispatchClick):
895         * html/RangeInputType.cpp:
896         (WebCore::RangeInputType::setValueAsNumber):
897         (WebCore::RangeInputType::handleKeydownEvent):
898         (WebCore::RangeInputType::setValue):
899         * html/RangeInputType.h:
900         * html/TextFieldInputType.cpp:
901         (WebCore::TextFieldInputType::setValue):
902         * html/TextFieldInputType.h:
903
904 2012-02-13  Andreas Kling  <awesomekling@apple.com>
905
906         Move attribute style invalidation to attributeChanged().
907         <http://webkit.org/b/78461>
908
909         Reviewed by Antti Koivisto.
910
911         Moved attribute style invalidation out of the parseAttribute() overloads
912         and added an "isPresentationAttribute(Attribute*) virtual to StyledElement.
913         Returning true for a given Attribute will cause attribute style invalidation
914         when that attribute passes through attributeChanged().
915
916         Removed a couple of parseAttribute() overloads whose only remaining purpose
917         was invalidating attribute style.
918
919         For form elements that deliberately don't map the "align" attribute, added
920         short-circuits in isPresentationAttribute instead of falling back to the
921         respective base class (which may othweise then map "align")
922
923         * dom/StyledElement.cpp:
924         (WebCore::StyledElement::attributeChanged):
925         * dom/StyledElement.h:
926         (WebCore::StyledElement::isPresentationAttribute):
927         * html/HTMLBRElement.cpp:
928         (WebCore::HTMLBRElement::isPresentationAttribute):
929         * html/HTMLBRElement.h:
930         * html/HTMLBodyElement.cpp:
931         (WebCore::HTMLBodyElement::isPresentationAttribute):
932         (WebCore::HTMLBodyElement::collectStyleForAttribute):
933         (WebCore::HTMLBodyElement::parseAttribute):
934         * html/HTMLBodyElement.h:
935         * html/HTMLButtonElement.cpp:
936         (WebCore::HTMLButtonElement::isPresentationAttribute):
937         (WebCore::HTMLButtonElement::parseAttribute):
938         * html/HTMLButtonElement.h:
939         * html/HTMLDivElement.cpp:
940         (WebCore::HTMLDivElement::isPresentationAttribute):
941         * html/HTMLDivElement.h:
942         * html/HTMLElement.cpp:
943         (WebCore::HTMLElement::isPresentationAttribute):
944         (WebCore::HTMLElement::parseAttribute):
945         * html/HTMLElement.h:
946         * html/HTMLEmbedElement.cpp:
947         (WebCore::HTMLEmbedElement::isPresentationAttribute):
948         (WebCore::HTMLEmbedElement::parseAttribute):
949         * html/HTMLEmbedElement.h:
950         * html/HTMLFontElement.cpp:
951         (WebCore::HTMLFontElement::isPresentationAttribute):
952         * html/HTMLFontElement.h:
953         * html/HTMLFrameSetElement.cpp:
954         (WebCore::HTMLFrameSetElement::isPresentationAttribute):
955         (WebCore::HTMLFrameSetElement::parseAttribute):
956         * html/HTMLFrameSetElement.h:
957         * html/HTMLHRElement.cpp:
958         (WebCore::HTMLHRElement::isPresentationAttribute):
959         (WebCore::HTMLHRElement::collectStyleForAttribute):
960         * html/HTMLHRElement.h:
961         * html/HTMLIFrameElement.cpp:
962         (WebCore::HTMLIFrameElement::isPresentationAttribute):
963         (WebCore::HTMLIFrameElement::collectStyleForAttribute):
964         (WebCore::HTMLIFrameElement::parseAttribute):
965         * html/HTMLIFrameElement.h:
966         * html/HTMLImageElement.cpp:
967         (WebCore::HTMLImageElement::isPresentationAttribute):
968         (WebCore::HTMLImageElement::collectStyleForAttribute):
969         (WebCore::HTMLImageElement::parseAttribute):
970         * html/HTMLImageElement.h:
971         * html/HTMLInputElement.cpp:
972         (WebCore::HTMLInputElement::isPresentationAttribute):
973         (WebCore::HTMLInputElement::collectStyleForAttribute):
974         (WebCore::HTMLInputElement::parseAttribute):
975         * html/HTMLInputElement.h:
976         * html/HTMLLIElement.cpp:
977         (WebCore::HTMLLIElement::isPresentationAttribute):
978         (WebCore::HTMLLIElement::parseAttribute):
979         * html/HTMLLIElement.h:
980         * html/HTMLMarqueeElement.cpp:
981         (WebCore::HTMLMarqueeElement::isPresentationAttribute):
982         (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
983         (WebCore::HTMLMarqueeElement::parseAttribute):
984         * html/HTMLMarqueeElement.h:
985         * html/HTMLOListElement.cpp:
986         (WebCore::HTMLOListElement::isPresentationAttribute):
987         (WebCore::HTMLOListElement::parseAttribute):
988         * html/HTMLOListElement.h:
989         * html/HTMLObjectElement.cpp:
990         (WebCore::HTMLObjectElement::isPresentationAttribute):
991         (WebCore::HTMLObjectElement::parseAttribute):
992         * html/HTMLObjectElement.h:
993         * html/HTMLParagraphElement.cpp:
994         (WebCore::HTMLParagraphElement::isPresentationAttribute):
995         * html/HTMLParagraphElement.h:
996         * html/HTMLPlugInElement.cpp:
997         (WebCore::HTMLPlugInElement::isPresentationAttribute):
998         (WebCore::HTMLPlugInElement::collectStyleForAttribute):
999         * html/HTMLPlugInElement.h:
1000         * html/HTMLPreElement.cpp:
1001         (WebCore::HTMLPreElement::isPresentationAttribute):
1002         (WebCore::HTMLPreElement::collectStyleForAttribute):
1003         * html/HTMLPreElement.h:
1004         * html/HTMLSelectElement.cpp:
1005         (WebCore::HTMLSelectElement::isPresentationAttribute):
1006         (WebCore::HTMLSelectElement::parseAttribute):
1007         * html/HTMLSelectElement.h:
1008         * html/HTMLTableCaptionElement.cpp:
1009         (WebCore::HTMLTableCaptionElement::isPresentationAttribute):
1010         (WebCore::HTMLTableCaptionElement::parseAttribute):
1011         * html/HTMLTableCaptionElement.h:
1012         * html/HTMLTableCellElement.cpp:
1013         (WebCore::HTMLTableCellElement::isPresentationAttribute):
1014         (WebCore::HTMLTableCellElement::collectStyleForAttribute):
1015         (WebCore::HTMLTableCellElement::parseAttribute):
1016         * html/HTMLTableCellElement.h:
1017         * html/HTMLTableColElement.cpp:
1018         (WebCore::HTMLTableColElement::isPresentationAttribute):
1019         (WebCore::HTMLTableColElement::parseAttribute):
1020         * html/HTMLTableColElement.h:
1021         * html/HTMLTableElement.cpp:
1022         (WebCore::HTMLTableElement::isPresentationAttribute):
1023         (WebCore::HTMLTableElement::parseAttribute):
1024         * html/HTMLTableElement.h:
1025         * html/HTMLTablePartElement.cpp:
1026         (WebCore::HTMLTablePartElement::isPresentationAttribute):
1027         (WebCore::HTMLTablePartElement::collectStyleForAttribute):
1028         * html/HTMLTablePartElement.h:
1029         * html/HTMLTextAreaElement.cpp:
1030         (WebCore::HTMLTextAreaElement::isPresentationAttribute):
1031         (WebCore::HTMLTextAreaElement::parseAttribute):
1032         * html/HTMLTextAreaElement.h:
1033         * html/HTMLUListElement.cpp:
1034         (WebCore::HTMLUListElement::isPresentationAttribute):
1035         (WebCore::HTMLUListElement::collectStyleForAttribute):
1036         * html/HTMLUListElement.h:
1037         * html/HTMLVideoElement.cpp:
1038         (WebCore::HTMLVideoElement::isPresentationAttribute):
1039         (WebCore::HTMLVideoElement::parseAttribute):
1040         * html/HTMLVideoElement.h:
1041         * mathml/MathMLElement.cpp:
1042         (WebCore::MathMLElement::isPresentationAttribute):
1043         (WebCore::MathMLElement::collectStyleForAttribute):
1044         * mathml/MathMLElement.h:
1045         * svg/SVGImageElement.cpp:
1046         (WebCore::SVGImageElement::isPresentationAttribute):
1047         (WebCore::SVGImageElement::parseAttribute):
1048         * svg/SVGImageElement.h:
1049         * svg/SVGStyledElement.cpp:
1050         (WebCore::SVGStyledElement::isPresentationAttribute):
1051         (WebCore::SVGStyledElement::parseAttribute):
1052         * svg/SVGStyledElement.h:
1053         * svg/SVGTextContentElement.cpp:
1054         (WebCore::SVGTextContentElement::isPresentationAttribute):
1055         (WebCore::SVGTextContentElement::parseAttribute):
1056         * svg/SVGTextContentElement.h:
1057
1058 2012-02-13  Kentaro Hara  <haraken@chromium.org>
1059
1060         Add [JSCustomToJSObject] IDL attribute to interfaces that have
1061         custom toJS() but do not have custom toV8()
1062         https://bugs.webkit.org/show_bug.cgi?id=78466
1063
1064         Reviewed by Adam Barth.
1065
1066         This is the second step to remove hard-coding in HasCustomToV8Implementation()
1067         in CodeGeneratorV8.pm. This patch replaces [JSCustomToJS] with [JSCustomToJSObject]
1068         for interfaces which have custom toJS() but do not have custom toV8().
1069
1070         No tests. No change in behavior.
1071
1072         * bindings/scripts/CodeGeneratorJS.pm:
1073         (GenerateHeader):
1074         (GenerateImplementation):
1075         * bindings/scripts/CodeGeneratorV8.pm:
1076         (HasCustomToV8Implementation): I found that AbstractWorker and CanvasRenderingContext
1077         are the only IDL files to which I need to add [JSCustomToJSObject].
1078         Other IDL files which had been listed here do not have [JSCustomToJS].
1079         * html/canvas/CanvasRenderingContext.idl:
1080         * workers/AbstractWorker.idl:
1081
1082 2012-02-13  Andreas Kling  <awesomekling@apple.com>
1083
1084         Avoid unnecessary work when evaluating style sharing candidates.
1085         <http://webkit.org/b/78220>
1086
1087         Reviewed by Antti Koivisto.
1088
1089         Do the cheap checks (bitfields, pointers) before calling virtuals and doing hash lookups.
1090         Remove comparison of attributes that are reflected in the attribute styles (cellpadding.)
1091         Moved comparison of "type" and "readonly" attributes into the more specific
1092         canShareStyleWithControl() since they are only relevant for input elements. Don't bother
1093         calling isFormControlElement() on both elements as they already have the same tagQName().
1094
1095         Altogether this knocks off ~8ms worth of samples per cycle of the "Moz" page cycler test.
1096
1097         * css/CSSStyleSelector.cpp:
1098         (WebCore::CSSStyleSelector::canShareStyleWithControl):
1099         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1100         (WebCore::isCommonAttributeSelectorAttribute):
1101
1102 2012-02-13  Arko Saha  <arko@motorola.com>
1103
1104         <summary> is not keyboard accessible.
1105         https://bugs.webkit.org/show_bug.cgi?id=75478
1106
1107         Reviewed by Hajime Morita.
1108
1109         Toggle the content of <details> element on pressing Enter or Spacebar
1110         key on a focused <summary> element.
1111
1112         Test: fast/html/details-keyboard-show-hide.html
1113
1114         * html/HTMLSummaryElement.cpp:
1115         (WebCore::HTMLSummaryElement::supportsFocus):
1116         (WebCore):
1117         (WebCore::HTMLSummaryElement::defaultEventHandler):
1118         * html/HTMLSummaryElement.h:
1119         (HTMLSummaryElement):
1120
1121 2012-02-13  Gavin Barraclough  <barraclough@apple.com>
1122
1123         https://bugs.webkit.org/show_bug.cgi?id=78434
1124         Unreviewed - temporarily reverting r107498 will I fix a couple of testcases.
1125
1126         * bindings/js/JSDOMWindowBase.cpp:
1127         (WebCore):
1128         * bindings/js/JSDOMWindowBase.h:
1129         (JSDOMWindowBase):
1130
1131 2012-02-13  Ilya Tikhonovsky  <loislo@chromium.org>
1132
1133         Web Inspector: get rid of cycles in containment view of an object.
1134         https://bugs.webkit.org/show_bug.cgi?id=78462
1135
1136         Reviewed by Yury Semikhatsky.
1137
1138         * inspector/front-end/DetailedHeapshotGridNodes.js:
1139         (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
1140         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
1141
1142 2012-02-12  Adam Barth  <abarth@webkit.org>
1143
1144         Remove ENABLE(MEDIA_STREAM) from Navigator.h
1145         https://bugs.webkit.org/show_bug.cgi?id=78467
1146
1147         Reviewed by Kentaro Hara.
1148
1149         Navigator.webkitGetUser media doesn't really have anything to do with
1150         Navigator.cpp.  This patch moves it into the mediastream directory and
1151         removes the ENABLE(MEDIA_STREAM) ifdefs in Navigator.h and
1152         Navigator.cpp.
1153
1154         * GNUmakefile.list.am:
1155         * WebCore.gypi:
1156         * mediastream/NavigatorMediaStream.cpp: Added.
1157         (WebCore):
1158         (WebCore::NavigatorMediaStream::NavigatorMediaStream):
1159         (WebCore::NavigatorMediaStream::~NavigatorMediaStream):
1160         (WebCore::NavigatorMediaStream::webkitGetUserMedia):
1161         * mediastream/NavigatorMediaStream.h: Added.
1162         (WebCore):
1163         (NavigatorMediaStream):
1164         * mediastream/NavigatorMediaStream.idl: Added.
1165         * page/Navigator.cpp:
1166         (WebCore):
1167         * page/Navigator.h:
1168         (WebCore):
1169         (Navigator):
1170         * page/Navigator.idl:
1171
1172 2012-02-12  Adam Barth  <abarth@webkit.org>
1173
1174         Navigator.webkitGetUserMedia doesn't need to be custom
1175         https://bugs.webkit.org/show_bug.cgi?id=78464
1176
1177         Reviewed by Eric Seidel.
1178
1179         The code generator has gotten smarter since this function was added.
1180
1181         * GNUmakefile.list.am:
1182         * UseV8.cmake:
1183         * WebCore.gypi:
1184         * bindings/js/JSNavigatorCustom.cpp: Removed.
1185         * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
1186         * page/Navigator.idl:
1187
1188 2012-02-12  Adam Barth  <abarth@webkit.org>
1189
1190         Move ENABLE(GAMEPAD) logic out of Navigator.h/cpp
1191         https://bugs.webkit.org/show_bug.cgi?id=78457
1192
1193         Reviewed by Hajime Morita.
1194
1195         This patch moves GAMEPAD-specific logic out of Navigator by introducing
1196         the concept of a NavigatorSupplement, analogous to the recently
1197         introduced PageSupplement.
1198
1199         * Modules/gamepad/NavigatorGamepad.cpp:
1200         (WebCore::NavigatorGamepad::from):
1201         (WebCore):
1202         (WebCore::NavigatorGamepad::webkitGamepads):
1203         (WebCore::NavigatorGamepad::gamepads):
1204         * Modules/gamepad/NavigatorGamepad.h:
1205         (NavigatorGamepad):
1206         * WebCore.gypi:
1207         * dom/DeviceMotionController.cpp:
1208         (WebCore::DeviceMotionController::supplementName):
1209         * page/Navigator.cpp:
1210         (WebCore::Navigator::provideSupplement):
1211         (WebCore):
1212         (WebCore::Navigator::requireSupplement):
1213         * page/Navigator.h:
1214         (Navigator):
1215         * page/Page.h:
1216         (Page):
1217         * page/PageSupplement.h:
1218             - This patch cleans up some nits in PageSupplement.
1219         (WebCore):
1220         (PageSupplement):
1221
1222 2012-02-12  Kentaro Hara  <haraken@chromium.org>
1223
1224         Add a [V8CustomToJSObject] IDL attribute
1225         https://bugs.webkit.org/show_bug.cgi?id=78450
1226
1227         Reviewed by Adam Barth.
1228
1229         This is the first step to remove hard-coding in HasCustomToV8Implementation()
1230         in CodeGeneratorV8.pm. This patch adds [V8CustomToJSObject]
1231         to interfaces which have custom toV8() but do not have custom toJS().
1232
1233         No tests. No change in behavior.
1234
1235         * bindings/scripts/CodeGeneratorV8.pm: Replaced hard-coding with [V8CustomToJSObject].
1236         (HasCustomToV8Implementation):
1237
1238         * css/CSSStyleSheet.idl: Added [V8CustomToJSObject].
1239         * dom/DOMStringMap.idl:
1240         * dom/Element.idl:
1241         * dom/NamedNodeMap.idl:
1242         * html/DOMTokenList.idl:
1243         * html/HTMLDocument.idl:
1244         * html/HTMLElement.idl:
1245         * html/canvas/CanvasPixelArray.idl:
1246         * inspector/ScriptProfile.idl:
1247         * inspector/ScriptProfileNode.idl:
1248         * page/DOMWindow.idl:
1249         * page/Location.idl:
1250         * svg/SVGDocument.idl:
1251         * svg/SVGElement.idl:
1252         * workers/WorkerContext.idl:
1253
1254 2012-02-12  David Barr  <davidbarr@chromium.org>
1255
1256         CSS3 currentColor on outline-color gets treated as inherit
1257         https://bugs.webkit.org/show_bug.cgi?id=73180
1258
1259         Reviewed by Antti Koivisto.
1260
1261         The CSS2 and CSS3 UI modules state that outline-color
1262         is not inherited. Make it so.
1263         http://www.w3.org/TR/CSS2/ui.html#propdef-outline-color
1264         http://www.w3.org/TR/css3-ui/#outline-color
1265
1266         Test: fast/css/outline-currentcolor.html
1267
1268         * css/CSSStyleApplyProperty.cpp:
1269         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1270
1271 2012-02-12  Antti Koivisto  <antti@apple.com>
1272
1273         CSSPageRule should inherit from CSSRule instead of CSSStyleRule
1274         https://bugs.webkit.org/show_bug.cgi?id=78452
1275
1276         Reviewed by Anders Carlsson.
1277
1278         This matches CSSOM and eliminates the only subclass of CSSStyleRule, enabling further refactoring.
1279
1280         * css/CSSPageRule.cpp:
1281         (WebCore::CSSPageRule::CSSPageRule):
1282         (WebCore::CSSPageRule::~CSSPageRule):
1283         (WebCore):
1284         (WebCore::CSSPageRule::selectorText):
1285         (WebCore::CSSPageRule::setSelectorText):
1286         (WebCore::CSSPageRule::cssText):
1287         * css/CSSPageRule.h:
1288         (CSSPageRule):
1289         (WebCore::CSSPageRule::style):
1290         (WebCore::CSSPageRule::selector):
1291         (WebCore::CSSPageRule::properties):
1292         (WebCore::CSSPageRule::adoptSelectorVector):
1293         (WebCore::CSSPageRule::setDeclaration):
1294         * css/CSSRule.cpp:
1295         (WebCore::CSSRule::cssText):
1296         * css/CSSStyleRule.cpp:
1297         (WebCore::CSSStyleRule::generateSelectorText):
1298         * css/CSSStyleSelector.cpp:
1299         (WebCore::RuleSet::pageRules):
1300         (RuleSet):
1301         (WebCore::RuleSet::addPageRule):
1302         (WebCore::comparePageRules):
1303         (WebCore::CSSStyleSelector::matchPageRules):
1304         (WebCore::CSSStyleSelector::matchPageRulesForList):
1305         * css/CSSStyleSelector.h:
1306         (CSSStyleSelector):
1307
1308 2012-02-12  Shinya Kawanaka  <shinyak@google.com>
1309
1310         Introduce ShadowRootList.
1311         https://bugs.webkit.org/show_bug.cgi?id=78069
1312
1313         Reviewed by Hajime Morita.
1314
1315         This is a step to implement multiple shadow subtrees.
1316
1317         This patch introduces a shadow root list. ShadowRootList is a doubly linked list,
1318         and each shadow root now has a younger shadow root and older shadow root,
1319         which are a previous element and a next element respectively.
1320         Since a visual tree traversal, which will be introduced in coming patches, will need a older shadow root,
1321         we make a shadow root list a doubly linked list.
1322
1323         However, ShadowRootList does not have more than one shadow root now.
1324         This will be changed in a series of coming patches.
1325
1326         Element::shadowRoot(), setShadowRoot(), ensureShadowRoot(), and removeShadowRoot() are
1327         emulated using ShadowRootList for a while. These API will be replaced to ShadowRootList API later.
1328
1329         No new tests, no change in behavior.
1330
1331         * CMakeLists.txt:
1332         * GNUmakefile.list.am:
1333         * Target.pri:
1334         * WebCore.gypi:
1335         * WebCore.xcodeproj/project.pbxproj:
1336         * dom/DOMAllInOne.cpp:
1337         * dom/Element.cpp:
1338         (WebCore::Element::hasShadowRoot):
1339           Retruns true if an element has a shadowRoot.
1340         (WebCore::Element::shadowRootList):
1341           Gets shadow root list if any.
1342         (WebCore::Element::shadowRoot):
1343           Gets the first shadow root from the shadow root list.
1344         (WebCore::Element::setShadowRoot):
1345           Sets the first shadow root to the shadow root list.
1346         (WebCore::Element::removeShadowRoot):
1347           Removes all the shadow roots in the shadow root list.
1348         * dom/Element.h:
1349         (WebCore):
1350         (Element):
1351         * dom/ElementRareData.h:
1352         (ElementRareData):
1353         (WebCore::ElementRareData::ElementRareData):
1354           Has shadow root lists instead of shadow root.
1355         (WebCore::ElementRareData::~ElementRareData):
1356         * dom/ShadowRoot.cpp:
1357         (WebCore::ShadowRoot::ShadowRoot):
1358         (WebCore::ShadowRoot::~ShadowRoot):
1359         * dom/ShadowRoot.h:
1360         (ShadowRoot):
1361         (WebCore::ShadowRoot::youngerShadowRoot):
1362         (WebCore::ShadowRoot::olderShadowRoot):
1363         * dom/ShadowRootList.cpp: Added.
1364         (WebCore):
1365         (WebCore::ShadowRootList::ShadowRootList):
1366         (WebCore::ShadowRootList::~ShadowRootList):
1367         (WebCore::ShadowRootList::pushShadowRoot):
1368           Adds a shadow root into the list. Currently we limit the list can have only one shadow root.
1369         (WebCore::ShadowRootList::popShadowRoot):
1370           Removes and returns the youngest shadow root if any.
1371         * dom/ShadowRootList.h: Added.
1372         (WebCore):
1373         (ShadowRootList):
1374         (WebCore::ShadowRootList::hasShadowRoot):
1375         (WebCore::ShadowRootList::youngestShadowRoot):
1376         (WebCore::ShadowRootList::oldestShadowRoot):
1377
1378 2012-02-12  Shinya Kawanaka  <shinyak@google.com>
1379
1380         INPUT shouldn't create ShadowRoot dynamically.
1381         https://bugs.webkit.org/show_bug.cgi?id=77930
1382
1383         Reviewed by Dimitri Glazkov.
1384
1385         When input type is changed, ShadowRoot was being re-created. This makes it difficult to
1386         support multiple shadow subtrees. This patch makes input re-use the existing shadow root
1387         instead of re-creating a shaow root. A shadow root should be created when an element is created.
1388
1389         Since media control elements are implemented using input elements, these elements should also
1390         create a shadow root in their construction phase.
1391
1392         Test: fast/dom/shadow/input-shadow-nochange.html
1393         Tests related to media controls should be covered by existing tests.
1394
1395         * html/ColorInputType.cpp:
1396         (WebCore::ColorInputType::createShadowSubtree):
1397         * html/FileInputType.cpp:
1398         (WebCore::FileInputType::createShadowSubtree):
1399         (WebCore::FileInputType::multipleAttributeChanged):
1400         * html/HTMLInputElement.cpp:
1401         (WebCore::HTMLInputElement::createShadowSubtree):
1402         * html/InputType.cpp:
1403         (WebCore::InputType::destroyShadowSubtree):
1404         * html/RangeInputType.cpp:
1405         (WebCore::RangeInputType::createShadowSubtree):
1406         * html/TextFieldInputType.cpp:
1407         (WebCore::TextFieldInputType::createShadowSubtree):
1408         * html/shadow/MediaControlElements.cpp:
1409           Creates a shadow tree in the construction phase.
1410         (WebCore::MediaControlPanelMuteButtonElement::create):
1411         (WebCore::MediaControlVolumeSliderMuteButtonElement::create):
1412         (WebCore::MediaControlPlayButtonElement::create):
1413         (WebCore::MediaControlSeekForwardButtonElement::create):
1414         (WebCore::MediaControlSeekBackButtonElement::create):
1415         (WebCore::MediaControlRewindButtonElement::create):
1416         (WebCore::MediaControlReturnToRealtimeButtonElement::create):
1417         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
1418         (WebCore::MediaControlTimelineElement::create):
1419         (WebCore::MediaControlVolumeSliderElement::create):
1420         (WebCore::MediaControlFullscreenVolumeSliderElement::create):
1421         (WebCore::MediaControlFullscreenButtonElement::create):
1422         (WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
1423         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
1424
1425 2012-02-12  Shinya Kawanaka  <shinyak@google.com>
1426
1427         SVGTRefElement shouldn't create a shadow root dynamically.
1428         https://bugs.webkit.org/show_bug.cgi?id=77938
1429
1430         Reviewed by Hajime Morita.
1431
1432         SVGTRefElement creates a shadow root dynamically. This will cause a problem to support
1433         multiple shadow subtrees. So it should be created in a constructor phase.
1434
1435         Test: svg/custom/tref-shadowdom.html
1436
1437         * svg/SVGTRefElement.cpp:
1438         (WebCore::SVGTRefElement::create):
1439         (WebCore::SVGTRefElement::createShadowSubtree):
1440         (WebCore):
1441         (WebCore::SVGTRefElement::updateReferencedText):
1442         * svg/SVGTRefElement.h:
1443         (SVGTRefElement):
1444
1445 2012-02-12  Kentaro Hara  <haraken@chromium.org>
1446
1447         Unreviewed. Rebaselined run-bindings-tests results.
1448
1449         * bindings/scripts/test/JS/JSFloat64Array.cpp:
1450         (WebCore):
1451         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1452         (WebCore):
1453         (WebCore::JSTestActiveDOMObject::destroy):
1454         (WebCore::JSTestActiveDOMObject::~JSTestActiveDOMObject):
1455         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
1456         (JSTestActiveDOMObject):
1457         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1458         (WebCore):
1459         (WebCore::JSTestCustomNamedGetter::destroy):
1460         (WebCore::JSTestCustomNamedGetter::~JSTestCustomNamedGetter):
1461         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
1462         (JSTestCustomNamedGetter):
1463         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1464         (WebCore):
1465         (WebCore::JSTestEventConstructor::destroy):
1466         (WebCore::JSTestEventConstructor::~JSTestEventConstructor):
1467         * bindings/scripts/test/JS/JSTestEventConstructor.h:
1468         (JSTestEventConstructor):
1469         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1470         (WebCore):
1471         (WebCore::JSTestEventTarget::destroy):
1472         (WebCore::JSTestEventTarget::~JSTestEventTarget):
1473         * bindings/scripts/test/JS/JSTestEventTarget.h:
1474         (JSTestEventTarget):
1475         * bindings/scripts/test/JS/JSTestInterface.cpp:
1476         (WebCore):
1477         (WebCore::JSTestInterface::destroy):
1478         (WebCore::JSTestInterface::~JSTestInterface):
1479         * bindings/scripts/test/JS/JSTestInterface.h:
1480         (JSTestInterface):
1481         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1482         (WebCore):
1483         (WebCore::JSTestMediaQueryListListener::destroy):
1484         (WebCore::JSTestMediaQueryListListener::~JSTestMediaQueryListListener):
1485         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1486         (JSTestMediaQueryListListener):
1487         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1488         (WebCore):
1489         (WebCore::JSTestNamedConstructor::destroy):
1490         (WebCore::JSTestNamedConstructor::~JSTestNamedConstructor):
1491         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
1492         (JSTestNamedConstructor):
1493         * bindings/scripts/test/JS/JSTestObj.cpp:
1494         (WebCore):
1495         (WebCore::JSTestObj::destroy):
1496         (WebCore::JSTestObj::~JSTestObj):
1497         * bindings/scripts/test/JS/JSTestObj.h:
1498         (JSTestObj):
1499         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1500         (WebCore):
1501         (WebCore::JSTestSerializedScriptValueInterface::destroy):
1502         (WebCore::JSTestSerializedScriptValueInterface::~JSTestSerializedScriptValueInterface):
1503         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1504         (JSTestSerializedScriptValueInterface):
1505
1506 2012-02-12  Abhishek Arya  <inferno@chromium.org>
1507
1508         Regression (r104528): Crash when moving nodes across documents.
1509         https://bugs.webkit.org/show_bug.cgi?id=78432
1510
1511         Reviewed by Hajime Morita.
1512
1513         Test: fast/dom/node-move-to-new-document-crash-main.html
1514
1515         * dom/TreeScopeAdopter.cpp:
1516         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
1517         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
1518         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
1519
1520 2012-02-12  Hajime Morrita  <morrita@chromium.org>
1521
1522         Page should have less intrusive way to associate API implementation objects.
1523         https://bugs.webkit.org/show_bug.cgi?id=78085
1524
1525         Reviewed by Adam Barth.
1526
1527         Introducing PageSupplement interface to attach behind-the-flag-ish
1528         objects to Page instances.
1529
1530         This change aims to improve modularity of Modules/ entries. With
1531         PageSupplement mechinary, we can eliminate ifdef conditionals from
1532         Page.h/Page.cpp and are able to add Modules/ entries without
1533         touching non-Module WebCore files. WebKit API classes like WebPage
1534         can "provide" these objects dynamically during the Page setup phase.
1535
1536         In this change, DeviceMotionController and
1537         DeviceOrientationController is updated to adopt PageSupplement
1538         inteface for an illustrative purpose because they are going to
1539         move into Modules/ shortly. Other Page associated API backing
1540         objects also should be transformed to PageSupplement family.
1541
1542         Reviewed by Adam Barth.
1543
1544         No new tests. No behavior change.
1545
1546         * CMakeLists.txt:
1547         * GNUmakefile.list.am:
1548         * Target.pri:
1549         * WebCore.gypi:
1550         * WebCore.vcproj/WebCore.vcproj:
1551         * WebCore.xcodeproj/project.pbxproj:
1552         * dom/DeviceMotionClient.h:
1553         (WebCore):
1554         * dom/DeviceMotionController.cpp:
1555         (WebCore::DeviceMotionController::supplementName):
1556         (WebCore):
1557         (WebCore::DeviceMotionController::isActiveAt):
1558         (WebCore::provideDeviceMotionTo):
1559         * dom/DeviceMotionController.h:
1560         (DeviceMotionController):
1561         (WebCore::DeviceMotionController::from):
1562         * dom/DeviceOrientationClient.h:
1563         (WebCore):
1564         * dom/DeviceOrientationController.cpp:
1565         (WebCore::DeviceOrientationController::supplementName):
1566         (WebCore):
1567         (WebCore::DeviceOrientationController::isActiveAt):
1568         (WebCore::provideDeviceOrientationTo):
1569         * dom/DeviceOrientationController.h:
1570         (DeviceOrientationController):
1571         (WebCore::DeviceOrientationController::from):
1572         * dom/Document.cpp:
1573         (WebCore::Document::suspendActiveDOMObjects):
1574         (WebCore::Document::resumeActiveDOMObjects):
1575         * history/PageCache.cpp:
1576         (WebCore::logCanCachePageDecision):
1577         (WebCore::PageCache::canCache):
1578         * page/DOMWindow.cpp:
1579         (WebCore::DOMWindow::addEventListener):
1580         (WebCore::DOMWindow::removeEventListener):
1581         (WebCore::DOMWindow::removeAllEventListeners):
1582         * page/PageSupplement.cpp:
1583         (WebCore::PageSupplement::~PageSupplement):
1584         (WebCore::PageSupplement::provideTo):
1585         (WebCore::PageSupplement::from):
1586         * page/PageSupplement.h:
1587         * page/Page.cpp:
1588         (WebCore::Page::Page):
1589         (WebCore::Page::~Page):
1590         (WebCore::Page::provideSupplement):
1591         (WebCore):
1592         (WebCore::Page::requireSupplement):
1593         (WebCore::Page::notifyDestroyedToSupplements):
1594         (WebCore::Page::PageClients::PageClients):
1595         * page/Page.h:
1596         (WebCore):
1597         (PageClients):
1598         (Page):
1599         * svg/graphics/SVGImage.cpp:
1600         (WebCore::SVGImage::dataChanged):
1601
1602 2012-02-12  Nico Weber  <nicolasweber@gmx.de>
1603
1604         [chromium/mac] Change the type of webkit_system_interface from static_library to none
1605         https://bugs.webkit.org/show_bug.cgi?id=78441
1606
1607         This target exists only run an action and to add a dependency to the
1608         action's output to targets depending on webkit_system_interface.
1609         This is what target type 'none' is for. With this, no dummy source
1610         file is needed, and no empty libwebkit_system_interface.a is created.
1611         This also fixes this (harmless) libtool warning:
1612
1613         libtool: warning for library: libwebkit_system_interface.a the table
1614         of contents is empty (no object file members in the library define
1615         global symbols)
1616
1617         Reviewed by Adam Barth.
1618
1619         * WebCore.gyp/WebCore.gyp:
1620         * WebCore.gyp/mac/Empty.cpp: Removed.
1621
1622 2012-02-12  Kenichi Ishibashi  <bashi@chromium.org>
1623
1624         If @font-face does not provide an explicit italic/bold variant, regular is used.
1625         https://bugs.webkit.org/show_bug.cgi?id=34147
1626
1627         Reviewed by Dan Bernstein.
1628
1629         Update @font-face handling code so that it matches @font-face behavior to the current draft of CSS3 Font spec. The original patch was written by yusukes@chromium.org.
1630         - Drops support for "bolder", "lighter", and "all" value. These are no longer allowed.
1631         - Only allows one value for font-style and font-weight.
1632
1633         Tests: fast/css/font-face-synthetic-bold-italic.html
1634                fast/css/font-face-weight-matching.html
1635
1636         * css/CSSFontSelector.cpp:
1637         (WebCore::CSSFontSelector::addFontFaceRule): Removed "all", "lighter", "bolder" handling code.
1638         (WebCore::compareFontFaces):Updated the weight matching algortihm.
1639         * css/CSSParser.cpp:
1640         (WebCore::CSSParser::parseValue): Replaced parseFontStyle() call with checking primitive values.
1641         (WebCore::CSSParser::parseFontWeight): Changed to allow only primitive values.
1642         (WebCore::CSSParser::createFontFaceRule): Removed checks for font-weight and font-style.
1643         (WebCore::CSSParser::deleteFontFaceOnlyValues): Ditto.
1644         * css/CSSParser.h: Removed parseFontStyle().
1645
1646 2012-02-12  David Reveman  <reveman@chromium.org>
1647
1648         [Chromium] Avoid unnecessary memset in per-tile layer updater.
1649         https://bugs.webkit.org/show_bug.cgi?id=78426
1650
1651         Reviewed by Stephen White.
1652
1653         Use our own SkBitmap and call SkBitmap::allocPixels() instead of
1654         letting SkDevice construct a SkBitmap. This avoids an unnecessary
1655         memset otherwise done by SkDevice.
1656
1657         No new tests.
1658
1659         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
1660         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
1661         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
1662         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
1663         (Texture):
1664
1665 2012-02-12  Joe Thomas  <joethomas@motorola.com>
1666
1667         Add toText and isTextNode helpers in Text class.
1668         https://bugs.webkit.org/show_bug.cgi?id=78140
1669
1670         Added a new helper function toText() in dom/Text.h which does the type casting operation to Text object.
1671         Modified the code to make use of this helper function.
1672
1673         Reviewed by Adam Barth.
1674
1675         No new tests.
1676
1677         * accessibility/AccessibilityRenderObject.cpp:
1678         (WebCore::accessibleNameForNode):
1679         * bindings/v8/custom/V8NodeCustom.cpp:
1680         (WebCore::toV8Slow):
1681         * css/SelectorChecker.cpp:
1682         (WebCore::SelectorChecker::checkOneSelector):
1683         * dom/Attr.cpp:
1684         (WebCore::Attr::childrenChanged):
1685         * dom/Element.cpp:
1686         (WebCore::Element::recalcStyle):
1687         * dom/Node.cpp:
1688         (WebCore::Node::normalize):
1689         * dom/Position.cpp:
1690         (WebCore::Position::containerText):
1691         (WebCore::Position::leadingWhitespacePosition):
1692         * dom/Range.cpp:
1693         (WebCore::Range::insertNode):
1694         (WebCore::Range::getBorderAndTextQuads):
1695         * dom/ScriptElement.cpp:
1696         (WebCore::ScriptElement::scriptContent):
1697         * dom/ShadowRoot.cpp:
1698         (WebCore::ShadowRoot::recalcShadowTreeStyle):
1699         * dom/Text.h: Added new helper function toText.
1700         (WebCore::toText): new helper function which does the type casting operation to Text object.
1701         (WebCore):
1702         * editing/ApplyBlockElementCommand.cpp:
1703         (WebCore::isNewLineAtPosition):
1704         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded):
1705         * editing/ApplyStyleCommand.cpp:
1706         (WebCore::ApplyStyleCommand::splitTextAtEnd):
1707         (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
1708         (WebCore::ApplyStyleCommand::joinChildTextNodes):
1709         * editing/BreakBlockquoteCommand.cpp:
1710         (WebCore::BreakBlockquoteCommand::doApply):
1711         * editing/CompositeEditCommand.cpp:
1712         (WebCore::CompositeEditCommand::insertNodeAt):
1713         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
1714         (WebCore::CompositeEditCommand::canRebalance):
1715         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
1716         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
1717         (WebCore::CompositeEditCommand::deleteInsignificantText):
1718         (WebCore::CompositeEditCommand::removePlaceholderAt):
1719         (WebCore::CompositeEditCommand::cleanupAfterDeletion):
1720         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
1721         * editing/DeleteSelectionCommand.cpp:
1722         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1723         (WebCore::DeleteSelectionCommand::fixupWhitespace):
1724         * editing/Editor.cpp:
1725         (WebCore::Editor::setComposition):
1726         * editing/InsertLineBreakCommand.cpp:
1727         (WebCore::InsertLineBreakCommand::doApply):
1728         * editing/InsertParagraphSeparatorCommand.cpp:
1729         (WebCore::InsertParagraphSeparatorCommand::doApply):
1730         * editing/InsertTextCommand.cpp:
1731         (WebCore::InsertTextCommand::insertTab):
1732         * editing/MarkupAccumulator.cpp:
1733         (WebCore::MarkupAccumulator::appendStartMarkup):
1734         * editing/ReplaceSelectionCommand.cpp:
1735         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
1736         (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
1737         (WebCore::ReplaceSelectionCommand::insertAsListItems):
1738         (WebCore::ReplaceSelectionCommand::performTrivialReplace):
1739         * editing/htmlediting.cpp:
1740         (WebCore::lineBreakExistsAtPosition):
1741         * editing/visible_units.cpp:
1742         (WebCore::startPositionForLine):
1743         (WebCore::endPositionForLine):
1744         (WebCore::startOfParagraph):
1745         (WebCore::endOfParagraph):
1746         * html/HTMLElement.cpp:
1747         (WebCore::replaceChildrenWithFragment):
1748         (WebCore::replaceChildrenWithText):
1749         (WebCore::mergeWithNextTextNode):
1750         * html/HTMLObjectElement.cpp:
1751         (WebCore::HTMLObjectElement::hasFallbackContent):
1752         (WebCore::HTMLObjectElement::updateDocNamedItem):
1753         * html/HTMLOptionElement.cpp:
1754         (WebCore::HTMLOptionElement::setText):
1755         * html/HTMLScriptElement.cpp:
1756         (WebCore::HTMLScriptElement::setText):
1757         * html/HTMLTextAreaElement.cpp:
1758         (WebCore::HTMLTextAreaElement::defaultValue):
1759         * html/HTMLTextFormControlElement.cpp:
1760         (WebCore::HTMLTextFormControlElement::innerTextValue):
1761         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
1762         * html/HTMLTitleElement.cpp:
1763         (WebCore::HTMLTitleElement::text):
1764         (WebCore::HTMLTitleElement::setText):
1765         * inspector/InspectorDOMAgent.cpp:
1766         (WebCore::InspectorDOMAgent::setNodeValue):
1767         * rendering/RenderText.cpp:
1768         (WebCore::RenderText::originalText):
1769         * rendering/RenderTextFragment.cpp:
1770         (WebCore::RenderTextFragment::originalText):
1771         (WebCore::RenderTextFragment::previousCharacter):
1772
1773 2012-02-12  Kentaro Hara  <haraken@chromium.org>
1774
1775         Remove [CPPCustom] from CodeGeneratorCPP.pm
1776         https://bugs.webkit.org/show_bug.cgi?id=78342
1777
1778         Reviewed by Adam Barth.
1779
1780         This patch removes [CPPCustom].
1781
1782         [CPPCustom] has been used in DOMWindow.location only to indicate that
1783         DOMWindow.location should be ignored in CPP. However, there are many
1784         other attributes and methods that CPP does not support (e.g. [CallWith=...],
1785         [CustomSetter], etc), and they are not yet marked with [CPPCustom].
1786         CPP just generates "meaningless" code for those unsupported attributes
1787         and methods. Ideally we can mark all unsupported attributes and methods
1788         with [CPPCustom], but it would not be so practical. Otherwise, removing
1789         [CPPCustom] would make sense. The side effect of removing [CPPCustom]
1790         is just that CPP will generate "meaningless" code for DOMWindow.location.
1791
1792         No tests. No change in behavior.
1793
1794         * bindings/scripts/CodeGeneratorCPP.pm:
1795         (ShouldSkipType):
1796         * page/DOMWindow.idl:
1797
1798 2012-02-12  Kentaro Hara  <haraken@chromium.org>
1799
1800         Rename [JSCustomPrototypeDefineOwnProperty] to [JSCustomDefineOwnPropertyOnPrototype]
1801         https://bugs.webkit.org/show_bug.cgi?id=78354
1802
1803         Reviewed by Adam Barth.
1804
1805         This patch renames [JSCustomPrototypeDefineOwnProperty] to
1806         [JSCustomDefineOwnPropertyOnPrototype], for naming consistency with
1807         [JSCustomDefineOwnProperty] and [JSCustomNamedGetterOnPrototype].
1808
1809         No tests. No change in behavior.
1810
1811         * bindings/scripts/CodeGeneratorJS.pm:
1812         (GenerateHeader):
1813         * page/Location.idl:
1814
1815 2012-02-11  Filip Pizlo  <fpizlo@apple.com>
1816
1817         It should be possible to send all JSC debug logging to a file
1818         https://bugs.webkit.org/show_bug.cgi?id=78418
1819
1820         Reviewed by Sam Weinig.
1821         
1822         Introduced wtf/DataLog, which defines WTF::dataFile, WTF::dataLog,
1823         and WTF::dataLogV. Changed all debugging- and profiling-related printfs
1824         to use WTF::dataLog() or one of its friends. By default, debug logging
1825         goes to stderr, unless you change the setting in wtf/DataLog.cpp.
1826
1827         No new tests because behavior is unchanged.
1828
1829         * ForwardingHeaders/wtf/DataLog.h: Added.
1830
1831 2012-02-11  Gavin Barraclough  <barraclough@apple.com>
1832
1833         Move special __proto__ property to Object.prototype
1834         https://bugs.webkit.org/show_bug.cgi?id=78409
1835
1836         Reviewed by Oliver Hunt.
1837
1838         Re-implement this as a regular accessor property.  This has three key benefits:
1839         1) It makes it possible for objects to be given properties named __proto__.
1840         2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
1841         3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.
1842
1843         * bindings/js/JSDOMWindowBase.cpp:
1844         (WebCore::JSDOMWindowBase::allowsAccessFrom):
1845         (WebCore):
1846             - expose allowsAccessFrom check to JSC.
1847         * bindings/js/JSDOMWindowBase.h:
1848         (JSDOMWindowBase):
1849             - expose allowsAccessFrom check to JSC.
1850
1851 2012-02-11  Benjamin Poulain  <benjamin@webkit.org>
1852
1853         Get rid of WebCore::URLString
1854         https://bugs.webkit.org/show_bug.cgi?id=78429
1855
1856         Reviewed by Adam Barth.
1857
1858         URLString is unused, remove the class.
1859
1860         * GNUmakefile.list.am:
1861         * WebCore.gypi:
1862         * WebCore.xcodeproj/project.pbxproj:
1863         * platform/KURL.cpp:
1864         * platform/KURL.h:
1865         (KURL):
1866         * platform/URLString.h: Removed.
1867
1868 2012-02-11  Sam Weinig  <sam@webkit.org>
1869
1870         Fix the windows build.
1871
1872         Since Windows uses an all-in-one file to compile, the isRespectedPresentationAttribute()
1873         functions all need unique names.
1874
1875         * html/HTMLBodyElement.cpp:
1876         * html/HTMLHRElement.cpp:
1877         * html/HTMLIFrameElement.cpp:
1878         * html/HTMLImageElement.cpp:
1879         * html/HTMLInputElement.cpp:
1880         * html/HTMLMarqueeElement.cpp:
1881         * html/HTMLPlugInElement.cpp:
1882         * html/HTMLTableCellElement.cpp:
1883         * html/HTMLTablePartElement.cpp:
1884         * mathml/MathMLElement.cpp:
1885
1886 2012-02-11  Anders Carlsson  <andersca@apple.com>
1887
1888         Overlay scrollbars don't appear when scrolling on the scrolling thread
1889         https://bugs.webkit.org/show_bug.cgi?id=78427
1890
1891         Reviewed by Sam Weinig.
1892
1893         Add a ScrollAnimator::notifyContentAreaScrolled and call it from ScrollAnimator::notifyContentAreaScrolled.
1894         It is then overridden in ScrollAnimatorMac to tickle AppKit so that overlay scrollbars will be shown.
1895
1896         * platform/ScrollAnimator.h:
1897         (WebCore::ScrollAnimator::notifyContentAreaScrolled):
1898         (ScrollAnimator):
1899         * platform/ScrollableArea.cpp:
1900         (WebCore::ScrollableArea::notifyScrollPositionChanged):
1901         * platform/mac/ScrollAnimatorMac.h:
1902         (ScrollAnimatorMac):
1903         * platform/mac/ScrollAnimatorMac.mm:
1904         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
1905         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
1906         (WebCore):
1907
1908 2012-02-11  Anders Carlsson  <andersca@apple.com>
1909
1910         Implement more ScrollElasticityControllerClient member functions
1911         https://bugs.webkit.org/show_bug.cgi?id=78425
1912         <rdar://problem/10710727>
1913
1914         Reviewed by Sam Weinig.
1915
1916         * page/scrolling/ScrollingTreeNode.h:
1917         (ScrollingTreeNode):
1918         (WebCore::ScrollingTreeNode::horizontalScrollElasticity):
1919         (WebCore::ScrollingTreeNode::verticalScrollElasticity):
1920         (WebCore::ScrollingTreeNode::hasEnabledHorizontalScrollbar):
1921         (WebCore::ScrollingTreeNode::hasEnabledVerticalScrollbar):
1922         Add new getters.
1923
1924         * page/scrolling/mac/ScrollingTreeNodeMac.h:
1925         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
1926         (WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching):
1927         (WebCore::ScrollingTreeNodeMac::allowsVerticalStretching):
1928         (WebCore::ScrollingTreeNodeMac::stretchAmount):
1929         (WebCore::ScrollingTreeNodeMac::pinnedInDirection):
1930         (WebCore::ScrollingTreeNodeMac::canScrollHorizontally):
1931         (WebCore::ScrollingTreeNodeMac::canScrollVertically):
1932         (WebCore::ScrollingTreeNodeMac::absoluteScrollPosition):
1933         (WebCore::ScrollingTreeNodeMac::immediateScrollByWithoutContentEdgeConstraints):
1934         (WebCore::ScrollingTreeNodeMac::startSnapRubberbandTimer):
1935         (WebCore::ScrollingTreeNodeMac::stopSnapRubberbandTimer):
1936         (WebCore::ScrollingTreeNodeMac::scrollByWithoutContentEdgeConstraints):
1937         Implement ScrollElasticityControllerClient member functions.
1938
1939 2012-02-11  Antti Koivisto  <antti@apple.com>
1940
1941         Add size assert for Length
1942         https://bugs.webkit.org/show_bug.cgi?id=78420
1943
1944         Rubber-stamped by Andreas Kling.
1945
1946         Length type is memory critical and must not grow.
1947
1948         * platform/Length.cpp:
1949         (SameSizeAsLength):
1950         (WebCore):
1951
1952 2012-02-11  Anders Carlsson  <andersca@apple.com>
1953
1954         Pass wheel events to a scroll elasticity controller on the scrolling thread
1955         https://bugs.webkit.org/show_bug.cgi?id=78421
1956
1957         Reviewed by Sam Weinig.
1958
1959         Add a ScrollElasticityController to ScrollingTreeNodeMac and pass wheel events to it.
1960         Fix ScrollingTreeNodeMac::scrollBy to clamp by the minimum and maximum scroll positions.
1961
1962         * page/scrolling/mac/ScrollingTreeNodeMac.h:
1963         (ScrollingTreeNodeMac):
1964         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
1965         (WebCore::ScrollingTreeNodeMac::ScrollingTreeNodeMac):
1966         (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
1967         (WebCore::ScrollingTreeNodeMac::immediateScrollBy):
1968         (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
1969         (WebCore::ScrollingTreeNodeMac::minimumScrollPosition):
1970         (WebCore):
1971         (WebCore::ScrollingTreeNodeMac::maximumScrollPosition):
1972         (WebCore::ScrollingTreeNodeMac::scrollBy):
1973
1974 2012-02-11  Andreas Kling  <awesomekling@apple.com>
1975
1976         Attribute styles should be created lazily.
1977         <http://webkit.org/b/78381>
1978
1979         Reviewed by Antti Koivisto.
1980
1981         TL;DR summary: Lazily construct the StyledElement::attributeStyle() instead of
1982         moving properties in/out of it in parseAttribute(). This allows us to enable
1983         the matched declaration cache for elements with presentation attributes.
1984
1985         The matched declaration cache has been disabled for elements with presentation
1986         attributes because attributeStyle() was mutable, and (simply put) the cache maps
1987         a set of StylePropertySet pointers to a resulting RenderStyle. This requires
1988         that the StylePropertySets are immutable.
1989
1990         To make them immutable, we now construct the attribute style lazily by adding
1991         a flag (to Node) that gets set in parseAttribute() when a presentation attribute
1992         respected by the element changes. A subsequent call to attributeStyle() checks
1993         the flag and rebuilds the style by looping over the attributes and calling the
1994         new virtual StyledElement::collectStyleForAttribute() on each one. Any dangling
1995         references to the previous attribute style will be garbage collected by the
1996         cache in CSSStyleSelector::sweepMatchedDeclarationCache().
1997
1998         * css/CSSStyleSelector.cpp:
1999         (WebCore::CSSStyleSelector::matchAllRules):
2000
2001             Enable matched declaration cache for elements with attribute style.
2002
2003         * dom/Node.h:
2004         (WebCore::Node::attributeStyleDirty):
2005         (WebCore::Node::setAttributeStyleDirty):
2006         (WebCore::Node::clearAttributeStyleDirty):
2007
2008             Add a Node flag to signify that a presentation attribute has changed and
2009             the attribute style needs to be rebuilt.
2010
2011         * dom/ElementAttributeData.h:
2012         * dom/ElementAttributeData.cpp:
2013         (WebCore::ElementAttributeData::setAttributeStyle):
2014
2015             Added a setter for the attribute style, called by updateAttributeStyle().
2016
2017         * dom/StyledElement.cpp:
2018         (WebCore::StyledElement::addHTMLLengthToStyle):
2019         (WebCore::StyledElement::addHTMLColorToStyle):
2020
2021             Moved and renamed two of the old addCSS* helpers from StyledElement.
2022
2023         (WebCore::StyledElement::updateAttributeStyle):
2024
2025             Called by attributeStyle() in case the "attribute style dirty" flag is
2026             set. Rebuilds the attribute style from scratch by looping over the
2027             attribute map and calling collectStyleForAttribute() on each attribute.
2028
2029         * dom/StyledElement.h:
2030         (WebCore::StyledElement::collectStyleForAttribute):
2031         (WebCore::StyledElement::attributeStyle):
2032         (WebCore::StyledElement::setNeedsAttributeStyleUpdate):
2033
2034             Helper, sets the attribute style dirty flag and marks the element for
2035             full style recalc. This is what parseAttribute() calls in subclasses
2036             when they encounter a presentation attribute.
2037
2038         * html/HTMLBRElement.cpp:
2039         (WebCore::HTMLBRElement::collectStyleForAttribute):
2040         (WebCore::HTMLBRElement::parseAttribute):
2041         * html/HTMLBRElement.h:
2042         * html/HTMLBodyElement.cpp:
2043         (WebCore::isRespectedPresentationAttribute):
2044         (WebCore::HTMLBodyElement::collectStyleForAttribute):
2045         (WebCore::HTMLBodyElement::parseAttribute):
2046         * html/HTMLBodyElement.h:
2047         * html/HTMLDivElement.cpp:
2048         (WebCore::HTMLDivElement::collectStyleForAttribute):
2049         (WebCore::HTMLDivElement::parseAttribute):
2050         * html/HTMLDivElement.h:
2051         * html/HTMLElement.cpp:
2052         (WebCore::HTMLElement::applyBorderAttributeToStyle):
2053         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
2054         (WebCore::HTMLElement::collectStyleForAttribute):
2055         (WebCore::HTMLElement::parseAttribute):
2056         (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
2057         * html/HTMLElement.h:
2058         * html/HTMLEmbedElement.cpp:
2059         (WebCore::HTMLEmbedElement::collectStyleForAttribute):
2060         (WebCore::HTMLEmbedElement::parseAttribute):
2061         * html/HTMLEmbedElement.h:
2062         * html/HTMLFontElement.cpp:
2063         (WebCore::HTMLFontElement::collectStyleForAttribute):
2064         (WebCore::HTMLFontElement::parseAttribute):
2065         * html/HTMLFontElement.h:
2066         * html/HTMLFrameSetElement.cpp:
2067         (WebCore::HTMLFrameSetElement::collectStyleForAttribute):
2068         (WebCore::HTMLFrameSetElement::parseAttribute):
2069         * html/HTMLFrameSetElement.h:
2070         * html/HTMLHRElement.cpp:
2071         (WebCore::isRespectedPresentationAttribute):
2072         (WebCore::HTMLHRElement::collectStyleForAttribute):
2073         (WebCore::HTMLHRElement::parseAttribute):
2074         * html/HTMLHRElement.h:
2075         * html/HTMLIFrameElement.cpp:
2076         (WebCore::HTMLIFrameElement::collectStyleForAttribute):
2077         (WebCore::HTMLIFrameElement::parseAttribute):
2078         * html/HTMLIFrameElement.h:
2079         * html/HTMLImageElement.cpp:
2080         (WebCore::isRespectedPresentationAttribute):
2081         (WebCore::HTMLImageElement::collectStyleForAttribute):
2082         (WebCore::HTMLImageElement::parseAttribute):
2083         * html/HTMLImageElement.h:
2084         * html/HTMLInputElement.cpp:
2085         (WebCore::isRespectedPresentationAttribute):
2086         (WebCore::HTMLInputElement::collectStyleForAttribute):
2087         (WebCore::HTMLInputElement::parseAttribute):
2088         * html/HTMLInputElement.h:
2089         * html/HTMLLIElement.cpp:
2090         (WebCore::HTMLLIElement::collectStyleForAttribute):
2091         (WebCore::HTMLLIElement::parseAttribute):
2092         * html/HTMLLIElement.h:
2093         * html/HTMLMarqueeElement.cpp:
2094         (WebCore::isRespectedPresentationAttribute):
2095         (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
2096         (WebCore::HTMLMarqueeElement::parseAttribute):
2097         * html/HTMLMarqueeElement.h:
2098         * html/HTMLOListElement.cpp:
2099         (WebCore::HTMLOListElement::collectStyleForAttribute):
2100         (WebCore::HTMLOListElement::parseAttribute):
2101         * html/HTMLOListElement.h:
2102         * html/HTMLObjectElement.cpp:
2103         (WebCore::HTMLObjectElement::collectStyleForAttribute):
2104         (WebCore::HTMLObjectElement::parseAttribute):
2105         * html/HTMLObjectElement.h:
2106         * html/HTMLParagraphElement.cpp:
2107         (WebCore::HTMLParagraphElement::collectStyleForAttribute):
2108         (WebCore::HTMLParagraphElement::parseAttribute):
2109         * html/HTMLParagraphElement.h:
2110         * html/HTMLPlugInElement.cpp:
2111         (WebCore::isRespectedPresentationAttribute):
2112         (WebCore::HTMLPlugInElement::collectStyleForAttribute):
2113         (WebCore::HTMLPlugInElement::parseAttribute):
2114         * html/HTMLPlugInElement.h:
2115         * html/HTMLPreElement.cpp:
2116         (WebCore::HTMLPreElement::collectStyleForAttribute):
2117         (WebCore::HTMLPreElement::parseAttribute):
2118         * html/HTMLPreElement.h:
2119         * html/HTMLTableCaptionElement.cpp:
2120         (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
2121         (WebCore::HTMLTableCaptionElement::parseAttribute):
2122         * html/HTMLTableCaptionElement.h:
2123         * html/HTMLTableCellElement.cpp:
2124         (WebCore::isRespectedPresentationAttribute):
2125         (WebCore::HTMLTableCellElement::collectStyleForAttribute):
2126         (WebCore::HTMLTableCellElement::parseAttribute):
2127         * html/HTMLTableCellElement.h:
2128         * html/HTMLTableColElement.cpp:
2129         (WebCore::HTMLTableColElement::collectStyleForAttribute):
2130         (WebCore::HTMLTableColElement::parseAttribute):
2131         * html/HTMLTableColElement.h:
2132         * html/HTMLTableElement.cpp:
2133         (WebCore::getBordersFromFrameAttributeValue):
2134         (WebCore::HTMLTableElement::collectStyleForAttribute):
2135         (WebCore::HTMLTableElement::parseAttribute):
2136         * html/HTMLTableElement.h:
2137         * html/HTMLTablePartElement.cpp:
2138         (WebCore::isRespectedPresentationAttribute):
2139         (WebCore::HTMLTablePartElement::collectStyleForAttribute):
2140         (WebCore::HTMLTablePartElement::parseAttribute):
2141         * html/HTMLTablePartElement.h:
2142         * html/HTMLTextAreaElement.cpp:
2143         (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
2144         (WebCore::HTMLTextAreaElement::parseAttribute):
2145         * html/HTMLTextAreaElement.h:
2146         * html/HTMLUListElement.cpp:
2147         (WebCore::HTMLUListElement::collectStyleForAttribute):
2148         (WebCore::HTMLUListElement::parseAttribute):
2149         * html/HTMLUListElement.h:
2150         * html/HTMLVideoElement.cpp:
2151         (WebCore::HTMLVideoElement::collectStyleForAttribute):
2152         (WebCore::HTMLVideoElement::parseAttribute):
2153         * html/HTMLVideoElement.h:
2154         * mathml/MathMLElement.cpp:
2155         (WebCore::isRespectedPresentationAttribute):
2156         (WebCore::MathMLElement::collectStyleForAttribute):
2157         (WebCore::MathMLElement::parseAttribute):
2158         * mathml/MathMLElement.h:
2159         * svg/SVGImageElement.cpp:
2160         (WebCore::SVGImageElement::collectStyleForAttribute):
2161         (WebCore::SVGImageElement::parseAttribute):
2162         * svg/SVGImageElement.h:
2163         * svg/SVGStyledElement.cpp:
2164         (WebCore::SVGStyledElement::collectStyleForAttribute):
2165         (WebCore::SVGStyledElement::parseAttribute):
2166         * svg/SVGStyledElement.h:
2167         * svg/SVGTextContentElement.cpp:
2168         (WebCore::SVGTextContentElement::collectStyleForAttribute):
2169         (WebCore::SVGTextContentElement::parseAttribute):
2170         * svg/SVGTextContentElement.h:
2171
2172             Split handling of presentation attributes between parseAttribute() and
2173             collectStyleForAttribute() as appropriate. Some minor refactorings here and
2174             there (mostly in HTMLTableElement) to avoid excessive code duplication.
2175             Also sprinkled FIXMEs about inefficiencies we should clean up.
2176
2177 2012-02-11   Arko Saha  <arko@motorola.com>
2178
2179         HTML 5: Support click() method on HTMLElement.
2180         https://bugs.webkit.org/show_bug.cgi?id=27880
2181
2182         Reviewed by Timothy Hatcher.
2183
2184         Test: fast/dom/click-method-on-html-element.html
2185
2186         * bindings/objc/PublicDOMInterfaces.h: Added click() method in DOMHTMLElement
2187         with availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1.
2188         * html/HTMLButtonElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C.
2189         * html/HTMLElement.idl: Added click() IDL method.
2190         * html/HTMLInputElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C.
2191
2192 2012-02-11  Martin Robinson  <mrobinson@igalia.com>
2193
2194         [GStreamer] html5test.com says that gstreamer ports do not support WebM for audio
2195         https://bugs.webkit.org/show_bug.cgi?id=78244
2196
2197         Reviewed by Eric Seidel.
2198
2199         Specifically advertise support for audio/webm when we support the vorbis
2200         audio codec. This is necessary because gstreamer doesn't advertise it.
2201
2202         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2203         (WebCore::mimeTypeCache): Add an override for audio/webm.
2204
2205 2012-02-11  Anders Carlsson  <andersca@apple.com>
2206
2207         Try to fix the Windows build.
2208
2209         * platform/win/PopupMenuWin.cpp:
2210         (WebCore::PopupMenuWin::scrollToRevealSelection):
2211
2212 2012-02-08  Stephen White  <senorblanco@chromium.org>
2213
2214         [chromium] Enable CSS filters on composited layers.
2215         https://bugs.webkit.org/show_bug.cgi?id=77266
2216
2217         Reviewed by James Robinson.
2218
2219         Will be covered by existing tests in css3/filters (when enabled).
2220
2221         * WebCore.gypi:
2222         Add CCRenderSurfaceFilters.* to the Chromium build.
2223         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2224         (WebCore::GraphicsLayerChromium::setFilters):
2225         * platform/graphics/chromium/GraphicsLayerChromium.h:
2226         Override setFilters() virtual from GraphicsLayer.
2227         * platform/graphics/chromium/LayerChromium.cpp:
2228         (WebCore::LayerChromium::setFilters):
2229         Implement setFilters() to cache the filters here...
2230         (WebCore::LayerChromium::pushPropertiesTo):
2231         ... and push them to the CCLayerImpl at commit time.
2232         * platform/graphics/chromium/LayerChromium.h:
2233         (WebCore::LayerChromium::filters):
2234         Implement accessor.
2235         * platform/graphics/chromium/RenderSurfaceChromium.h:
2236         (WebCore::RenderSurfaceChromium::setFilters):
2237         Implement stub version of setFilters(), to satisfy the templates.
2238         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2239         (WebCore::CCLayerImpl::setFilters):
2240         Implement setter to receive filters at commit time.
2241         * platform/graphics/chromium/cc/CCLayerImpl.h:
2242         (WebCore::CCLayerImpl::filters):
2243         Implement member var and accessor for filters.
2244         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2245         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2246         Add another clause here to force creation of a RenderSurface when
2247         filters are present, and to forward them from the layer to the
2248         RenderSurface.
2249         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2250         (WebCore::CCRenderSurface::draw):
2251         (WebCore::CCRenderSurface::drawLayer):
2252         Check for filters at draw time, apply them, and forward the result
2253         through the drawing traversal.
2254         (WebCore::CCRenderSurface::drawSurface):
2255         If filter bitmap is present, bind it instead of the normal
2256         RenderSurface texture.
2257         (WebCore::CCRenderSurface::applyFilters):
2258         Apply filters to the render surface texture, and return the result.
2259         This function is a no-op for the threaded compositor, due to use
2260         of the SharedGraphicsContext3D.
2261         * platform/graphics/chromium/cc/CCRenderSurface.h:
2262         (WebCore::CCRenderSurface::setFilters):
2263         (WebCore::CCRenderSurface::filters):
2264         (CCRenderSurface):
2265         Filters getters and setters.
2266         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: Added.
2267         (WebCore::CCRenderSurfaceFilters::apply):
2268         External interface for this (static) class.  All internal
2269         implementation and helper functions are in the unnamed namespace.
2270         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h: Added.
2271
2272 2012-02-11  Andreas Kling  <awesomekling@apple.com>
2273
2274         Node.isEqualNode() compares attributes twice.
2275         <http://webkit.org/b/78414>
2276
2277         Reviewed by Anders Carlsson.
2278
2279         A single pass across the attribute maps should be enough for anyone.
2280
2281         Added a test verifying correct behavior of Node.isEqualNode() when comparing
2282         two elements, one of which has had attributes that were all removed,
2283         resulting in an empty but non-null NamedNodeMap hanging off of the element.
2284         Note that this change is not fixing a regression, I'm just adding the test
2285         since I came close to introducing a bug here.
2286
2287         Test: fast/dom/isEqualNode-after-removeAttribute.html
2288
2289         * dom/Node.cpp:
2290         (WebCore::Node::isEqualNode):
2291
2292 2012-02-11  Andreas Kling  <awesomekling@apple.com>
2293
2294         HTMLTablePartElement: Add helper method to find parent table.
2295         <http://webkit.org/b/78413>
2296
2297         Reviewed by Anders Carlsson.
2298
2299         Add HTMLTablePartElement::findParentTable() and use that in subclasses instead
2300         of duplicating the code.
2301
2302         * html/HTMLTableCellElement.cpp:
2303         (WebCore::HTMLTableCellElement::additionalAttributeStyle):
2304         * html/HTMLTableColElement.cpp:
2305         (WebCore::HTMLTableColElement::additionalAttributeStyle):
2306         * html/HTMLTablePartElement.cpp:
2307         (WebCore::HTMLTablePartElement::findParentTable):
2308         (WebCore):
2309         * html/HTMLTablePartElement.h:
2310         (WebCore):
2311         (HTMLTablePartElement):
2312         * html/HTMLTableSectionElement.cpp:
2313         (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
2314
2315 2012-02-11  Andreas Kling  <awesomekling@apple.com>
2316
2317         Use Element's hasName/hasID flags to avoid unnecessary work when looking up name/id attributes.
2318         <http://webkit.org/b/77845>
2319
2320         Reviewed by Anders Carlsson.
2321
2322         Have Element::getIdAttribute() check the hasID() flag before looking up the attribute.
2323         Add an Element::getNameAttribute() to do the same thing with hasName().
2324         Update call sites to make use of these helpers whenever possible.
2325
2326         * accessibility/AccessibilityRenderObject.cpp:
2327         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2328         * dom/DocumentOrderedMap.cpp:
2329         (WebCore::keyMatchesId):
2330         * dom/Element.h:
2331         (Element):
2332         (WebCore::Element::getIdAttribute):
2333         (WebCore):
2334         (WebCore::Element::getNameAttribute):
2335         * dom/NameNodeList.cpp:
2336         (WebCore::NameNodeList::nodeMatches):
2337         * dom/StaticHashSetNodeList.cpp:
2338         (WebCore::StaticHashSetNodeList::itemWithName):
2339         * dom/StaticNodeList.cpp:
2340         (WebCore::StaticNodeList::itemWithName):
2341         * html/HTMLAnchorElement.cpp:
2342         (WebCore::HTMLAnchorElement::name):
2343         * html/HTMLAppletElement.cpp:
2344         (WebCore::HTMLAppletElement::createRenderer):
2345         * html/HTMLCollection.cpp:
2346         (WebCore::HTMLCollection::checkForNameMatch):
2347         (WebCore::HTMLCollection::updateNameCache):
2348         * html/HTMLEmbedElement.cpp:
2349         (WebCore::HTMLEmbedElement::updateWidget):
2350         * html/HTMLFormCollection.cpp:
2351         (WebCore::HTMLFormCollection::updateNameCache):
2352         * html/HTMLFormControlElement.cpp:
2353         (WebCore::HTMLFormControlElement::formControlName):
2354         * html/HTMLFormElement.cpp:
2355         (WebCore::HTMLFormElement::name):
2356         * html/HTMLFrameElementBase.cpp:
2357         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
2358         * html/HTMLMetaElement.cpp:
2359         (WebCore::HTMLMetaElement::name):
2360         * html/HTMLNameCollection.cpp:
2361         (WebCore::HTMLNameCollection::itemAfter):
2362         * html/HTMLObjectElement.cpp:
2363         (WebCore::HTMLObjectElement::updateWidget):
2364         (WebCore::HTMLObjectElement::updateDocNamedItem):
2365         (WebCore::HTMLObjectElement::containsJavaApplet):
2366         (WebCore::HTMLObjectElement::formControlName):
2367         * inspector/InspectorPageAgent.cpp:
2368         (WebCore::InspectorPageAgent::buildObjectForFrame):
2369         * page/Frame.cpp:
2370         (WebCore::Frame::matchLabelsAgainstElement):
2371         * rendering/svg/RenderSVGResourceContainer.cpp:
2372         (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
2373         * svg/SVGSVGElement.cpp:
2374         (WebCore::SVGSVGElement::getElementById):
2375
2376 2012-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2377
2378         Unreviewed, rolling out r107435.
2379         http://trac.webkit.org/changeset/107435
2380         https://bugs.webkit.org/show_bug.cgi?id=78410
2381
2382         It broke the Qt build (Requested by Ossy on #webkit).
2383
2384         * WebCore.exp.in:
2385         * WebCore.xcodeproj/project.pbxproj:
2386         * editing/mac/EditorMac.mm:
2387         (WebCore::Editor::writeSelectionToPasteboard):
2388         * platform/Pasteboard.h:
2389         (WebCore):
2390         (Pasteboard):
2391         * platform/PasteboardStrategy.h: Removed.
2392         * platform/PlatformPasteboard.h: Removed.
2393         * platform/PlatformStrategies.h:
2394         (WebCore):
2395         (WebCore::PlatformStrategies::PlatformStrategies):
2396         (PlatformStrategies):
2397         * platform/mac/DragDataMac.mm:
2398         (WebCore::DragData::canSmartReplace):
2399         (WebCore::insertablePasteboardTypes):
2400         (WebCore::DragData::asURL):
2401         * platform/mac/PasteboardMac.mm:
2402         (WebCore):
2403         (WebCore::selectionPasteboardTypes):
2404         (WebCore::writableTypesForURL):
2405         (WebCore::createWritableTypesForImage):
2406         (WebCore::writableTypesForImage):
2407         (WebCore::Pasteboard::Pasteboard):
2408         (WebCore::Pasteboard::clear):
2409         (WebCore::Pasteboard::writeSelectionForTypes):
2410         (WebCore::Pasteboard::writePlainText):
2411         (WebCore::Pasteboard::writeSelection):
2412         (WebCore::writeURLForTypes):
2413         (WebCore::Pasteboard::writeURL):
2414         (WebCore::writeFileWrapperAsRTFDAttachment):
2415         (WebCore::Pasteboard::writeImage):
2416         (WebCore::Pasteboard::writeClipboard):
2417         (WebCore::Pasteboard::canSmartReplace):
2418         (WebCore::Pasteboard::plainText):
2419         (WebCore::documentFragmentWithRTF):
2420         (WebCore::Pasteboard::documentFragment):
2421         * platform/mac/PlatformPasteboardMac.mm: Removed.
2422
2423 2012-02-10  Antti Koivisto  <antti@apple.com>
2424
2425         Move CSSOM wrapper pointer out of StylePropertySet
2426         https://bugs.webkit.org/show_bug.cgi?id=78406
2427
2428         Reviewed by Andreas Kling.
2429         
2430         Most StylePropertySet instances never have CSSOM wrappers so having a pointer to one in
2431         each and and every object makes no sense.
2432
2433         Move the PropertySetCSSStyleDeclaration instances to a global HashMap. This shrinks
2434         StylePropertySet by a pointer.
2435         
2436         Added COMPILE_ASSERT for StylePropertySet size.
2437
2438         * css/StylePropertySet.cpp:
2439         (WebCore):
2440         (WebCore::StylePropertySet::StylePropertySet):
2441         (WebCore::StylePropertySet::~StylePropertySet):
2442         (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
2443         * css/StylePropertySet.h:
2444         (StylePropertySet):
2445
2446 2012-02-10  David Barton  <dbarton@mathscribe.com>
2447
2448         MathML internals - use createXXX() function naming, ASSERT()s
2449         https://bugs.webkit.org/show_bug.cgi?id=78384
2450
2451         Reviewed by Eric Seidel.
2452
2453         Standard RefPtr function naming uses "createXXX" instead of "makeXXX".
2454         I also added a couple of ASSERT()s.
2455
2456         No new tests.
2457
2458         * rendering/mathml/RenderMathMLBlock.cpp:
2459         (WebCore::RenderMathMLBlock::createBlockStyle):
2460         * rendering/mathml/RenderMathMLBlock.h:
2461         (RenderMathMLBlock):
2462         * rendering/mathml/RenderMathMLFenced.cpp:
2463         (WebCore::RenderMathMLFenced::createOperatorStyle):
2464         (WebCore::RenderMathMLFenced::makeFences):
2465         (WebCore::RenderMathMLFenced::addChild):
2466         * rendering/mathml/RenderMathMLFenced.h:
2467         (RenderMathMLFenced):
2468         * rendering/mathml/RenderMathMLFraction.cpp:
2469         (WebCore::RenderMathMLFraction::addChild):
2470         * rendering/mathml/RenderMathMLRoot.cpp:
2471         (WebCore::RenderMathMLRoot::addChild):
2472         * rendering/mathml/RenderMathMLSubSup.cpp:
2473         (WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
2474         * rendering/mathml/RenderMathMLUnderOver.cpp:
2475         (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
2476         (WebCore::RenderMathMLUnderOver::addChild):
2477
2478 2012-02-10  Dan Bernstein  <mitz@apple.com>
2479
2480         Non-threaded scrolling build fix.
2481
2482         * page/FrameView.cpp:
2483         (WebCore::FrameView::requestScrollPositionUpdate):
2484
2485 2012-02-10  Edward O'Connor  <eoconnor@apple.com>
2486
2487         Change values for WEBKIT_KEYFRAMES_RULE, WEBKIT_KEYFRAME_RULE
2488         https://bugs.webkit.org/show_bug.cgi?id=71293
2489
2490         Reviewed by Chris Marrin.
2491
2492         Tests: animations/animation-css-rule-types.html
2493
2494         * css/CSSRule.h: Change WEBKIT_KEYFRAMES_RULE to 7 and
2495         WEBKIT_KEYFRAME_RULE to 8.
2496         * css/CSSRule.idl: Ditto.
2497
2498 2012-02-10  Eric Seidel  <eric@webkit.org>
2499
2500         AtomicMarkupTokenBase::initializeAttributes should not create a StringImpl if it doesn't need to
2501         https://bugs.webkit.org/show_bug.cgi?id=78394
2502
2503         Reviewed by Adam Barth.
2504
2505         On the very next line is passes value to Attribute::create which takes
2506         an AtomicString, so this code was just allocating a StringImpl (every time)
2507         only to (much of the time) just release that StringImpl on the next line
2508         when it got the AtomicString instead.
2509
2510         I discovered this while looking at DOM/Events.html, but it's unclear
2511         if this fix actually makes that benchmark faster.
2512
2513         * xml/parser/MarkupTokenBase.h:
2514         (WebCore::::initializeAttributes):
2515
2516 2012-02-10  Anders Carlsson  <andersca@apple.com>
2517
2518         Always update the scroll position through the scrolling coordinator
2519         https://bugs.webkit.org/show_bug.cgi?id=78403
2520
2521         Reviewed by Sam Weinig.
2522
2523         To get correct behavior, we always want to update the scrolling layer position
2524         on the scrolling thread. Do this by allowing the scrolling coordinator to intercept
2525         scroll position update requests and send them to the scrolling tree.
2526
2527         * page/FrameView.cpp:
2528         (WebCore::FrameView::requestScrollPositionUpdate):
2529         Let the scrolling coordinator have a go at updating the scroll position for this frame view.
2530
2531         * page/scrolling/ScrollingCoordinator.cpp:
2532         (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
2533         If it's a frame view we're coordinating scrolling for, tell the scrolling tree to update 
2534         the scroll position.
2535
2536         * page/scrolling/ScrollingTree.cpp:
2537         (WebCore::ScrollingTree::setMainFrameScrollPosition):
2538         Call through to the scrolling tree node.
2539
2540         * page/scrolling/ScrollingTreeNode.h:
2541         Add a new pure virtual setScrollPosition member function.
2542
2543         (WebCore::ScrollingTreeNodeMac::setScrollPosition):
2544         Move most of the code from scrollBy here.
2545
2546         (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
2547         Rename this member function from setScrollPosition to avoid conflicts.
2548
2549         (WebCore::ScrollingTreeNodeMac::scrollBy):
2550         Just call setScsrollPosition.
2551
2552         * platform/ScrollableArea.cpp:
2553         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
2554         Call requestScrollPositionUpdate, which allows subclasses of scrollable area to intercept
2555         the scroll operation and call it asynchronously.
2556
2557 2012-02-10  Anders Carlsson  <andersca@apple.com>
2558
2559         ScrollableArea should have a function for noting that the scroll position changed
2560         https://bugs.webkit.org/show_bug.cgi?id=78402
2561
2562         Reviewed by Sam Weinig.
2563
2564         The scrolling coordinator needs a specialized function to call whenever the main frame
2565         scrolling position has changed, so add ScrollableArea::notifyScrollPositionChanged and
2566         call it from the scrolling coordinator.
2567
2568         * page/scrolling/ScrollingCoordinator.cpp:
2569         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
2570         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
2571         * platform/ScrollableArea.cpp:
2572         (WebCore::ScrollableArea::notifyScrollPositionChanged):
2573         New function.
2574
2575         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
2576         Call ScrollableArea::notifyScrollPositionChanged.
2577
2578 2012-02-09  Levi Weintraub  <leviw@chromium.org>
2579
2580         Unreviewed build fix.
2581
2582         Fixing the build by removing a duplicate definition of pixelSnappedIntRect in LayoutTypes.h and
2583         removing conflict markers from the changelog.
2584
2585         * rendering/LayoutTypes.h:
2586         (pixelSnappedIntRect):
2587         * ChangeLog:
2588
2589 2012-02-09  Levi Weintraub  <leviw@chromium.org>
2590
2591         Add pixelSnappedIntRect method
2592         https://bugs.webkit.org/show_bug.cgi?id=78054
2593
2594         Reviewed by Eric Seidel.
2595
2596         This patch introduces a pixelSnappedIntRect method that will snap a sub-pixel LayoutRect to
2597         pixel boundaries. These pixel snapped forms are what is used to communicate with the graphics
2598         engine (to paint at whole pixel boundaries) and the embedding app (so they don't need to 
2599         understand we're using sub-pixel units).
2600
2601         No new tests. No change in behavior.
2602
2603         * accessibility/AccessibilityRenderObject.cpp:
2604         (WebCore::AccessibilityRenderObject::isOffScreen):
2605         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2606         * dom/Range.cpp:
2607         (WebCore::Range::boundingBox):
2608         * html/HTMLCanvasElement.cpp:
2609         (WebCore::HTMLCanvasElement::paint):
2610         * html/shadow/TextControlInnerElements.cpp:
2611         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
2612         * page/Frame.cpp:
2613         (WebCore::Frame::nodeImage):
2614         * page/FrameView.cpp:
2615         (WebCore::FrameView::repaintContentRectangle):
2616         (WebCore::FrameView::doDeferredRepaints):
2617         (WebCore::FrameView::windowClipRectForLayer):
2618         * platform/graphics/GraphicsLayer.cpp:
2619         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
2620         * rendering/InlineFlowBox.cpp:
2621         (WebCore::InlineFlowBox::paint):
2622         * rendering/LayoutTypes.h:
2623         (WebCore::pixelSnappedIntRect):
2624         (WebCore):
2625         * rendering/RenderBlock.cpp:
2626         (WebCore::RenderBlock::paintColumnContents):
2627         (WebCore::RenderBlock::selectionGaps):
2628         * rendering/RenderBox.cpp:
2629         (WebCore::RenderBox::paintBoxDecorations):
2630         (WebCore::RenderBox::pushContentsClip):
2631         * rendering/RenderBoxModelObject.cpp:
2632         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2633         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2634         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2635         (WebCore::RenderBoxModelObject::paintBoxShadow):
2636         * rendering/RenderDetailsMarker.cpp:
2637         (WebCore::RenderDetailsMarker::paint):
2638         * rendering/RenderFlowThread.cpp:
2639         (WebCore::RenderFlowThread::paintIntoRegion):
2640         * rendering/RenderFrameSet.cpp:
2641         (WebCore::RenderFrameSet::paintColumnBorder):
2642         (WebCore::RenderFrameSet::paintRowBorder):
2643         (WebCore::RenderFrameSet::positionFramesWithFlattening):
2644         * rendering/RenderImage.cpp:
2645         (WebCore::RenderImage::paintReplaced):
2646         * rendering/RenderLayer.cpp:
2647         (WebCore::RenderLayer::scrollRectToVisible):
2648         (WebCore::RenderLayer::positionOverflowControls):
2649         (WebCore::RenderLayer::calculateRects):
2650         * rendering/RenderLayerBacking.cpp:
2651         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2652         (WebCore::paintScrollbar):
2653         * rendering/RenderLayerCompositor.cpp:
2654         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2655         * rendering/RenderObject.cpp:
2656         (WebCore::RenderObject::drawLineForBoxSide):
2657         (WebCore::RenderObject::addPDFURLRect):
2658         * rendering/RenderTextControlSingleLine.cpp:
2659         (WebCore::RenderTextControlSingleLine::showPopup):
2660         (WebCore::RenderTextControlSingleLine::paint):
2661         * rendering/RenderWidget.cpp:
2662         (WebCore::RenderWidget::paint):
2663         * rendering/style/RenderStyle.cpp:
2664         (WebCore::RenderStyle::getRoundedBorderFor):
2665         (WebCore::RenderStyle::getRoundedInnerBorderFor):
2666
2667 <<<<<<< .mine
2668 2012-02-09  Levi Weintraub  <leviw@chromium.org>
2669
2670         Add pixelSnappedIntRect method
2671         https://bugs.webkit.org/show_bug.cgi?id=78054
2672
2673         Reviewed by Eric Seidel.
2674
2675         This patch introduces a pixelSnappedIntRect method that will snap a sub-pixel LayoutRect to
2676         pixel boundaries. These pixel snapped forms are what is used to communicate with the graphics
2677         engine (to paint at whole pixel boundaries) and the embedding app (so they don't need to 
2678         understand we're using sub-pixel units).
2679
2680         No new tests. No change in behavior.
2681
2682         * accessibility/AccessibilityRenderObject.cpp:
2683         (WebCore::AccessibilityRenderObject::isOffScreen):
2684         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2685         * dom/Range.cpp:
2686         (WebCore::Range::boundingBox):
2687         * html/HTMLCanvasElement.cpp:
2688         (WebCore::HTMLCanvasElement::paint):
2689         * html/shadow/TextControlInnerElements.cpp:
2690         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
2691         * page/Frame.cpp:
2692         (WebCore::Frame::nodeImage):
2693         * page/FrameView.cpp:
2694         (WebCore::FrameView::repaintContentRectangle):
2695         (WebCore::FrameView::doDeferredRepaints):
2696         (WebCore::FrameView::windowClipRectForLayer):
2697         * platform/graphics/GraphicsLayer.cpp:
2698         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
2699         * rendering/InlineFlowBox.cpp:
2700         (WebCore::InlineFlowBox::paint):
2701         * rendering/LayoutTypes.h:
2702         (WebCore::pixelSnappedIntRect):
2703         (WebCore):
2704         * rendering/RenderBlock.cpp:
2705         (WebCore::RenderBlock::paintColumnContents):
2706         (WebCore::RenderBlock::selectionGaps):
2707         * rendering/RenderBox.cpp:
2708         (WebCore::RenderBox::paintBoxDecorations):
2709         (WebCore::RenderBox::pushContentsClip):
2710         * rendering/RenderBoxModelObject.cpp:
2711         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2712         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2713         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2714         (WebCore::RenderBoxModelObject::paintBoxShadow):
2715         * rendering/RenderDetailsMarker.cpp:
2716         (WebCore::RenderDetailsMarker::paint):
2717         * rendering/RenderFlowThread.cpp:
2718         (WebCore::RenderFlowThread::paintIntoRegion):
2719         * rendering/RenderFrameSet.cpp:
2720         (WebCore::RenderFrameSet::paintColumnBorder):
2721         (WebCore::RenderFrameSet::paintRowBorder):
2722         (WebCore::RenderFrameSet::positionFramesWithFlattening):
2723         * rendering/RenderImage.cpp:
2724         (WebCore::RenderImage::paintReplaced):
2725         * rendering/RenderLayer.cpp:
2726         (WebCore::RenderLayer::scrollRectToVisible):
2727         (WebCore::RenderLayer::positionOverflowControls):
2728         (WebCore::RenderLayer::calculateRects):
2729         * rendering/RenderLayerBacking.cpp:
2730         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2731         (WebCore::paintScrollbar):
2732         * rendering/RenderLayerCompositor.cpp:
2733         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2734         * rendering/RenderObject.cpp:
2735         (WebCore::RenderObject::drawLineForBoxSide):
2736         (WebCore::RenderObject::addPDFURLRect):
2737         * rendering/RenderTextControlSingleLine.cpp:
2738         (WebCore::RenderTextControlSingleLine::showPopup):
2739         (WebCore::RenderTextControlSingleLine::paint):
2740         * rendering/RenderWidget.cpp:
2741         (WebCore::RenderWidget::paint):
2742         * rendering/style/RenderStyle.cpp:
2743         (WebCore::RenderStyle::getRoundedBorderFor):
2744         (WebCore::RenderStyle::getRoundedInnerBorderFor):
2745
2746 2012-02-10  Brian Weinstein  <bweinstein@apple.com>
2747
2748         Web Inspector: Add the ability to jump to the source for a given frame
2749         https://bugs.webkit.org/show_bug.cgi?id=78396
2750
2751         Reviewed by Tim Hatcher.
2752
2753         * WebCore.exp.in: Add a new exported function.
2754         * inspector/InspectorController.cpp: Add and expose the InspectorPageAgent.
2755         (WebCore::InspectorController::InspectorController): Set m_pageAgent.
2756         * inspector/InspectorController.h: Add m_pageAgent.
2757         (WebCore::InspectorController::pageAgent): Return m_pageAgent.
2758
2759         * inspector/InspectorFrontendClientLocal.cpp:
2760         (WebCore::InspectorFrontendClientLocal::showMainResourceForFrame): Get the inspector's frame ID
2761             of the frame that was passed in, and add a call to evaluate on load.
2762         * inspector/InspectorFrontendClientLocal.h:
2763
2764         * inspector/front-end/InspectorFrontendAPI.js:
2765         (InspectorFrontendAPI.showMainResourceForFrame): Add a FIXME to show the source code for the main
2766             resource of the given frame.
2767
2768 2012-02-10  Vineet Chaudhary  <rgf748@motorola.com>
2769
2770         https://bugs.webkit.org/show_bug.cgi?id=72756
2771         DOMHTMLElement’s accessKey property is declared as available in WebKit version that didn’t have it. 
2772
2773         Reviewed by Timothy Hatcher.
2774
2775         No new tests.
2776
2777         * bindings/objc/PublicDOMInterfaces.h: Moving accessKey property to DOMHTMLElement
2778           with an appropriate availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1.
2779           Also Moving accessKey property to HTMLAnchorElement, HTMLAreaElement, HTMLButtonElement,
2780           HTMLInputElement, HTMLLabelElement, HTMLLegendElement  and HTMLTextAreaElement idls
2781           with an availability macro AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_5_1.
2782         * html/HTMLAnchorElement.idl: Adding accessKey entries back to idls under LANGUAGE_OBJECTIVE_C.
2783         * html/HTMLAreaElement.idl: Ditto.
2784         * html/HTMLButtonElement.idl: Ditto.
2785         * html/HTMLInputElement.idl: Ditto.
2786         * html/HTMLLabelElement.idl: Ditto.
2787         * html/HTMLLegendElement.idl: Ditto.
2788         * html/HTMLTextAreaElement.idl: Ditto.
2789
2790 2012-02-10  Beth Dakin  <bdakin@apple.com>
2791
2792         Speculative build fix.
2793
2794         * platform/win/PopupMenuWin.cpp:
2795         (WebCore::PopupMenuWin::scrollToRevealSelection):
2796
2797 2012-02-10  Adam Klein  <adamk@chromium.org>
2798
2799         Enable MUTATION_OBSERVERS by default on all platforms
2800         https://bugs.webkit.org/show_bug.cgi?id=78196
2801
2802         Reviewed by Ojan Vafai.
2803
2804         * Configurations/FeatureDefines.xcconfig:
2805         * UseV8.cmake: Add some previously-missing files.
2806         * WebCore.vcproj/WebCore.vcproj: ditto.
2807         * bindings/js/JSBindingsAllInOne.cpp: ditto.
2808         * dom/DOMAllInOne.cpp: ditto.
2809
2810 2012-02-10  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
2811
2812         Add FractionalLayoutUnit type for sub-pixel layout
2813         https://bugs.webkit.org/show_bug.cgi?id=77485
2814
2815         Reviewed by Eric Seidel.
2816
2817         Add fixed point implementation (FractionalLayoutUnit).
2818
2819         FractionalLayoutUnit represents values as multiples of 1/60th pixel. This allows us
2820         to represent sub-pixel values using integer math and avoids floating point precision
2821         problems.
2822
2823         No new tests.
2824
2825         * WebCore.vcproj/WebCore.vcproj:
2826         * WebCore.xcodeproj/project.pbxproj:
2827         * platform/FractionalLayoutUnit.h: Added.
2828
2829 2012-02-10  Adam Langley  <agl@chromium.org>
2830
2831         Don't lowercase ping URLs.
2832
2833         Previously, ping URLs would be lowercased when splitting them apart.
2834         URLs are not, however, case-insensitive.
2835
2836         https://bugs.webkit.org/show_bug.cgi?id=78371
2837
2838         Reviewed by Tony Chang.
2839
2840         * html/HTMLAnchorElement.cpp:
2841         (WebCore::HTMLAnchorElement::sendPings): Don't lowercase URL.
2842
2843 2012-02-10  Ojan Vafai  <ojan@chromium.org>
2844
2845         flex-pack:center and flex-item-align:center should do true centering
2846         https://bugs.webkit.org/show_bug.cgi?id=77385
2847
2848         Reviewed by Tony Chang.
2849
2850         Also, removed passing totalPositiveFlexibility around. We don't
2851         need to know about positive/negative flex once we run the flexing algorithm.
2852         We used to need to know this in order to flex margins, but margins can
2853         no longer be flexed.
2854
2855         Test: css3/flexbox/true-centering.html
2856
2857         * rendering/RenderFlexibleBox.cpp:
2858         (WebCore::RenderFlexibleBox::layoutFlexItems):
2859         (WebCore::initialPackingOffset):
2860         (WebCore::packingSpaceBetweenChildren):
2861         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2862         (WebCore::RenderFlexibleBox::layoutColumnReverse):
2863         * rendering/RenderFlexibleBox.h:
2864         (RenderFlexibleBox):
2865
2866 2012-02-10  Mark Hahnenberg  <mhahnenberg@apple.com>
2867
2868         Split MarkedSpace into destructor and destructor-free subspaces
2869         https://bugs.webkit.org/show_bug.cgi?id=77761
2870
2871         Reviewed by Geoffrey Garen.
2872
2873         No new tests.
2874
2875         * bindings/js/JSDOMWindowShell.cpp: Removed old operator new, which was just used in the create
2876         function so that we can use allocateCell instead.
2877         (WebCore):
2878         * bindings/js/JSDOMWindowShell.h:
2879         (WebCore::JSDOMWindowShell::create):
2880         (JSDOMWindowShell):
2881         * bindings/scripts/CodeGeneratorJS.pm: Added destructor back to root JS DOM nodes (e.g. JSNode, etc)
2882         because their destroy functions need to be called, so we don't want the NeedsDestructor struct to 
2883         think they don't need destruction due to having empty/trivial destructors.
2884         Removed ASSERT_HAS_TRIVIAL_DESTRUCTOR from all JS DOM wrapper auto-generated objects because their 
2885         ancestors now have non-trivial destructors. 
2886         (GenerateHeader):
2887         (GenerateImplementation):
2888         (GenerateConstructorDefinition):
2889
2890 2012-02-10  Anders Carlsson  <andersca@apple.com>
2891
2892         Remove a bunch of unused ScrollableArea member functions
2893         https://bugs.webkit.org/show_bug.cgi?id=78388
2894
2895         Reviewed by Beth Dakin.
2896
2897         * platform/ScrollableArea.cpp:
2898         * platform/ScrollableArea.h:
2899
2900 2012-02-10  Pavel Podivilov  <podivilov@chromium.org>
2901
2902         Fix a few typos in IDL exception names.
2903         https://bugs.webkit.org/show_bug.cgi?id=78356
2904
2905         Reviewed by Adam Barth.
2906
2907         * dom/Node.idl:
2908         * notifications/NotificationCenter.idl:
2909         * page/Navigator.idl:
2910
2911 2012-02-10  Benjamin Poulain  <bpoulain@apple.com>
2912
2913         DefaultLocalizationStrategy::htmlSelectMultipleItems() should use size_t instead of int
2914         https://bugs.webkit.org/show_bug.cgi?id=78374
2915
2916         Reviewed by Joseph Pecoraro.
2917
2918         The value comes from size_t and is converted to int for no good reason. We should use
2919         size_t.
2920
2921         * platform/DefaultLocalizationStrategy.cpp:
2922         (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
2923         * platform/DefaultLocalizationStrategy.h:
2924         (DefaultLocalizationStrategy):
2925
2926 2012-02-10  Anders Carlsson  <andersca@apple.com>
2927
2928         More ScrollableArea cleanup
2929         https://bugs.webkit.org/show_bug.cgi?id=78383
2930
2931         Reviewed by Beth Dakin.
2932
2933         Get rid of setScrollOriginX and setScrollOriginY. Make ScrollableArea::setScrollOrigin private.
2934
2935         * platform/ScrollView.cpp:
2936         (WebCore::ScrollView::updateScrollbars):
2937         * platform/ScrollableArea.cpp:
2938         (WebCore::ScrollableArea::setScrollOrigin):
2939         * platform/ScrollableArea.h:
2940         (ScrollableArea):
2941
2942 2012-02-10  Kentaro Hara  <haraken@chromium.org>
2943
2944         Rename [JSCustomPrototypePutDelegate] to [JSCustomNamedGetterOnPrototype]
2945         https://bugs.webkit.org/show_bug.cgi?id=78353
2946
2947         Reviewed by Adam Barth.
2948
2949         [JSCustomPrototypePutDelegate] is used to write custom code for named
2950         getters on a prototype interface. "PutDelegate" is just a method name
2951         in implementation and not so descriptive. This patch renames it to
2952         [JSCustomNamedGetterOnPrototype]. This is also for naming consistency
2953         with [CustomNamedGetter].
2954
2955         No tests. No change in behavior.
2956
2957         * bindings/scripts/CodeGeneratorJS.pm:
2958         (GenerateHeader):
2959         (GenerateImplementation):
2960         * page/Location.idl:
2961
2962 2012-02-10  Enrica Casucci  <enrica@apple.com>
2963
2964         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
2965         https://bugs.webkit.org/show_bug.cgi?id=78282
2966
2967         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
2968         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
2969         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
2970         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
2971         interface but this one more step in the direction of removing access to NSPasteboard from
2972         the WebProcess.
2973         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
2974         
2975         Reviewed by Anders Carlsson.
2976
2977         No new tests. No change in behavior, just code refactoring.
2978
2979         * WebCore.exp.in: Added exported class PlatformPasteboard.
2980         * WebCore.xcodeproj/project.pbxproj: Added new files to the build.
2981         * editing/mac/EditorMac.mm:
2982         (WebCore::Editor::writeSelectionToPasteboard): New method signature that doesn't use OBJ-C types.
2983         * platform/Pasteboard.h:
2984
2985         * platform/PasteboardStrategy.h: Added PasteboardStrategy abstract class.
2986         * platform/PlatformPasteboard.h: Added. This class implements access to NSPasteboard.
2987         * platform/PlatformStrategies.h:
2988         (WebCore::PlatformStrategies::pasteboardStrategy): Added.
2989         * platform/mac/DragDataMac.mm:
2990         (WebCore::DragData::canSmartReplace):
2991         (WebCore::insertablePasteboardTypes): 
2992         (WebCore::DragData::asURL):
2993         * platform/mac/PasteboardMac.mm:
2994         (WebCore::selectionPasteboardTypes): Changed to use Vector<String> instead of NSArray.
2995         (WebCore::writableTypesForURL): Ditto.
2996         (WebCore::createWritableTypesForImage): Ditto.
2997         (WebCore::writableTypesForImage): Ditto.
2998         (WebCore::Pasteboard::Pasteboard): Removed access to NSPasteboard.
2999         (WebCore::Pasteboard::clear): Modified to use platformStrategies()->pasteboardStrategy().
3000         (WebCore::Pasteboard::writeSelectionForTypes): Ditto.
3001         (WebCore::Pasteboard::writePlainText): Ditto.
3002         (WebCore::Pasteboard::writeSelection): Ditto.
3003         (WebCore::writeURLForTypes): Ditto.
3004         (WebCore::Pasteboard::writeURL): Ditto.
3005         (WebCore::writeFileWrapperAsRTFDAttachment): Ditto.
3006         (WebCore::Pasteboard::writeImage): Ditto.
3007         (WebCore::Pasteboard::writeClipboard): Ditto.
3008         (WebCore::Pasteboard::canSmartReplace): Ditto.
3009         (WebCore::Pasteboard::plainText): Ditto.
3010         (WebCore::documentFragmentWithRTF): Ditto.
3011         (WebCore::Pasteboard::documentFragment): Ditto.
3012         * platform/mac/PlatformPasteboardMac.mm: Added.
3013         (WebCore::PlatformPasteboard::PlatformPasteboard):
3014         (WebCore::PlatformPasteboard::getTypes):
3015         (WebCore::PlatformPasteboard::bufferForType):
3016         (WebCore::PlatformPasteboard::getPathnamesForType):
3017         (WebCore::PlatformPasteboard::stringForType):
3018         (WebCore::PlatformPasteboard::copy):
3019         (WebCore::PlatformPasteboard::setTypes):
3020         (WebCore::PlatformPasteboard::setBufferForType):
3021         (WebCore::PlatformPasteboard::setPathnamesForType):
3022         (WebCore::PlatformPasteboard::setStringForType):
3023
3024 2012-02-10  Kentaro Hara  <haraken@chromium.org>
3025
3026         Rename [JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor]
3027         https://bugs.webkit.org/show_bug.cgi?id=78352
3028
3029         Reviewed by Adam Barth.
3030
3031         [JSCustomGetOwnPropertySlotDelegate] is used for "flexibly customizable"
3032         named getter. It allows us to write custom code for getOwnPropertySlotDelegate()
3033         and getOwnPropertyDescriptorDelegate(). To clarify that, we can rename
3034         [JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor].
3035
3036         No tests. No change in behavior.
3037
3038         * bindings/scripts/CodeGeneratorJS.pm:
3039         (GenerateGetOwnPropertySlotBody):
3040         (GenerateGetOwnPropertyDescriptorBody):
3041         (GenerateHeader):
3042         (GenerateImplementation):
3043
3044         * html/HTMLAppletElement.idl:
3045         * html/HTMLEmbedElement.idl:
3046         * html/HTMLObjectElement.idl:
3047         * page/History.idl:
3048         * page/Location.idl:
3049         * workers/WorkerContext.idl:
3050
3051 2012-02-10  Anders Carlsson  <andersca@apple.com>
3052
3053         Minor ScrollAnimatorMac cleanup
3054         https://bugs.webkit.org/show_bug.cgi?id=78375
3055
3056         Reviewed by Beth Dakin.
3057
3058         Get rid of adjustScrollXPositionIfNecessary and adjustScrollYPositionIfNecessary.
3059         Also, reduce nesting in willAdd/didAdd functions by using early returns.
3060
3061         * platform/mac/ScrollAnimatorMac.h:
3062         (ScrollAnimatorMac):
3063         * platform/mac/ScrollAnimatorMac.mm:
3064         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
3065         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
3066         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
3067         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
3068         (WebCore::ScrollAnimatorMac::immediateScrollBy):
3069
3070 2012-02-10  Anders Carlsson  <andersca@apple.com>
3071
3072         Minor ScrollableArea cleanup
3073         https://bugs.webkit.org/show_bug.cgi?id=78372
3074
3075         Reviewed by Beth Dakin.
3076
3077         Get rid of scrollToXOffsetWithoutAnimation and scrollToYOffsetWithoutAnimation.
3078
3079         * platform/ScrollableArea.cpp:
3080         (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
3081         * platform/ScrollableArea.h:
3082         * rendering/RenderListBox.cpp:
3083         (WebCore::RenderListBox::computeLogicalHeight):
3084         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
3085         (WebCore::RenderListBox::setScrollTop):
3086
3087 2012-02-10  Benjamin Poulain  <bpoulain@apple.com>
3088
3089         [Mac] DYLIB_INSTALL_NAME_BASE should not be prefixed by the SDKROOT
3090         https://bugs.webkit.org/show_bug.cgi?id=78320
3091
3092         Reviewed by Joseph Pecoraro.
3093
3094         <rdar://problem/10839750>
3095
3096         * Configurations/WebCore.xcconfig:
3097
3098 2012-02-10  Anders Carlsson  <andersca@apple.com>
3099
3100         Update the non-fast-scrollable region for subframe layout as well
3101         https://bugs.webkit.org/show_bug.cgi?id=78366
3102         <rdar://problem/10844064>
3103
3104         Reviewed by Beth Dakin.
3105
3106         * page/scrolling/ScrollingCoordinator.cpp:
3107         (WebCore::computeNonFastScrollableRegion):
3108         Move the non-fast-scrollable region computation out into a new function.
3109
3110         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
3111         Always recompute the non-fast-scrollable region whenever a frame view's layout is updated,
3112         not just the main frame.
3113
3114 2012-02-09  Chris Marrin  <cmarrin@apple.com>
3115
3116         Implement hardware animation of CSS filters
3117         https://bugs.webkit.org/show_bug.cgi?id=78155
3118
3119         Added logic to PlatformCAAnimation to return enough information
3120         to GraphicsLayerCA to be able to construct a keyPath animation
3121         for each filter property. Some filters need to animate multiple
3122         properties per filter, so PlatformCAAnimation also returns the number
3123         of properties per filter and then an animation is constructed for 
3124         each one. Also added all the support logic to handle hardware filter
3125         animation in the higher level logic, just like we do for transforms and
3126         opacity.
3127
3128         Also stubbed out new PlatformCAAnimation functions for Windows. We don't yet
3129         support hardware filters on Windows.
3130
3131         Reviewed by Dean Jackson.
3132
3133         Tests: css3/filters/filter-animation-from-none-hw.html
3134                css3/filters/filter-animation-from-none-multi-hw.html
3135                css3/filters/filter-animation-from-none-multi.html
3136                css3/filters/filter-animation-hw.html
3137                css3/filters/filter-animation-multi-hw.html
3138                css3/filters/filter-animation-multi.html
3139
3140         * page/animation/AnimationBase.cpp:
3141         (WebCore):
3142         (PropertyWrapperAcceleratedFilter):
3143         (WebCore::PropertyWrapperAcceleratedFilter::PropertyWrapperAcceleratedFilter):
3144         (WebCore::PropertyWrapperAcceleratedFilter::animationIsAccelerated):
3145         (WebCore::PropertyWrapperAcceleratedFilter::blend):
3146         (WebCore::AnimationBase::ensurePropertyMap):
3147         * platform/graphics/GraphicsLayer.cpp:
3148         (WebCore):
3149         (WebCore::filterOperationsAt):
3150         (WebCore::GraphicsLayer::validateFilterOperations):
3151         * platform/graphics/GraphicsLayer.h:
3152         (WebCore):
3153         (FilterAnimationValue):
3154         (WebCore::FilterAnimationValue::FilterAnimationValue):
3155         (WebCore::FilterAnimationValue::clone):
3156         (WebCore::FilterAnimationValue::value):
3157         (GraphicsLayer):
3158         * platform/graphics/GraphicsLayerClient.h:
3159         * platform/graphics/ca/GraphicsLayerCA.cpp:
3160         (WebCore::propertyIdToString):
3161         (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
3162         (WebCore::GraphicsLayerCA::addAnimation):
3163         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
3164         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
3165         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
3166         (WebCore):
3167         (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
3168         (WebCore::GraphicsLayerCA::createBasicAnimation):
3169         (WebCore::GraphicsLayerCA::createKeyframeAnimation):
3170         (WebCore::GraphicsLayerCA::setFilterAnimationEndpoints):
3171         (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
3172         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3173         (WebCore::GraphicsLayerCA::cloneLayer):
3174         * platform/graphics/ca/GraphicsLayerCA.h:
3175         (GraphicsLayerCA):
3176         * platform/graphics/ca/PlatformCAAnimation.h:
3177         (PlatformCAAnimation):
3178         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
3179         (PlatformCAAnimation::setFromValue):
3180         (PlatformCAAnimation::setToValue):
3181         (PlatformCAAnimation::setValues):
3182         (PlatformCAAnimation::numAnimatedFilterProperties):
3183         (PlatformCAAnimation::animatedFilterPropertyName):
3184         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
3185         (PlatformCAAnimation::setFromValue):
3186         (PlatformCAAnimation::setToValue):
3187         (PlatformCAAnimation::setValues):
3188         (PlatformCAAnimation::numAnimatedFilterProperties):
3189         (PlatformCAAnimation::animatedFilterPropertyName):
3190         * platform/graphics/filters/FilterOperation.h:
3191         (FilterOperation):
3192         (WebCore::FilterOperation::isDefault):
3193         (DefaultFilterOperation):
3194         (WebCore::DefaultFilterOperation::create):
3195         (WebCore::DefaultFilterOperation::operator==):
3196         (WebCore::DefaultFilterOperation::isDefault):
3197         (WebCore::DefaultFilterOperation::DefaultFilterOperation):
3198         (WebCore):
3199         * rendering/RenderLayer.h:
3200         (WebCore::RenderLayer::hasFilter):
3201         (RenderLayer):
3202         * rendering/RenderLayerBacking.cpp:
3203         (WebCore::RenderLayerBacking::startAnimation):
3204         (WebCore::RenderLayerBacking::startTransition):
3205         (WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
3206         (WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):
3207
3208 2012-02-10  Peter Rybin  <peter.rybin@gmail.com>
3209
3210         Web Inspector: CodeGeneratorInspector.py: properly resolve output types of commands
3211         https://bugs.webkit.org/show_bug.cgi?id=78025
3212
3213         Reviewed by Vsevolod Vlasov.
3214
3215         Code for generating ad-hoc types is added. It was reused from event
3216         generator part.
3217
3218         * inspector/CodeGeneratorInspector.py:
3219         (Generator.process_event):
3220         (Generator.process_command):
3221         (Generator.resolve_type_and_generate_ad_hoc):
3222         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext):
3223         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix):
3224         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix.NameFix):
3225         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
3226         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.add_type):
3227         (Generator.resolve_type_and_generate_ad_hoc.InterfaceForwardListener):
3228         (Generator.resolve_type_and_generate_ad_hoc.InterfaceForwardListener.add_type_data):
3229         (Generator.resolve_type_and_generate_ad_hoc.InterfaceResolveContext):
3230         (Generator.resolve_type_and_generate_ad_hoc.InterfaceGenerateContext):
3231         (Generator):
3232
3233 2012-02-10  Kentaro Hara  <haraken@chromium.org>
3234
3235         Rename [CustomPropertyNames] to [CustomEnumerateProperty]
3236         https://bugs.webkit.org/show_bug.cgi?id=78351
3237
3238         Reviewed by Adam Barth.
3239
3240         This patch renames [CustomPropertyNames] to [CustomEnumerateProperty],
3241         for clarification and for naming consistency with [CustomDeleteProperty].
3242
3243         No tests. No change in behavior.
3244
3245         * bindings/scripts/CodeGeneratorJS.pm:
3246         (GenerateHeader):
3247         (GenerateImplementation):
3248         * bindings/scripts/CodeGeneratorV8.pm:
3249         (GenerateHeaderNamedAndIndexedPropertyAccessors):
3250         (GenerateImplementationNamedPropertyGetter):
3251
3252         * css/CSSStyleDeclaration.idl:
3253         * dom/DOMStringMap.idl:
3254         * page/DOMWindow.idl:
3255         * page/History.idl:
3256         * page/Location.idl:
3257         * storage/Storage.idl:
3258
3259 2012-02-09  Antti Koivisto  <antti@apple.com>
3260
3261         Use underlying property set to refcount PropertySetCSSStyleDeclaration
3262         https://bugs.webkit.org/show_bug.cgi?id=78257
3263
3264         Reviewed by Andreas Kling.
3265
3266         Clean up the PropertySetCSSStyleDeclaration refcounting. PropertySetCSSStyleDeclaration now
3267         forwards the ref/deref to the underlying StylePropertySet.
3268
3269         Also made CSSComputedStyleDeclaration construction use the standard create() pattern.
3270
3271         * css/CSSComputedStyleDeclaration.cpp:
3272         (WebCore::CSSComputedStyleDeclaration::ref):
3273         (WebCore):
3274         (WebCore::CSSComputedStyleDeclaration::deref):
3275         * css/CSSComputedStyleDeclaration.h:
3276         (WebCore::CSSComputedStyleDeclaration::create):
3277         (CSSComputedStyleDeclaration):
3278         (WebCore):
3279         * css/CSSStyleDeclaration.h:
3280         (CSSStyleDeclaration):
3281         * css/StylePropertySet.cpp:
3282         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
3283         (WebCore):
3284         (WebCore::StylePropertySet::~StylePropertySet):
3285         (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
3286         (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
3287         * css/StylePropertySet.h:
3288         * editing/ApplyStyleCommand.cpp:
3289         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
3290         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
3291         (WebCore::highestEmbeddingAncestor):
3292         (WebCore::ApplyStyleCommand::computedFontSize):
3293         * editing/EditingStyle.cpp:
3294         (WebCore::EditingStyle::init):
3295         (WebCore::EditingStyle::removeStyleAddedByNode):
3296         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
3297         (WebCore::EditingStyle::triStateOfStyle):
3298         (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
3299         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
3300         (WebCore::backgroundColorInEffect):
3301         * editing/Editor.cpp:
3302         (WebCore::Editor::textDirectionForSelection):
3303         * inspector/InspectorCSSAgent.cpp:
3304         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
3305         * page/DOMWindow.cpp:
3306         (WebCore::DOMWindow::getComputedStyle):
3307         * svg/SVGAnimateElement.cpp:
3308         (WebCore::getPropertyValue):
3309         * svg/animation/SMILTimeContainer.cpp:
3310         (WebCore::SMILTimeContainer::baseValueFor):
3311
3312 2012-02-10  Alexander Pavlov  <apavlov@chromium.org>
3313
3314         Web Inspector: [TextPrompt] TAB should complete suggestions up to their common prefix in Console
3315         https://bugs.webkit.org/show_bug.cgi?id=78236
3316
3317         Reviewed by Vsevolod Vlasov.
3318
3319         * inspector/front-end/TextPrompt.js:
3320         (WebInspector.TextPrompt.prototype._completionsReady):
3321         (WebInspector.TextPrompt.prototype._completeCommonPrefix):
3322         (WebInspector.TextPrompt.prototype.acceptSuggestion):
3323         (WebInspector.TextPrompt.prototype.tabKeyPressed):
3324
3325 2012-02-10  Pavel Feldman  <pfeldman@google.com>
3326
3327         Web Inspector: implement undo for setOuterHTML via undo-ing nested primitive commands.
3328         https://bugs.webkit.org/show_bug.cgi?id=78346
3329
3330         Reviewed by Yury Semikhatsky.
3331
3332         Tests: inspector/elements/undo-set-outer-html-2.html
3333                inspector/elements/undo-set-outer-html.html
3334
3335         * inspector/DOMEditor.cpp:
3336         (WebCore::DOMEditor::RemoveChildAction::RemoveChildAction):
3337         (WebCore::DOMEditor::InsertBeforeAction::InsertBeforeAction):
3338         (WebCore::DOMEditor::InsertBeforeAction::undo):
3339         (WebCore::DOMEditor::RemoveAttributeAction::RemoveAttributeAction):
3340         (WebCore::DOMEditor::SetAttributeAction::SetAttributeAction):
3341         (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
3342         (WebCore::DOMEditor::SetOuterHTMLAction::perform):
3343         (WebCore::DOMEditor::SetOuterHTMLAction::undo):
3344         (DOMEditor::SetOuterHTMLAction):
3345         (WebCore::DOMEditor::ReplaceWholeTextAction::ReplaceWholeTextAction):
3346         (DOMEditor::ReplaceChildNodeAction):
3347         (WebCore::DOMEditor::ReplaceChildNodeAction::ReplaceChildNodeAction):
3348         (WebCore::DOMEditor::ReplaceChildNodeAction::perform):
3349         (WebCore::DOMEditor::ReplaceChildNodeAction::undo):
3350         (WebCore):
3351         (DOMEditor::SetNodeValueAction):
3352         (WebCore::DOMEditor::SetNodeValueAction::SetNodeValueAction):
3353         (WebCore::DOMEditor::SetNodeValueAction::perform):
3354         (WebCore::DOMEditor::SetNodeValueAction::undo):
3355         (WebCore::DOMEditor::insertBefore):
3356         (WebCore::DOMEditor::removeChild):
3357         (WebCore::DOMEditor::setAttribute):
3358         (WebCore::DOMEditor::removeAttribute):
3359         (WebCore::DOMEditor::setOuterHTML):
3360         (WebCore::DOMEditor::replaceWholeText):
3361         (WebCore::DOMEditor::replaceChild):
3362         (WebCore::DOMEditor::setNodeValue):
3363         (WebCore::populateErrorString):
3364         * inspector/DOMEditor.h:
3365         (DOMEditor):
3366         * inspector/DOMPatchSupport.cpp:
3367         (WebCore::DOMPatchSupport::patchDocument):
3368         (WebCore):
3369         (WebCore::DOMPatchSupport::DOMPatchSupport):
3370         (WebCore::DOMPatchSupport::patchNode):
3371         (WebCore::DOMPatchSupport::innerPatchNode):
3372         (WebCore::DOMPatchSupport::innerPatchChildren):
3373         (WebCore::DOMPatchSupport::insertBeforeAndMarkAsUsed):
3374         (WebCore::DOMPatchSupport::removeChildAndMoveToNew):
3375         * inspector/DOMPatchSupport.h:
3376         (WebCore):
3377         (DOMPatchSupport):
3378         * inspector/InspectorCSSAgent.cpp:
3379         (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
3380         (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
3381         (InspectorCSSAgent::StyleSheetAction):
3382         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
3383         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
3384         (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
3385         (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
3386         (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
3387         (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
3388         (WebCore::InspectorCSSAgent::setStyleSheetText):
3389         (WebCore::InspectorCSSAgent::setPropertyText):
3390         (WebCore::InspectorCSSAgent::toggleProperty):
3391         (WebCore::InspectorCSSAgent::assertStyleSheetForId):
3392         * inspector/InspectorDOMAgent.cpp:
3393         (WebCore::InspectorDOMAgent::toErrorString):
3394         (WebCore):
3395         (WebCore::InspectorDOMAgent::setAttributesAsText):
3396         (WebCore::InspectorDOMAgent::setOuterHTML):
3397         (WebCore::InspectorDOMAgent::undo):
3398         * inspector/InspectorDOMAgent.h:
3399         (InspectorDOMAgent):
3400         * inspector/InspectorHistory.cpp:
3401         (WebCore::InspectorHistory::perform):
3402         (WebCore::InspectorHistory::undo):
3403         * inspector/InspectorHistory.h:
3404         (WebCore):
3405         (Action):
3406         (InspectorHistory):
3407         * inspector/InspectorPageAgent.cpp:
3408         (WebCore::InspectorPageAgent::setDocumentContent):
3409         * inspector/InspectorStyleSheet.cpp:
3410         (WebCore::InspectorStyle::setPropertyText):
3411         (WebCore::InspectorStyle::toggleProperty):
3412         (WebCore::InspectorStyleSheet::setPropertyText):
3413         (WebCore::InspectorStyleSheet::toggleProperty):
3414         * inspector/InspectorStyleSheet.h:
3415         (InspectorStyle):
3416         (InspectorStyleSheet):
3417
3418 2012-02-10  Kentaro Hara  <haraken@chromium.org>
3419
3420         Replace [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack]
3421         https://bugs.webkit.org/show_bug.cgi?id=78327
3422
3423         Reviewed by Adam Barth.
3424
3425         This patch replaces [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack],
3426         and removes [CustomArgumentHandling].
3427
3428         Test: bindings/scripts/test/TestObj.idl
3429
3430         * bindings/scripts/CodeGeneratorJS.pm: Modified to replace
3431         [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack].
3432         (GenerateCallWith):
3433         (GenerateParametersCheck):
3434         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3435         (GenerateCallWith):
3436         * bindings/scripts/CodeGeneratorGObject.pm: Ditto.
3437         (SkipFunction):
3438         (GenerateFunction):
3439         * bindings/scripts/CodeGeneratorCPP.pm: Simply removed [CustomArgumentHandling]
3440         from the skipped list. By this fix, CodeGeneratorCPP.pm will generate
3441         meaningless code for attributes or methods which was previously marked as
3442         [CustomArgumentHandling], but this change will be harmless.
3443         (ShouldSkipType):
3444
3445         * bindings/v8/custom/V8ConsoleCustom.cpp: Changed the argument order.
3446         (WebCore::V8Console::assertCallback):
3447         * page/Console.cpp: Ditto.
3448         (WebCore::Console::assertCondition):
3449         (WebCore::Console::timeEnd):
3450         * page/Console.h: Ditto.
3451         (Console):
3452
3453         * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=ScriptArguments|CallStack].
3454
3455         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
3456         (WebDOMTestObj::withScriptArgumentsAndCallStackAttribute):
3457         (WebDOMTestObj::setWithScriptArgumentsAndCallStackAttribute):
3458         (WebDOMTestObj::withScriptArgumentsAndCallStack):
3459         * bindings/scripts/test/CPP/WebDOMTestObj.h:
3460         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3461         (webkit_dom_test_obj_with_script_arguments_and_call_stack):
3462         (webkit_dom_test_obj_get_with_script_arguments_and_call_stack_attribute):
3463         (webkit_dom_test_obj_set_with_script_arguments_and_call_stack_attribute):
3464         (webkit_dom_test_obj_get_property):
3465         (webkit_dom_test_obj_class_init):
3466         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3467         * bindings/scripts/test/JS/JSTestObj.cpp:
3468         (WebCore):
3469         (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
3470         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
3471         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
3472         * bindings/scripts/test/JS/JSTestObj.h:
3473         (WebCore):
3474         * bindings/scripts/test/ObjC/DOMTestObj.h:
3475         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3476         (-[DOMTestObj withScriptArgumentsAndCallStackAttribute]):
3477         (-[DOMTestObj setWithScriptArgumentsAndCallStackAttribute:]):
3478         (-[DOMTestObj withScriptArgumentsAndCallStack]):
3479         * bindings/scripts/test/V8/V8TestObj.cpp:
3480         (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrGetter):
3481         (TestObjInternal):
3482         (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrSetter):
3483         (WebCore::TestObjInternal::withScriptArgumentsAndCallStackCallback):
3484         (WebCore):
3485         (WebCore::ConfigureV8TestObjTemplate):
3486
3487 2012-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
3488
3489