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