0c16b61058b757a129fc72c6e2d9115b3f8c1876
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-01-01  Andreas Kling  <awesomekling@apple.com>
2
3         Cache named item collections on Document, not just their caches.
4         <http://webkit.org/b/75403>
5
6         Reviewed by Anders Carlsson.
7
8         Keep two maps of name -> RefPtr<HTMLNameCollection> on Document. We already
9         had maps for the CollectionCaches and were creating the HTMLNameCollections
10         every time they were accessed. We now let the collections create and manage
11         the CollectionCaches instead of Document.
12
13         No new tests since these collections are not exposed to the web.
14
15         * dom/Document.h:
16         * dom/Document.cpp:
17         (WebCore::Document::windowNamedItems):
18         (WebCore::Document::documentNamedItems):
19
20             Replace the name/CollectionCache maps by name/HTMLNameCollection maps.
21
22         * bindings/js/JSDOMWindowCustom.cpp:
23         (WebCore::namedItemGetter):
24         * bindings/js/JSHTMLDocumentCustom.cpp:
25         (WebCore::JSHTMLDocument::nameGetter):
26
27             Pass names as AtomicStrings to Document's collection getters.
28
29         * html/HTMLNameCollection.h:
30         (WebCore::HTMLNameCollection::create):
31         * html/HTMLNameCollection.cpp:
32         (WebCore::HTMLNameCollection::HTMLNameCollection):
33
34             Store the name in an AtomicString instead of a String, incidentally
35             making traversal of HTMLNameCollections more efficient.
36
37         * html/CollectionType.h:
38
39             Remove two now-unneeded constants.
40
41 2012-01-01  Andreas Kling  <awesomekling@apple.com>
42
43         Remove Document::collectionInfo() and let collections manage their caches.
44         <http://webkit.org/b/75401>
45
46         Reviewed by Anders Carlsson.
47
48         Remove the CollectionCaches from Document and have the document's collections
49         create and manage the caches on-demand instead. This is a step towards merging
50         CollectionCache into HTMLCollection.
51
52         * dom/Document.h:
53         * dom/Document.cpp:
54         * html/HTMLCollection.cpp:
55         (WebCore::HTMLCollection::HTMLCollection):
56         * html/HTMLOptionsCollection.cpp:
57
58 2012-01-01  Andreas Kling  <awesomekling@apple.com>
59
60         RenderThemeMac: Avoid double hash lookup in systemColor().
61         <http://webkit.org/b/75409>
62
63         Reviewed by Anders Carlsson.
64
65         * rendering/RenderThemeMac.mm:
66         (WebCore::RenderThemeMac::systemColor):
67
68 2012-01-01  Andreas Kling  <awesomekling@apple.com>
69
70         CSSStyleSelector: Avoid double hash lookup in keyframeStylesForAnimation().
71         <http://webkit.org/b/75408>
72
73         Reviewed by Anders Carlsson.
74
75         * css/CSSStyleSelector.cpp:
76         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
77
78 2012-01-01  Andreas Kling  <awesomekling@apple.com>
79
80         KeyframeAnimation: Use hash lookups to determine if property is animated.
81         <http://webkit.org/b/75407>
82
83         Reviewed by Anders Carlsson.
84
85         Clean out an old FIXME about using hash lookups instead of iterating over
86         the properties.
87
88         * page/animation/KeyframeAnimation.cpp:
89         (WebCore::KeyframeAnimation::hasAnimationForProperty):
90         (WebCore::KeyframeAnimation::affectsProperty):
91
92 2011-12-31  Dan Bernstein  <mitz@apple.com>
93
94         WebCore change for <rdar://problem/10463059> Cannot print USPS shipping labels
95         http://webkit.org/b/72801
96
97         Reviewed by Anders Carlsson and Alexey Proskuryakov.
98
99         * WebCore.exp.in: Exported Chrome::print().
100
101 2011-12-31  Dan Bernstein  <mitz@apple.com>
102
103         WebCore changes for <rdar://problem/8750356> REGRESSION (WebKit2): Printing a subframe containing a PDF prints the on-screen view instead of the entire PDF document
104         <http://webkit.org/b/75232>
105
106         Reviewed by Alexey Proskuryakov.
107
108         * WebCore.exp.in: Exported PluginDocument::pluginWidget().
109         * WebCore.xcodeproj/project.pbxproj: Promoted PluginDocument.h to private.
110         * html/PluginDocument.h: Fixed a typo in a comment.
111
112 2011-12-30  Andreas Kling  <awesomekling@apple.com>
113
114         Cache and reuse the HTMLTableElement.rows collection.
115         <http://webkit.org/b/75398>
116
117         Reviewed by Anders Carlsson.
118
119         Let HTMLTableElement::rows() cache the returned collection and tie it to the
120         lifetime of the form.
121
122         Test: fast/dom/table-rows-collection-idempotence.html
123               fast/dom/gc-9.html
124
125         * html/HTMLTableElement.h:
126         * html/HTMLTableElement.cpp:
127         (WebCore::HTMLTableElement::rows):
128
129             Cache the HTMLTableRowsCollection returned by rows() on the HTMLTableElement.
130             Remove the per-table CollectionCache and let the collection manage that.
131
132         * html/HTMLTableRowsCollection.h:
133         * html/HTMLTableRowsCollection.cpp:
134         (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
135         (WebCore::HTMLTableRowsCollection::create):
136
137             Tell the base class constructor to not retain the back-pointer to the table.
138
139 2011-12-30  Andreas Kling  <awesomekling@apple.com>
140
141         Cache and reuse the HTMLSelectElement.options collection.
142         <http://webkit.org/b/75399>
143
144         Reviewed by Anders Carlsson.
145
146         Let HTMLSelectElement::options() cache the returned collection and tie it to the
147         lifetime of the form. This shrinks HTMLSelectElement by sizeof(CollectionCache)
148         minus one pointer.
149
150         Test: fast/dom/select-options-collection-idempotence.html
151               fast/gc-9.html
152
153         * html/HTMLSelectElement.h:
154         * html/HTMLSelectElement.cpp:
155         (WebCore::HTMLSelectElement::options):
156
157             Cache the HTMLOptionsCollection returned by options() on the HTMLSelectElement.
158             Remove the per-select CollectionCache and let the collection manage that.
159
160         * html/HTMLOptionsCollection.h:
161         * html/HTMLOptionsCollection.cpp:
162         (WebCore::HTMLOptionsCollection::create):
163         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
164
165             Tell the base class constructor to not retain the back-pointer to the element.
166
167         * html/HTMLSelectElement.cpp:
168         (WebCore::HTMLSelectElement::setRecalcListItems):
169         * html/HTMLOptionsCollection.cpp:
170         (WebCore::HTMLOptionsCollection::invalidateCache):
171
172             Added so HTMLSelectElement can invalidate the collection without triggering
173             unnecessary instantiation of a CollectionCache.
174
175 2011-12-30  Kentaro Hara  <haraken@chromium.org>
176
177         Enable the [Supplemental] IDL on CMake
178         https://bugs.webkit.org/show_bug.cgi?id=75345
179
180         Reviewed by Daniel Bates.
181
182         This patch enables the [Supplemental] IDL on CMake by changing the build
183         flow of CMake as follows.
184
185         - Previous build flow:
186             foreach $idl (all IDL files) {
187                 generate-bindings.pl depends on $idl;
188                 generate-bindings.pl reads $idl;
189                 generate-bindings.pl generates .h and .cpp files for $idl;
190             }
191
192         - New build flow (See the discussions in bug 72138 for more details):
193             resolve-supplemental.pl depends on all IDL files;
194             resolve-supplemental.pl reads all IDL files;
195             resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
196             resolve-supplemental.pl outputs supplemental_dependency.tmp;
197             foreach $idl (all IDL files) {
198                 generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
199                 generate-bindings.pl reads $idl;
200                 generate-bindings.pl reads supplemental_dependency.tmp;
201                 generate-bindings.pl generates .h and .cpp files for $idl,
202                     including all attributes in the IDL files that are implementing $idl;
203             }
204
205         Tests: Confirm that build succeeds.
206                http/tests/websocket/tests/*
207
208         * CMakeLists.txt:
209         * UseJSC.cmake: Modified to reflect the new build flow as described above.
210         * UseV8.cmake: Ditto.
211
212 2011-12-30  Robert Hogan  <robert@webkit.org>
213
214         REGRESSION (r94492): Text is shifted to the right in some buttons in the Mac App Store
215         https://bugs.webkit.org/show_bug.cgi?id=74723
216
217         Reviewed by Dan Bernstein.
218
219         Tests: fast/css/absolute-inline-alignment-2.html
220                fast/css/absolute-inline-alignment.html
221
222         Inline positioned elements in the leading spaces of an inline run need to align to 
223         adjacent text, so add them to the run as they're encountered.
224
225         * rendering/RenderBlockLineLayout.cpp:
226         (WebCore::LineInfo::LineInfo): Keep a count of positioned objects encountered when
227          skipping leading whitespace.
228         (WebCore::LineInfo::runsFromLeadingWhitespace):
229         (WebCore::LineInfo::resetRunsFromLeadingWhitespace):
230         (WebCore::LineInfo::incrementRunsFromLeadingWhitespace):
231         (WebCore::RenderBlock::constructLine): Leading positioned objects should not be considered
232          when deciding the number of runs in a line. Otherwise they would contribute towards line 
233          height themselves and prevent a free-standing BR following the positioned object from providing a full 
234          20px of height.
235         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Since a run containing line-breaks will enter
236          skipLeadingWhitespace for each new line we reset the count every time so that the count of positioned
237          objects we encounter only affects the line they appear on. This case is covered by 
238          fast/inline/styledEmptyInlinesWithBRs.html
239         (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace): Add a run for each inline positioned object
240          encountered in leading white space. Keep a count of them so that they can be excluded from
241          the total number of runs in constructLine. 
242
243 2011-12-30  Raymond Liu  <raymond.liu@intel.com>
244
245         Remove unnecessary [Custom] attribute in CanvasRenderingContext2D.idl
246         https://bugs.webkit.org/show_bug.cgi?id=75376
247
248         Reviewed by Adam Barth.
249
250         No new tests required.
251
252         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
253         * html/canvas/CanvasRenderingContext2D.idl:
254
255 2011-12-30  Andreas Kling  <awesomekling@apple.com>
256
257         Cache and reuse the HTMLFormElement.elements collection.
258         <http://webkit.org/b/75375>
259
260         Reviewed by Anders Carlsson.
261
262         Let HTMLFormElement::elements() cache the returned collection and tie it to the
263         lifetime of the form. This reduces memory consumption by ~70 kB (on 64-bit) when
264         viewing your average popular post on reddit.com.
265
266         Test: fast/dom/form-elements-collection-idempotence.html
267               fast/dom/gc-9.html
268
269         * html/HTMLFormElement.h:
270         * html/HTMLFormElement.cpp:
271         (WebCore::HTMLFormElement::elements):
272
273             Cache the HTMLFormCollection returned by elements() on the HTMLFormElement.
274             Remove the per-form CollectionCache and let the collection manage that.
275
276         * html/HTMLCollection.h:
277         * html/HTMLCollection.cpp:
278         (WebCore::HTMLCollection::HTMLCollection):
279         (WebCore::HTMLCollection::create):
280
281             Have the HTMLCollection constructor take a bool argument that decides whether
282             we retain the base node pointer or not. This mechanism is a temporary measure
283             until all collection types are owned by their respective base nodes.
284
285         * html/HTMLFormCollection.h:
286         * html/HTMLFormCollection.cpp:
287         (WebCore::HTMLFormCollection::HTMLFormCollection):
288         (WebCore::HTMLFormCollection::create):
289
290             Tell the base class constructor to not retain the back-pointer to the form.
291
292 2011-12-30  Andreas Kling  <awesomekling@apple.com>
293
294         Unreviewed buildfix after r103841.
295
296         * inspector/InspectorMemoryAgent.cpp:
297
298 2011-12-30  Andreas Kling  <awesomekling@apple.com>
299
300         CSSStyleDeclaration: Only allow setting parent rule at construction.
301         <http://webkit.org/b/75391>
302
303         Reviewed by Dan Bernstein.
304
305         A CSSStyleDeclaration should only ever belong to one CSSRule. Enforce this
306         at compile-time by replacing setParentRule(CSSRule*) with clearParentRule().
307
308         * css/CSSFontFaceRule.cpp:
309         (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
310         * css/CSSStyleDeclaration.h:
311         (WebCore::CSSStyleDeclaration::clearParentRule):
312         * css/CSSStyleRule.cpp:
313         (WebCore::CSSStyleRule::~CSSStyleRule):
314         * css/WebKitCSSKeyframeRule.cpp:
315         (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
316
317 2011-12-30  Andreas Kling  <awesomekling@apple.com>
318
319         WebKitCSSKeyframeRule.style.parentRule should point to the keyframe rule.
320         <http://webkit.org/b/75336>
321
322         Reviewed by Antti Koivisto.
323
324         Let CSS animation keyframe rules .style.parentRule point back to the keyframe
325         board, rather than the keyframes rule containing it.
326
327         Test: fast/css/css-keyframe-style-parentRule.html
328
329         * css/CSSParser.cpp:
330         (WebCore::CSSParser::createKeyframeRule):
331         * css/WebKitCSSKeyframeRule.cpp:
332         (WebCore::WebKitCSSKeyframeRule::setDeclaration):
333
334             Set the CSSMutableStyleDeclaration's parent rule when creating it instead
335             of in WebKitCSSKeyframeRule::setDeclaration(). Add assertion to make sure
336             it's only called with declarations already parented to the keyframe rule.
337
338         * css/WebKitCSSKeyframesRule.cpp:
339         (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
340         (WebCore::WebKitCSSKeyframesRule::append):
341         (WebCore::WebKitCSSKeyframesRule::deleteRule):
342
343             Stop reparenting keyframe rules' style declarations to the keyframes rule.
344
345 2011-12-30  Yury Semikhatsky  <yurys@chromium.org>
346
347         Web Inspector: use typed front-end API in the memory agent
348         https://bugs.webkit.org/show_bug.cgi?id=75382
349
350         Memory agent now uses generate C++ API for communicating to the front-end.
351
352         Reviewed by Pavel Feldman.
353
354         * inspector/InspectorMemoryAgent.cpp:
355         (WebCore::DOMTreeStatistics::CounterVisitor::CounterVisitor):
356         (WebCore::DOMTreeStatistics::CounterVisitor::counters):
357         (WebCore::DOMTreeStatistics::CounterVisitor::visitNode):
358
359 2011-12-30  Pavel Feldman  <pfeldman@google.com>
360
361         Web Inspector: migrate from "attached" to "compact" styles.
362         https://bugs.webkit.org/show_bug.cgi?id=75381
363
364         When front-end is docked to right, it should look like "detached", but is still "attached".
365         Use "compact" mode instead of "attached" mode in the styles to mitigate it.
366
367         Reviewed by Yury Semikhatsky.
368
369         * inspector/front-end/SearchController.js:
370         (WebInspector.SearchController.prototype.updateSearchLabel):
371         * inspector/front-end/Toolbar.js:
372         (WebInspector.Toolbar.prototype.set compact):
373         (WebInspector.Toolbar.prototype._toolbarDragStart):
374         (WebInspector.Toolbar.prototype._toolbarDrag):
375         * inspector/front-end/helpScreen.css:
376         (body.compact .help-window-outer):
377         (body.compact .help-window-main):
378         (body.compact .help-window-caption):
379         (body.compact .help-close-button):
380         (body.compact .help-content):
381         * inspector/front-end/inspector.css:
382         (body.compact #toolbar):
383         (body.compact.port-qt #toolbar):
384         (body.compact.inactive #toolbar):
385         (body.compact #search-toolbar-label):
386         (body.compact #toolbar-dropdown-arrow):
387         (body.compact #search):
388         (body.compact.port-qt .toolbar-item.close-left, body.compact.port-qt .toolbar-item.close-right):
389         (body.compact #main):
390         * inspector/front-end/inspector.js:
391         (WebInspector.set attached):
392         (WebInspector.get isCompactMode):
393         (WebInspector.get _setCompactMode):
394         (WebInspector._installDockToRight.listener.get if):
395         (WebInspector._installDockToRight.listener):
396         * inspector/front-end/inspectorCommon.css:
397         (body.dock-to-right):
398         (body.dock-to-right.inactive):
399
400 2011-12-30  Sheriff Bot  <webkit.review.bot@gmail.com>
401
402         Unreviewed, rolling out r103794.
403         http://trac.webkit.org/changeset/103794
404         https://bugs.webkit.org/show_bug.cgi?id=75379
405
406         the ASSERT is triggered by several tests (Requested by
407         jchaffraix on #webkit).
408
409         * rendering/RenderTable.cpp:
410         (WebCore::RenderTable::RenderTable):
411         (WebCore::RenderTable::addChild):
412         (WebCore::RenderTable::layout):
413         (WebCore::RenderTable::recalcSections):
414         (WebCore::RenderTable::outerBorderAfter):
415         (WebCore::RenderTable::sectionAbove):
416         (WebCore::RenderTable::sectionBelow):
417         * rendering/RenderTable.h:
418         (WebCore::RenderTable::header):
419         (WebCore::RenderTable::footer):
420         (WebCore::RenderTable::firstBody):
421         (WebCore::RenderTable::hasSections):
422         (WebCore::RenderTable::topSection):
423
424 2011-12-29  Pavel Feldman  <pfeldman@google.com>
425
426         Web Inspector: enable dock-to-right view (still need embedders to support it).
427         https://bugs.webkit.org/show_bug.cgi?id=75360
428
429         Reviewed by Yury Semikhatsky.
430
431         * English.lproj/localizedStrings.js:
432         * inspector/front-end/Settings.js:
433         (WebInspector.Settings):
434         * inspector/front-end/SettingsScreen.js:
435         (WebInspector.SettingsScreen):
436         * inspector/front-end/inspector.js:
437         (WebInspector.set attached):
438         (WebInspector._renderAsAttached.get return):
439         (WebInspector._renderAsAttached):
440         (WebInspector._installDockToRight.updateToolbar):
441
442 2011-12-29  Raymond Liu  <raymond.liu@intel.com>
443
444         Use IDL overloads in AudioContext.idl for createBuffer
445         https://bugs.webkit.org/show_bug.cgi?id=75293
446
447         Reviewed by Adam Barth.
448
449         No new tests required.
450
451         * bindings/js/JSAudioContextCustom.cpp:
452         * bindings/v8/custom/V8AudioContextCustom.cpp:
453         * webaudio/AudioContext.cpp:
454         (WebCore::AudioContext::createBuffer):
455         * webaudio/AudioContext.h:
456         * webaudio/AudioContext.idl:
457
458 2011-12-29  Andreas Kling  <awesomekling@apple.com>
459
460         HTMLDivElement: Remove unnecessary variable in parseMappedAttribute().
461         <http://webkit.org/b/75363>
462
463         Reviewed by Daniel Bates.
464
465         * html/HTMLDivElement.cpp:
466         (WebCore::HTMLDivElement::parseMappedAttribute):
467
468 2011-12-29  Andreas Kling  <awesomekling@apple.com>
469
470         HTMLParagraphElement: Remove unnecessary variable in parseMappedAttribute().
471         <http://webkit.org/b/75362>
472
473         Reviewed by Daniel Bates.
474
475         * html/HTMLParagraphElement.cpp:
476         (WebCore::HTMLParagraphElement::parseMappedAttribute):
477
478 2011-12-29  Andreas Kling  <awesomekling@apple.com>
479
480         Use HashMap<OwnPtr> for Document's named item collection caches.
481         <http://webkit.org/b/75335>
482
483         Reviewed by Daniel Bates.
484
485         * dom/Document.cpp:
486         (WebCore::Document::~Document):
487
488             Remove now-unneeded deleteAllValues() loop.
489
490         (WebCore::Document::nameCollectionInfo):
491
492             Use add() instead of find()/add() to avoid one extra hash lookup.
493
494         * dom/Document.h:
495
496             Switch the value type of m_nameCollectionInfo to use OwnPtr.
497
498 2011-12-29  David Barton  <dbarton@mathscribe.com>
499
500         mfenced skips the first separator if the separators attribute contains multiple separators
501         https://bugs.webkit.org/show_bug.cgi?id=57697
502
503         Reviewed by Dan Bernstein.
504
505         Added 2 test cases.
506
507         * rendering/mathml/RenderMathMLFenced.cpp:
508         (WebCore::RenderMathMLFenced::addChild):
509             - Thanks to Xun Sun <xun.sun@intel.com> for the off-by-one error fix.
510
511 2011-12-29  Alexis Menard  <alexis.menard@openbossa.org>
512
513         Enable the [Supplemental] IDL on Qt.
514         https://bugs.webkit.org/show_bug.cgi?id=75274
515
516         Reviewed by Andreas Kling.
517
518         http://trac.webkit.org/changeset/103783 broke the Qt SL bot.
519         This patch fixes the problem by using 'tr' rather than 'sed' which
520         seems to be more consistent between Mac and Linux.
521
522         * DerivedSources.pri:
523
524 2011-12-29  Vsevolod Vlasov  <vsevik@chromium.org>
525
526         Web Inspector: Scripts navigator should support incremental search by typing.
527         https://bugs.webkit.org/show_bug.cgi?id=75349
528
529         Reviewed by Pavel Feldman.
530
531         * inspector/front-end/ScriptsNavigator.js:
532         (WebInspector.ScriptsNavigator):
533         (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
534         (WebInspector.ScriptsNavigator.prototype.show):
535         (WebInspector.ScriptsNavigator.prototype._reset):
536         (WebInspector.NavigatorTreeOutline):
537         (WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements):
538         (WebInspector.NavigatorTreeOutline.prototype.searchStarted):
539         (WebInspector.NavigatorTreeOutline.prototype.searchFinished):
540         (WebInspector.BaseNavigatorTreeElement.prototype.onreveal):
541         (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
542         (WebInspector.BaseNavigatorTreeElement.prototype.matchesSearchText):
543         * inspector/front-end/inspector.css:
544         (.outline-disclosure ol.search-match-not-found li.selected .selection):
545         (.outline-disclosure ol.search-match-found li.selected):
546         (.outline-disclosure ol.search-match-found li.selected *):
547         (.outline-disclosure ol.search-match-found li.parent.selected::before):
548         (.outline-disclosure ol.search-match-found li.parent.expanded.selected::before):
549         * inspector/front-end/scriptsPanel.css:
550         (#scripts-navigator-tree-search-box):
551         (#scripts-navigator-tree-search-box.visible):
552         (#scripts-navigator-tree-search-box > input):
553         (.scripts.panel .navigator .search-match-found li.selected .selection):
554         (.scripts.panel .navigator .search-match-not-found li.selected .selection):
555         (.scripts.panel .navigator .searching li.selected .selection):
556         * inspector/front-end/treeoutline.js:
557         (TreeOutline):
558         (TreeOutline.prototype._treeKeyPress):
559         (TreeOutline.prototype._startSearch.focusSearchInput):
560         (TreeOutline.prototype._startSearch):
561         (TreeOutline.prototype._searchTextChanged):
562         (TreeOutline.prototype._showSearchMatchElement):
563         (TreeOutline.prototype._searchInputKeyDown):
564         (TreeOutline.prototype._nextSearchMatch):
565         (TreeOutline.prototype._previousSearchMatch):
566         (TreeOutline.prototype._searchInputBlur):
567         (TreeOutline.prototype._searchFinished):
568         (TreeOutline.prototype.stopSearch):
569
570 2011-12-29  Vsevolod Vlasov  <vsevik@chromium.org>
571
572         Web Inspector: Scripts navigator should trim long file names and show full url in tooltip.
573         https://bugs.webkit.org/show_bug.cgi?id=75343
574
575         Reviewed by Pavel Feldman.
576
577         Test: inspector/debugger/ui-source-code-display-name.html
578
579         * inspector/front-end/ScriptsNavigator.js:
580         (WebInspector.ScriptsNavigator.prototype.setScriptSourceIsDirty):
581         * inspector/front-end/ScriptsPanel.js:
582         (WebInspector.ScriptsPanel.EditorContainer.prototype.showSourceFrame):
583         (WebInspector.ScriptsPanel.EditorContainer.prototype.replaceSourceFrames):
584         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showSourceFrame):
585         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceSourceFrames):
586         * inspector/front-end/TabbedEditorContainer.js:
587         (WebInspector.TabbedEditorContainer):
588         (WebInspector.TabbedEditorContainer.prototype._appendSourceFrameTab):
589         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
590         (WebInspector.TabbedEditorContainer.prototype._replaceSourceFrameTab.get if):
591         (WebInspector.TabbedEditorContainer.prototype._replaceSourceFrameTab):
592         (WebInspector.TabbedEditorContainer.prototype.get replaceSourceFrames):
593         (WebInspector.TabbedEditorContainer.prototype.reset):
594         * inspector/front-end/TabbedPane.js:
595         (WebInspector.TabbedPane.prototype.appendTab):
596         (WebInspector.TabbedPane.prototype.changeTabTooltip):
597         (WebInspector.TabbedPaneTab):
598         (WebInspector.TabbedPaneTab.prototype.get tooltip):
599         (WebInspector.TabbedPaneTab.prototype.set tooltip):
600         (WebInspector.TabbedPaneTab.prototype._createTabElement):
601         * inspector/front-end/UISourceCode.js:
602         (WebInspector.UISourceCode.prototype._parseURL):
603         * inspector/front-end/utilities.js:
604         ():
605
606 2011-12-29  Alexis Menard  <alexis.menard@openbossa.org>
607
608         getComputedStyle for margin is not implemented.
609         https://bugs.webkit.org/show_bug.cgi?id=75358
610
611         Reviewed by Andreas Kling.
612
613         Implement getComputedStyle for margin.
614
615         Test: fast/css/getComputedStyle/getComputedStyle-margin-shorthand.html
616
617         * css/CSSComputedStyleDeclaration.cpp:
618         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
619
620 2011-12-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
621
622         Use HashMap<OwnPtr> in RenderSVGResourcePattern
623         https://bugs.webkit.org/show_bug.cgi?id=75361
624
625         Reviewed by Andreas Kling.
626
627         * rendering/svg/RenderSVGResourcePattern.cpp:
628         (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
629         (WebCore::RenderSVGResourcePattern::removeClientFromCache):
630         (WebCore::RenderSVGResourcePattern::applyResource): use HashMap::add() to avoid
631         looking up the hash twice.
632         * rendering/svg/RenderSVGResourcePattern.h: rename m_pattern to m_patternMap to
633         improve readability a little bit.
634
635 2011-12-29  Alexis Menard  <alexis.menard@openbossa.org>
636
637         getComputedStyle for padding is not implemented.
638         https://bugs.webkit.org/show_bug.cgi?id=75352
639
640         Reviewed by Andreas Kling.
641
642         Implement getComputedStyle for padding shorthand property.
643
644         Test: fast/css/getComputedStyle/getComputedStyle-padding-shorthand.html
645
646         * css/CSSComputedStyleDeclaration.cpp:
647         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
648
649 2011-12-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
650
651         Use HashMap<OwnPtr> in OriginAccessMap
652         https://bugs.webkit.org/show_bug.cgi?id=75327
653
654         Reviewed by Andreas Kling.
655
656         * page/SecurityPolicy.cpp:
657         (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
658         (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
659         (WebCore::SecurityPolicy::resetOriginAccessWhitelists):
660
661 2011-12-29  Pavel Podivilov  <podivilov@chromium.org>
662
663         Web Inspector: support sourceMappingURL magic comment.
664         https://bugs.webkit.org/show_bug.cgi?id=75356
665
666         Reviewed by Pavel Feldman.
667
668         * inspector/ContentSearchUtils.cpp:
669         (WebCore::ContentSearchUtils::findSourceMapURL):
670         * inspector/ContentSearchUtils.h:
671         * inspector/InspectorDebuggerAgent.cpp:
672         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
673
674 2011-12-29  Alexander Pavlov  <apavlov@chromium.org>
675
676         Web Inspector: Suggest pop-over doesn't hide on tab switch
677         https://bugs.webkit.org/show_bug.cgi?id=73611
678
679         Reviewed by Pavel Feldman.
680
681         * inspector/front-end/ConsoleView.js:
682         (WebInspector.ConsoleView.prototype.willHide):
683         * inspector/front-end/TextPrompt.js:
684         (WebInspector.TextPrompt.prototype.complete):
685         (WebInspector.TextPrompt.prototype._completionsReady):
686         (WebInspector.TextPrompt.prototype.acceptSuggestion):
687         (WebInspector.TextPrompt.prototype.hideSuggestBox):
688         (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
689
690 2011-12-28  Alexander Pavlov  <apavlov@chromium.org>
691
692         Web Inspector: Implement CSS selector profiler
693         https://bugs.webkit.org/show_bug.cgi?id=74004
694
695         Reviewed by Pavel Feldman.
696
697         This implementation of CSS selector profiler measures the total time required to match a certain selector
698         against DOM nodes and apply the style declaration properties to the particular element,
699         as well as the number of selector  matches (i.e. the number of nodes that matched the selector.)
700         The results are approximate due to internal matching algorithm optimizations (shared styles et al.)
701         Multiple selectors with the same selectorText are coalesced into a single record.
702
703         * English.lproj/localizedStrings.js:
704         * WebCore.gypi:
705         * WebCore.vcproj/WebCore.vcproj:
706         * inspector/compile-front-end.sh:
707         * inspector/front-end/CSSSelectorProfileView.js: Added.
708         (WebInspector.CSSSelectorDataGridNode):
709         (WebInspector.CSSSelectorDataGridNode.prototype.get rawData):
710         (WebInspector.CSSSelectorProfileView):
711         (WebInspector.CSSSelectorProfileView.prototype.get statusBarItems):
712         (WebInspector.CSSSelectorProfileView.prototype.get profile):
713         (WebInspector.CSSSelectorProfileView.prototype.set profile):
714         (WebInspector.CSSSelectorProfileView.prototype._createProfileNodes):
715         (WebInspector.CSSSelectorProfileView.prototype.rebuildGridItems):
716         (WebInspector.CSSSelectorProfileView.prototype.refreshData):
717         (WebInspector.CSSSelectorProfileView.prototype.refreshShowAsPercents):
718         (WebInspector.CSSSelectorProfileView.prototype._sortProfile.get selectorComparator):
719         (WebInspector.CSSSelectorProfileView.prototype._sortProfile.timeComparator):
720         (WebInspector.CSSSelectorProfileView.prototype._sortProfile.matchesComparator):
721         (WebInspector.CSSSelectorProfileView.prototype._sortProfile):
722         (WebInspector.CSSSelectorProfileType):
723         (WebInspector.CSSSelectorProfileType.prototype.get buttonTooltip):
724         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
725         (WebInspector.CSSSelectorProfileType.prototype.get treeItemTitle):
726         (WebInspector.CSSSelectorProfileType.prototype.get description):
727         (WebInspector.CSSSelectorProfileType.prototype.reset):
728         (WebInspector.CSSSelectorProfileType.prototype.isRecordingProfile):
729         (WebInspector.CSSSelectorProfileType.prototype.setRecordingProfile):
730         (WebInspector.CSSSelectorProfileType.prototype.startRecordingProfile):
731         (WebInspector.CSSSelectorProfileType.prototype.stopRecordingProfile):
732         (WebInspector.CSSSelectorProfileType.prototype.createSidebarTreeElementForProfile):
733         (WebInspector.CSSSelectorProfileType.prototype.createView):
734         * inspector/front-end/DetailedHeapshotView.js:
735         * inspector/front-end/ProfileView.js:
736         * inspector/front-end/ProfilesPanel.js:
737         (WebInspector.ProfileType.prototype.reset):
738         (WebInspector.ProfilesPanel.prototype._reset):
739         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
740         (WebInspector.ProfilesPanel.prototype._removeTemporaryProfile):
741         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
742         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
743         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
744         (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
745         * inspector/front-end/WebKit.qrc:
746         * inspector/front-end/inspector.html:
747         * inspector/front-end/profilesPanel.css:
748
749 2011-12-29  Sheriff Bot  <webkit.review.bot@gmail.com>
750
751         Unreviewed, rolling out r103798.
752         http://trac.webkit.org/changeset/103798
753         https://bugs.webkit.org/show_bug.cgi?id=75353
754
755         some small scrollbar differences are making the tests fail on
756         several platforms (Requested by jchaffraix on #webkit).
757
758         * rendering/RenderLayer.cpp:
759         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
760
761 2011-12-29  Alexander Pavlov  <apavlov@chromium.org>
762
763         Web Inspector: Focus of the DOM tree is not restored when switching to the Elements panel
764         https://bugs.webkit.org/show_bug.cgi?id=75351
765
766         Reviewed by Yury Semikhatsky.
767
768         * inspector/front-end/ElementsPanel.js:
769         (WebInspector.ElementsPanel.prototype.wasShown):
770
771 2011-12-29  Julien Chaffraix  <jchaffraix@webkit.org>
772
773         REGRESSION (r93614): Safari Reader doesn't repaint correctly when scrolling
774         https://bugs.webkit.org/show_bug.cgi?id=67100
775
776         Reviewed by Dan Bernstein.
777
778         Tests: fast/layers/scroll-with-transform-composited-layer-expected.html
779                fast/layers/scroll-with-transform-composited-layer.html
780                fast/layers/scroll-with-transform-layer-expected.html
781                fast/layers/scroll-with-transform-layer.html
782
783         The regression came from a previous optimization that was wrongly kept after r93614.
784
785         * rendering/RenderLayer.cpp:
786         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
787         Remove the early return for transformed layer. This change worked as we used
788         to call updateLayerPositions from scrollTo which would call updateLayerPosition on
789         all our descendants. After r93614, this is no longer the case and we explicitely need
790         to call updateLayerPosition on our descendants from updateLayerPositionsAfterScroll.
791
792 2011-12-29  Alexander Pavlov  <apavlov@chromium.org>
793
794         Web Inspector: Tree views can be collapsed/hidden using the keyboard arrows
795         https://bugs.webkit.org/show_bug.cgi?id=46272
796
797         Reviewed by Yury Semikhatsky.
798
799         WebInspector.SidebarSectionTreeElement which is not selectable has also been made non-collapsible
800         and expanded by default.
801
802         * inspector/front-end/AuditsPanel.js:
803         (WebInspector.AuditsPanel):
804         * inspector/front-end/ProfilesPanel.js:
805         (WebInspector.ProfilesPanel.prototype._registerProfileType):
806         * inspector/front-end/SidebarTreeElement.js:
807         (WebInspector.SidebarSectionTreeElement):
808         (WebInspector.SidebarSectionTreeElement.prototype.selectable.false.collapse):
809         * inspector/front-end/TimelinePanel.js:
810         (WebInspector.TimelinePanel):
811
812 2011-12-29  Pavel Feldman  <pfeldman@google.com>
813
814         Web Inspector: [chromium] pass dock to side request to the embedder.
815         https://bugs.webkit.org/show_bug.cgi?id=75344
816
817         Reviewed by Yury Semikhatsky.
818
819         I'd like to enable dock-to-right for the front-end window. This is a background work
820         to pass control flow from the front-end to the front-end host.
821
822         * inspector/InspectorFrontendClient.h:
823         * inspector/InspectorFrontendClientLocal.h:
824         (WebCore::InspectorFrontendClientLocal::requestSetDockSide):
825         * inspector/InspectorFrontendHost.cpp:
826         (WebCore::InspectorFrontendHost::requestSetDockSide):
827         * inspector/InspectorFrontendHost.h:
828         * inspector/InspectorFrontendHost.idl:
829         * inspector/front-end/InspectorFrontendHostStub.js:
830         (.WebInspector.InspectorFrontendHostStub.prototype.requestAttachWindow):
831         (.WebInspector.InspectorFrontendHostStub.prototype.requestDetachWindow):
832         (.WebInspector.InspectorFrontendHostStub.prototype.requestSetDockSide):
833
834 2011-12-28  Pavel Podivilov  <podivilov@chromium.org>
835
836         Web Inspector: add "enable source maps" checkbox setting.
837         https://bugs.webkit.org/show_bug.cgi?id=75311
838
839         Reviewed by Pavel Feldman.
840
841         When "enable source maps" is on, all auto detected source maps are silently applied.
842
843         * English.lproj/localizedStrings.js:
844         * inspector/front-end/DebuggerPresentationModel.js:
845         * inspector/front-end/JavaScriptSourceFrame.js:
846         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
847         * inspector/front-end/RawSourceCode.js:
848         (WebInspector.RawSourceCode):
849         (WebInspector.RawSourceCode.prototype.setFormatted):
850         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
851         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
852         (WebInspector.RawSourceCode.prototype._createUISourceCode):
853         * inspector/front-end/Settings.js:
854         (WebInspector.Settings):
855         * inspector/front-end/SettingsScreen.js:
856         (WebInspector.SettingsScreen):
857         * inspector/front-end/UISourceCode.js:
858         (WebInspector.UISourceCode):
859         * inspector/front-end/inspector.js:
860         (WebInspector._toolbarItemClicked):
861
862 2011-12-29  Julien Chaffraix  <jchaffraix@webkit.org>
863
864         Tighten our checks for needsSectionRecalc in RenderTable
865         https://bugs.webkit.org/show_bug.cgi?id=73972
866
867         Reviewed by Adam Barth.
868
869         Refactoring covered under the new tests.
870
871         Now most of the functions use the header, first body and footer's 
872         getters that checks if we need a section recalculation. The only
873         exceptions are addChild and recalcSections as they can be called
874         with the bit set.
875
876         * rendering/RenderTable.cpp:
877         (WebCore::RenderTable::layout):
878         (WebCore::RenderTable::outerBorderAfter):
879         (WebCore::RenderTable::sectionAbove):
880         (WebCore::RenderTable::sectionBelow):
881         Updated the previous functions to use the sections' getters.
882
883         (WebCore::RenderTable::RenderTable):
884         (WebCore::RenderTable::addChild):
885         (WebCore::RenderTable::recalcSections):
886         Update the previous functions after the 2 renames
887         (see below).
888
889         * rendering/RenderTable.h:
890         (WebCore::RenderTable::header):
891         (WebCore::RenderTable::footer):
892         (WebCore::RenderTable::firstBody):
893         Added some ASSERT here. Also renamed m_head to m_header
894         and m_foot to m_footer to match the getter and to avoid
895         unneeded abbreviation.
896
897         (WebCore::RenderTable::hasSections):
898         (WebCore::RenderTable::topSection):
899         Updated the previous functions to use the section getters.
900
901 2011-12-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
902
903         Use HashMap<OwnPtr> for UserScriptMap and UserStyleSheetMap
904         https://bugs.webkit.org/show_bug.cgi?id=75323
905
906         Reviewed by Darin Adler.
907
908         * dom/Document.cpp:
909         (WebCore::Document::pageGroupUserSheets):
910         * page/PageGroup.cpp:
911         (WebCore::PageGroup::addUserScriptToWorld):
912         (WebCore::PageGroup::addUserStyleSheetToWorld):
913         (WebCore::PageGroup::removeUserScriptFromWorld):
914         (WebCore::PageGroup::removeUserStyleSheetFromWorld): fix a small mistake in
915         previous code. Now the entry for world is removed (and deleted) only if its
916         stylesheet vector is empty.
917         (WebCore::PageGroup::removeUserScriptsFromWorld):
918         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
919         (WebCore::PageGroup::removeAllUserContent):
920         * page/UserScriptTypes.h:
921         * page/UserStyleSheetTypes.h:
922
923 2011-12-28  Andreas Kling  <awesomekling@apple.com>
924
925         Reduce memory used by NamedNodeMap.
926         <http://webkit.org/b/75333>
927
928         Reviewed by Sam Weinig.
929
930         Give NamedNodeMap's attribute vector an inline capacity of 4. The vast majority
931         of elements have <= 4 attributes, and if they don't have any we normally don't
932         allocate an attribute map at all.
933
934         This reduces memory consumption by 1.2MB (on 64-bit) when loading the full HTML5
935         spec at <http://whatwg.org/c>.
936
937         * dom/NamedNodeMap.h:
938
939 2011-12-28  Andreas Kling  <awesomekling@apple.com>
940
941         Reduce memory used by SpaceSplitString.
942         <http://webkit.org/b/75315>
943
944         Reviewed by Sam Weinig.
945
946         Split the string upon creation instead of waiting until it's accessed.
947         This allows us to get rid of all data members except the substring vector.
948         Since we're storing AtomicStrings, this is way more memory-efficient than
949         the previous implementation in the majority of cases.
950
951         Also reduced the inline capcity of the vector to 2 (from 8), after testing
952         showed this to cover 90% of the cases on the Alexa top sites.
953
954         All in all this reduces memory consumption by 1.1MB (on 64-bit) when
955         loading the full HTML5 spec at <http://whatwg.org/c>. On that same page,
956         less than 2ms is spent (on my MBP) splitting the ~20000 strings.
957
958         * dom/SpaceSplitString.cpp:
959         (WebCore::SpaceSplitStringData::createVector):
960         (WebCore::SpaceSplitStringData::containsAll):
961         (WebCore::SpaceSplitStringData::remove):
962         * dom/SpaceSplitString.h:
963         (WebCore::SpaceSplitStringData::SpaceSplitStringData):
964         (WebCore::SpaceSplitStringData::contains):
965         (WebCore::SpaceSplitStringData::size):
966         (WebCore::SpaceSplitStringData::operator[]):
967
968 2011-12-28  ChangSeok Oh  <shivamidow@gmail.com>
969
970         [GTK] Fix compilation issue when selecting opengl for Accelerated compositing
971         https://bugs.webkit.org/show_bug.cgi?id=75309
972
973         Reviewed by Martin Robinson.
974
975         Add TextureMapperGL and TextureMapperGLCairo files.
976         They define new classes required to implement TextureMapperGL for GTK port.
977
978         No new tests required.
979
980         * GNUmakefile.list.am:
981         * platform/graphics/cairo/TextureMapperGLCairo.cpp: Added.
982         (WebCore::BGRA32PremultimpliedBufferCairo::BGRA32PremultimpliedBufferCairo):
983         (WebCore::BGRA32PremultimpliedBufferCairo::~BGRA32PremultimpliedBufferCairo):
984         (WebCore::BGRA32PremultimpliedBufferCairo::beginPaint):
985         (WebCore::BGRA32PremultimpliedBufferCairo::data):
986         (WebCore::BGRA32PremultimpliedBufferCairo::endPaint):
987         (WebCore::uidForImage):
988         (WebCore::BGRA32PremultimpliedBuffer::create):
989         * platform/graphics/cairo/TextureMapperGLCairo.h: Added.
990
991 2011-12-28  Sheriff Bot  <webkit.review.bot@gmail.com>
992
993         Unreviewed, rolling out r103782.
994         http://trac.webkit.org/changeset/103782
995         https://bugs.webkit.org/show_bug.cgi?id=75328
996
997         broke origin-whitelisting-removal.html (Requested by kling on
998         #webkit).
999
1000         * page/SecurityPolicy.cpp:
1001         (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
1002         (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
1003         (WebCore::SecurityPolicy::resetOriginAccessWhitelists):
1004
1005 2011-12-28  Kentaro Hara  <haraken@chromium.org>
1006
1007         Enable the [Supplemental] IDL on Qt
1008         https://bugs.webkit.org/show_bug.cgi?id=75274
1009
1010         Reviewed by Adam Barth.
1011
1012         This patch enables the [Supplemental] IDL on Qt by changing the build
1013         flow of Qt as follows.
1014
1015         - Previous build flow:
1016             foreach $idl (all IDL files) {
1017                 generate-bindings.pl depends on $idl;
1018                 generate-bindings.pl reads $idl;
1019                 generate-bindings.pl generates .h and .cpp files for $idl;
1020             }
1021
1022         - New build flow (See the discussions in bug 72138 for more details):
1023             resolve-supplemental.pl depends on all IDL files;
1024             resolve-supplemental.pl reads all IDL files;
1025             resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
1026             resolve-supplemental.pl outputs supplemental_dependency.tmp;
1027             foreach $idl (all IDL files) {
1028                 generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
1029                 generate-bindings.pl reads $idl;
1030                 generate-bindings.pl reads supplemental_dependency.tmp;
1031                 generate-bindings.pl generates .h and .cpp files for $idl,
1032                     including all attributes in the IDL files that are implementing $idl;
1033             }
1034
1035         Tests: Confirm that build succeeds.
1036                http/tests/websocket/tests/*
1037
1038         * DerivedSources.pri: Described the above build flow.
1039
1040 2011-12-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1041
1042         Use HashMap<OwnPtr> in OriginAccessMap
1043         https://bugs.webkit.org/show_bug.cgi?id=75327
1044
1045         Reviewed by Andreas Kling.
1046
1047         * page/SecurityPolicy.cpp:
1048         (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
1049         (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
1050         (WebCore::SecurityPolicy::resetOriginAccessWhitelists):
1051
1052 2011-12-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1053
1054         Use HashMap<OwnPtr> for ProgressTracker's items
1055         https://bugs.webkit.org/show_bug.cgi?id=75326
1056
1057         Reviewed by Andreas Kling.
1058
1059         * loader/ProgressTracker.cpp:
1060         (WebCore::ProgressTracker::~ProgressTracker): although is empty, the destructor was
1061         kept so in the header file we can forward declare ProgressItem and use in an OwnPtr.
1062         (WebCore::ProgressTracker::reset):
1063         (WebCore::ProgressTracker::incrementProgress):
1064         (WebCore::ProgressTracker::completeProgress): removed a useless assignment to item
1065         member just before it is deleted.
1066         * loader/ProgressTracker.h:
1067
1068 2011-12-28  Alexis Menard  <alexis.menard@openbossa.org>
1069
1070         getComputedStyle for border-color is not implemented.
1071         https://bugs.webkit.org/show_bug.cgi?id=75324
1072
1073         Reviewed by Andreas Kling.
1074
1075         Implement getComputedStyle for border-color.
1076
1077         Test: fast/css/getComputedStyle/getComputedStyle-border-color-shorthand.html
1078
1079         * css/CSSComputedStyleDeclaration.cpp:
1080         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1081
1082 2011-12-28  Darin Adler  <darin@apple.com>
1083
1084         Use OwnPtr to handle lifetime and deletion of FontFace objects
1085         https://bugs.webkit.org/show_bug.cgi?id=75221
1086
1087         Reviewed by Daniel Bates.
1088
1089         * css/CSSFontFaceSource.cpp:
1090         (WebCore::CSSFontFaceSource::getFontData): Use add instead of get/set to read and
1091         then later fill a cache. Use new version of registerCustomFont that takes PassOwnPtr.
1092         * css/CSSSegmentedFontFace.cpp:
1093         (WebCore::CSSSegmentedFontFace::getFontData): Ditto.
1094
1095         * dom/Document.cpp:
1096         (WebCore::Document::registerCustomFont): Take a PassOwnPtr instead of raw pointer.
1097         * dom/Document.h: Ditto.
1098
1099 2011-12-28  Adam Barth  <abarth@webkit.org>
1100
1101         "Fake" insertion mode in HTMLTreeBuilder doesn't do anything
1102         https://bugs.webkit.org/show_bug.cgi?id=75322
1103
1104         Reviewed by Darin Adler.
1105
1106         This machinery isn't needed anymore now that we're using the new
1107         foreign content hotness.
1108
1109         * html/parser/HTMLTreeBuilder.cpp:
1110         * html/parser/HTMLTreeBuilder.h:
1111         (WebCore::HTMLTreeBuilder::setInsertionMode):
1112
1113 2011-12-28  Alexis Menard  <alexis.menard@openbossa.org>
1114
1115         getComputedStyle for border-style is not implemented.
1116         https://bugs.webkit.org/show_bug.cgi?id=75312
1117
1118         Reviewed by Andreas Kling.
1119
1120         Implement getComputedStyle for border-style.
1121
1122         Test: fast/css/getComputedStyle/getComputedStyle-border-style-shorthand.html
1123
1124         * css/CSSComputedStyleDeclaration.cpp:
1125         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1126
1127 2011-12-28  Alexis Menard  <alexis.menard@openbossa.org>
1128
1129         getComputedStyle for border-bottom, border-top, border-left, border-right is not implemented.
1130         https://bugs.webkit.org/show_bug.cgi?id=74743
1131
1132         Reviewed by Tony Chang.
1133
1134         Implement getComputedStyle for border-top, border-bottom, border-right, border-left.
1135
1136         Test: fast/css/getComputedStyle/getComputedStyle-border-shorthand.html
1137
1138         * css/CSSComputedStyleDeclaration.cpp:
1139         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1140         (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForShorthandProperties):
1141         * css/CSSComputedStyleDeclaration.h:
1142
1143 2011-12-28  Robert Hogan  <robert@webkit.org>
1144
1145         Inline flow not learning height of all text descendants
1146         https://bugs.webkit.org/show_bug.cgi?id=75305
1147
1148         Reviewed by Dan Bernstein.
1149
1150         Tests: fast/inline/nested-text-descendants-expected.html
1151                fast/inline/nested-text-descendants.html
1152
1153         The root inline box would only learn it had text descendants if its first grandchild
1154         was text. It wasn't informed of subsequent text grandchildren so could not factor them 
1155         into its calculation of the line height.
1156         To fix this, propagate the existence of a text descendant to the root inline box
1157         by walking up through the text child's ancestors.
1158
1159         * rendering/InlineFlowBox.cpp:
1160         (WebCore::setHasTextDescendantsOnAncestors):
1161         (WebCore::InlineFlowBox::addToLine):
1162         * rendering/InlineFlowBox.h:
1163         (WebCore::InlineFlowBox::setHasTextDescendants):
1164
1165 2011-12-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1166
1167         Unreviewed, rolling out r103620.
1168         http://trac.webkit.org/changeset/103620
1169         https://bugs.webkit.org/show_bug.cgi?id=75316
1170
1171         Causes many crashes (Requested by abarth on #webkit).
1172
1173         * loader/FrameLoaderClient.h:
1174         * page/DOMWindow.cpp:
1175         (WebCore::DOMWindow::postMessageTimerFired):
1176
1177 2011-12-28  Alexander Pavlov  <apavlov@chromium.org>
1178
1179         [V8][Chromium] 'randomString' in document.body.style always returns true
1180         https://bugs.webkit.org/show_bug.cgi?id=75313
1181
1182         Reviewed by Adam Barth.
1183
1184         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1185         (WebCore::V8CSSStyleDeclaration::namedPropertyQuery):
1186
1187 2011-12-28  Vsevolod Vlasov  <vsevik@chromium.org>
1188
1189         Web Inspector: Add domain.png to WebCore.gypi / WebKit.qrc.
1190         https://bugs.webkit.org/show_bug.cgi?id=75310
1191
1192         Reviewed by Pavel Feldman.
1193
1194         * WebCore.gypi:
1195         * inspector/front-end/WebKit.qrc:
1196
1197 2011-12-28  Vsevolod Vlasov  <vsevik@chromium.org>
1198
1199         Web Inspector: ExperimentsSettings causes warning on chromium when reading localizedStrings.
1200         https://bugs.webkit.org/show_bug.cgi?id=75299
1201
1202         Reviewed by Pavel Feldman.
1203
1204         * inspector/front-end/Settings.js:
1205         (WebInspector.ExperimentsSettings):
1206         * inspector/front-end/SettingsScreen.js:
1207         (WebInspector.SettingsScreen.prototype._createExperimentCheckbox):
1208
1209 2011-12-28  Vsevolod Vlasov  <vsevik@chromium.org>
1210
1211         Web Inspector: Scripts panel: add debug sidebar resizer to TabbedEditorContainer.
1212         https://bugs.webkit.org/show_bug.cgi?id=75300
1213
1214         Reviewed by Pavel Feldman.
1215
1216         * inspector/front-end/ScriptsPanel.js:
1217         * inspector/front-end/scriptsPanel.css:
1218         (#scripts-debug-sidebar-resizer-widget):
1219
1220 2011-12-28  Alexander Pavlov  <apavlov@chromium.org>
1221
1222         Web Inspector: Introduce a Profiler launcher view similar to that in the Audits panel
1223         https://bugs.webkit.org/show_bug.cgi?id=75228
1224
1225         Reviewed by Pavel Feldman.
1226
1227         * English.lproj/localizedStrings.js:
1228         * WebCore.gypi:
1229         * WebCore.vcproj/WebCore.vcproj:
1230         * inspector/front-end/AuditLauncherView.js:
1231         (WebInspector.AuditLauncherView):
1232         * inspector/front-end/AuditsPanel.js:
1233         (WebInspector.AuditsPanel):
1234         * inspector/front-end/DetailedHeapshotView.js:
1235         (WebInspector.DetailedHeapshotProfileType):
1236         (WebInspector.DetailedHeapshotProfileType.prototype.get treeItemTitle):
1237         (WebInspector.DetailedHeapshotProfileType.prototype.get description):
1238         * inspector/front-end/ProfileLauncherView.js: Added.
1239         (WebInspector.ProfileLauncherView):
1240         (WebInspector.ProfileLauncherView.prototype.setUpEventListeners):
1241         (WebInspector.ProfileLauncherView.prototype.addProfileType):
1242         (WebInspector.ProfileLauncherView.prototype._controlButtonClicked):
1243         (WebInspector.ProfileLauncherView.prototype._updateControls):
1244         (WebInspector.ProfileLauncherView.prototype._profileTypeChanged):
1245         (WebInspector.ProfileLauncherView.prototype._onProfileStarted):
1246         (WebInspector.ProfileLauncherView.prototype._onProfileFinished):
1247         * inspector/front-end/ProfileView.js:
1248         (WebInspector.CPUProfileType):
1249         (WebInspector.CPUProfileType.prototype.get treeItemTitle):
1250         (WebInspector.CPUProfileType.prototype.get description):
1251         * inspector/front-end/ProfilesPanel.js:
1252         (WebInspector.ProfileType.prototype.get treeItemTitle):
1253         (WebInspector.ProfileType.prototype.get description):
1254         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
1255         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
1256         (WebInspector.ProfilesPanel.prototype._onProfileTypeSelected):
1257         (WebInspector.ProfilesPanel.prototype._reset):
1258         (WebInspector.ProfilesPanel.prototype._showLauncherView):
1259         (WebInspector.ProfilesPanel.prototype._registerProfileType):
1260         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
1261         (WebInspector.ProfilesPanel.prototype._updateInterface):
1262         (WebInspector.ProfileTypeTreeElement):
1263         (WebInspector.ProfileTypeTreeElement.prototype.collapse):
1264         (WebInspector.ProfilesSidebarTreeElement):
1265         (WebInspector.ProfilesSidebarTreeElement.prototype.onattach):
1266         (WebInspector.ProfilesSidebarTreeElement.prototype.onselect):
1267         (WebInspector.ProfilesSidebarTreeElement.prototype.get selectable):
1268         (WebInspector.ProfilesSidebarTreeElement.prototype.refresh):
1269         * inspector/front-end/WebKit.qrc:
1270         * inspector/front-end/WelcomeView.js: Removed.
1271         * inspector/front-end/auditsPanel.css:
1272         (.audit-launcher-view .audit-launcher-view-content):
1273         (.audit-launcher-view div.button-container):
1274         (.panel-enabler-view.audit-launcher-view label):
1275         (.panel-enabler-view.audit-launcher-view label.disabled):
1276         * inspector/front-end/inspector.html:
1277         * inspector/front-end/panelEnablerView.css:
1278         (.panel-enabler-view img):
1279         (.panel-enabler-view .flexible-space):
1280         (.panel-enabler-view button:not(.status-bar-item)):
1281         (body.inactive .panel-enabler-view button, .panel-enabler-view button:disabled):
1282         (.panel-enabler-view input[type="radio"]):
1283         (.panel-enabler-view input[type="radio"]:active:not(:disabled)):
1284         (.panel-enabler-view input[type="radio"]:checked):
1285         (.panel-enabler-view input[type="radio"]:checked:active):
1286         * inspector/front-end/profilesPanel.css:
1287         (.profile-launcher-view-tree-item > .icon):
1288         (.profile-launcher-view-content):
1289         (.profile-launcher-view-content h1):
1290         (.panel-enabler-view.profile-launcher-view form):
1291         (.panel-enabler-view.profile-launcher-view label):
1292         (.profile-launcher-view-content p):
1293         (.panel-enabler-view.profile-launcher-view button:not(.status-bar-item)):
1294         (.profile-launcher-view-content button.running:not(.status-bar-item)):
1295         (body.inactive .profile-launcher-view-content button.running:not(.status-bar-item)):
1296
1297 2011-12-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1298
1299         Unreviewed, rolling out r103763.
1300         http://trac.webkit.org/changeset/103763
1301         https://bugs.webkit.org/show_bug.cgi?id=75307
1302
1303         "Compilation fails on Snow Leopard" (Requested by yurys on
1304         #webkit).
1305
1306         * inspector/CodeGeneratorInspector.py:
1307         (Helper):
1308         (create_ad_hoc_type_declaration.Helper):
1309         (CodeGenerator.generate_type_builder):
1310         (get_in_c_type_text):
1311
1312 2011-12-28  Peter Rybin  <peter.rybin@gmail.com>
1313
1314         Web Inspector: CodeGeneratorInspector.py: generate enum types.
1315         https://bugs.webkit.org/show_bug.cgi?id=74954
1316
1317         Reviewed by Yury Semikhatsky.
1318
1319         Internal map of string contants is created. C enums are created for
1320         each JSON enum.
1321
1322         * inspector/CodeGeneratorInspector.py:
1323         (EnumConstants.add_constant):
1324         (EnumConstants):
1325         (EnumConstants.get_enum_constant_code):
1326         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
1327         (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
1328         (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
1329         (TypeBindings.create_type_declaration_.PlainString.reduce_to_raw_type):
1330         (TypeBindings.create_type_declaration_.PlainString.get_setter_value_expression_pattern):
1331         (get_in_c_type_text):
1332         (get_setter_value_expression_pattern):
1333         (PlainObjectBinding.get_in_c_type_text):
1334         (PlainObjectBinding.get_setter_value_expression_pattern):
1335         (RawTypesBinding.get_in_c_type_text):
1336         (RawTypesBinding.get_setter_value_expression_pattern):
1337         (get_annotated_type_text):
1338         (MethodGenerateModes.get_modes):
1339         (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
1340         (MethodGenerateModes.StrictParameterMode):
1341         (MethodGenerateModes.StrictParameterMode.get_setter_value_expression):
1342         (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
1343         (MethodGenerateModes.RawParameterMode):
1344         (MethodGenerateModes.RawParameterMode.get_setter_value_expression):
1345         (MethodGenerateModes.CombinedMode.get_c_param_type_text):
1346         (MethodGenerateModes):
1347         (MethodGenerateModes.CombinedMode):
1348         (MethodGenerateModes.CombinedMode.get_setter_value_expression):
1349
1350 2011-12-28  Hans Wennborg  <hans@chromium.org>
1351
1352         IndexedDB: IDBKeyRange constructor should throw when lower > upper
1353         https://bugs.webkit.org/show_bug.cgi?id=74705
1354
1355         Reviewed by Tony Chang.
1356
1357         Make IDBKeyRange throw an exception when lower > upper,
1358         or lower == upper and one or both of the bounds is open.
1359
1360         Tested in storage/indexeddb/keyrange.html.
1361
1362         * storage/IDBKeyRange.cpp:
1363         (WebCore::IDBKeyRange::bound):
1364
1365 2011-12-28  Alexander Pavlov  <apavlov@chromium.org>
1366
1367         Web Inspector: [protocol] empty enum constant should be replaced with identifier
1368         https://bugs.webkit.org/show_bug.cgi?id=75273
1369
1370         Reviewed by Yury Semikhatsky.
1371
1372         * inspector/Inspector.json:
1373         * inspector/InspectorCSSAgent.cpp:
1374         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
1375         (WebCore::InspectorCSSAgent::detectOrigin):
1376         * inspector/InspectorStyleSheet.cpp:
1377         (WebCore::InspectorStyleSheet::buildObjectForRule):
1378         * inspector/front-end/CSSStyleModel.js:
1379         (WebInspector.CSSRule.prototype.get isRegular):
1380
1381 2011-12-27  Pavel Feldman  <pfeldman@google.com>
1382
1383         Web Inspector: complete annotating SDK component.
1384         https://bugs.webkit.org/show_bug.cgi?id=75259
1385
1386         Reviewed by Yury Semikhatsky.
1387
1388         * inspector/front-end/DebuggerPresentationModel.js:
1389         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1390         * inspector/front-end/NetworkManager.js:
1391         (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
1392         (WebInspector.NetworkDispatcher.prototype._isNull):
1393         (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
1394         * inspector/front-end/Resource.js:
1395         (WebInspector.Resource.displayName):
1396         * inspector/front-end/ResourceTreeModel.js:
1397         (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
1398         (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
1399         (WebInspector.ResourceTreeFrame.prototype.get name):
1400         * inspector/front-end/TabbedEditorContainer.js:
1401
1402 2011-12-27  Anantanarayanan G Iyengar  <ananta@chromium.org>
1403
1404         Crash in the WebKit accessibility code while attempting to retrieve the title UI element.
1405         https://bugs.webkit.org/show_bug.cgi?id=75279
1406
1407         Reviewed by Ryosuke Niwa.
1408
1409         Fix a crash in the the WebKit accessibility code which occurs while retrieving
1410         the title UI clement. The fix is to NULL check the RenderObject::node return value.
1411
1412         No test added as there is no reduction.
1413
1414         * accessibility/AccessibilityRenderObject.cpp:
1415         (WebCore::AccessibilityRenderObject::titleUIElement):
1416
1417 2011-12-27  Dominic Cooney  <dominicc@chromium.org>
1418
1419         Remove initWebKitAnimationEvent method
1420         https://bugs.webkit.org/show_bug.cgi?id=71698
1421
1422         Reviewed by Ojan Vafai.
1423
1424         Now that WebKitAnimationEvent has a constructor, we don't need
1425         this
1426         method. <https://www.w3.org/Bugs/Public/show_bug.cgi?id=15338> is
1427         tracking the change to the CSS Animations spec.
1428
1429         * dom/WebKitAnimationEvent.cpp:
1430         * dom/WebKitAnimationEvent.h:
1431         * dom/WebKitAnimationEvent.idl:
1432
1433 2011-12-27  Dominic Cooney   <dominicc@chromium.org>
1434
1435         Remove initWebKitTransitionEvent method
1436         https://bugs.webkit.org/show_bug.cgi?id=71701
1437
1438         Reviewed by Ojan Vafai.
1439
1440         Now that WebKitTransitionEvent has a constructor, we don't need
1441         this
1442         method. <https://www.w3.org/Bugs/Public/show_bug.cgi?id=15339> is
1443         tracking the change to the CSS Transitions spec.
1444
1445         * dom/WebKitTransitionEvent.cpp:
1446         * dom/WebKitTransitionEvent.h:
1447         * dom/WebKitTransitionEvent.idl:
1448
1449 2011-12-27  Tony Chang  <tony@chromium.org>
1450
1451         Move HarfBuzz files into their own directory
1452         https://bugs.webkit.org/show_bug.cgi?id=72780
1453
1454         Reviewed by Daniel Bates.
1455
1456         FontCacheLinux.cpp got moved to platform/graphics/skia/FontCacheSkia.cpp since it wasn't HarfBuzz specific.
1457
1458         I used HarfBuzz in filenames since that seems to be how the name is capitalized on the project home page.
1459
1460         Fixed some style errors caught by the style checker.
1461
1462         * PlatformBlackBerry.cmake:
1463         * WebCore.gyp/WebCore.gyp:
1464         * WebCore.gypi:
1465         * platform/graphics/chromium/FontPlatformData.h:
1466         * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp: Renamed from Source/WebCore/platform/graphics/chromium/ComplexTextControllerLinux.cpp.
1467         * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h: Renamed from Source/WebCore/platform/graphics/chromium/ComplexTextControllerLinux.h.
1468         * platform/graphics/harfbuzz/FontHarfBuzz.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FontLinux.cpp.
1469         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp.
1470         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Renamed from Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.h.
1471         * platform/graphics/harfbuzz/HarfBuzzSkia.cpp: Renamed from Source/WebCore/platform/graphics/chromium/HarfbuzzSkia.cpp.
1472         * platform/graphics/harfbuzz/HarfBuzzSkia.h: Renamed from Source/WebCore/platform/graphics/chromium/HarfbuzzSkia.h.
1473         * platform/graphics/harfbuzz/SimpleFontDataSkia.cpp: Renamed from Source/WebCore/platform/graphics/chromium/SimpleFontDataLinux.cpp.
1474         * platform/graphics/skia/FontCacheSkia.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FontCacheLinux.cpp.
1475         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
1476
1477 2011-12-27  Huang Dongsung  <luxtella@company100.net>
1478
1479         [TexMap][QT] The fragment shader in OpenGL ES2 requires the default precision
1480         qualifier.
1481         https://bugs.webkit.org/show_bug.cgi?id=75168
1482
1483         Reviewed by Noam Rosenthal.
1484
1485         No new functionality so no new tests.
1486
1487         * platform/graphics/opengl/TextureMapperGL.cpp:
1488         (WebCore::TextureMapperGL::initializeShaders):
1489
1490 2011-12-27  Ryosuke Niwa  <rniwa@webkit.org>
1491
1492         [Chromium] uninitialized variable in fakeMouseMoveEventTimerFired
1493         https://bugs.webkit.org/show_bug.cgi?id=75263
1494
1495         Reviewed by Tony Chang.
1496
1497         The failure was caused by PlatformKeyboardEvent::getCurrentModifierState in PlatformKeyboardEventChromium.cpp
1498         not initializing arguments on Linux. Fixed the failure by always assigning false to the arguments.
1499
1500         But we should really fix this function for Linux. Not recognizing any modifier isn't great.
1501
1502         * platform/chromium/PlatformKeyboardEventChromium.cpp:
1503         (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
1504
1505 2011-12-27  Kentaro Hara  <haraken@chromium.org>
1506
1507         WIP: Enable the [Supplemental] IDL on Gtk
1508         https://bugs.webkit.org/show_bug.cgi?id=74972
1509
1510         Reviewed by Adam Barth.
1511
1512         This patch enables the [Supplemental] IDL on Gtk by changing the build
1513         flow of Gtk as follows.
1514
1515         - Previous build flow:
1516             foreach $idl (all IDL files) {
1517                 generate-bindings.pl depends on $idl;
1518                 generate-bindings.pl reads $idl;
1519                 generate-bindings.pl generates .h and .cpp files for $idl;
1520             }
1521
1522         - New build flow (See the discussions in bug 72138 for more details):
1523             resolve-supplemental.pl depends on all IDL files;
1524             resolve-supplemental.pl reads all IDL files;
1525             resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
1526             resolve-supplemental.pl outputs supplemental_dependency.tmp;
1527             foreach $idl (all IDL files) {
1528                 generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
1529                 generate-bindings.pl reads $idl;
1530                 generate-bindings.pl reads supplemental_dependency.tmp;
1531                 generate-bindings.pl generates .h and .cpp files for $idl,
1532                     including all attributes in the IDL files that are implementing $idl;
1533             }
1534
1535         Tests: Confirm that build succeeds.
1536                http/tests/websocket/tests/*
1537
1538         * GNUmakefile.am: Described the above build flow.
1539         * GNUmakefile.list.am: Added a list of IDL files. Instead, removed a list of JS*.h and JS*.cpp
1540         that are generated by the IDL files.
1541
1542 2011-12-27  Tony Chang  <tony@chromium.org>
1543
1544         [chromium] When building with clang, enable -Wglobal-constructors
1545         https://bugs.webkit.org/show_bug.cgi?id=74365
1546
1547         Reviewed by Adam Barth.
1548
1549         * WebCore.gyp/WebCore.gyp:
1550
1551 2011-12-27  Tony Chang  <tony@chromium.org>
1552
1553         [chromium] really enable wpo for WebCore libs and for WTF
1554         https://bugs.webkit.org/show_bug.cgi?id=75264
1555
1556         Reviewed by Adam Barth.
1557
1558         * WebCore.gyp/WebCore.gyp: The variable was getting clobbered by the
1559         value set in common.gypi.  Use a target_defaults instead to set the
1560         variable.  I tested manually on my Windows machine and
1561         WholeProgramOptimization is getting set when buildtype is Official.
1562
1563 2011-12-27  Tony Chang  <tony@chromium.org>
1564
1565         [chromium] remove references to files no longer in the tree
1566         https://bugs.webkit.org/show_bug.cgi?id=75262
1567
1568         Reviewed by Adam Barth.
1569
1570         * WebCore.gypi: platform/mac/PlatformMouseEventMac.mm and platform/mac/WheelEventMac.mm
1571         were removed in r103652.
1572
1573 2011-12-27  Vsevolod Vlasov  <vsevik@chromium.org>
1574
1575         Unreviewed web inspector localizedStrings.js fix.
1576
1577         * English.lproj/localizedStrings.js:
1578
1579 2011-12-27  Vsevolod Vlasov  <vsevik@chromium.org>
1580
1581         Web Inspector: Introduce support for experimental settings.
1582         https://bugs.webkit.org/show_bug.cgi?id=75250
1583
1584         Reviewed by Pavel Feldman.
1585
1586         * English.lproj/localizedStrings.js:
1587         * inspector/front-end/ScriptsPanel.js:
1588         * inspector/front-end/Settings.js:
1589         (WebInspector.ExperimentsSettings):
1590         (WebInspector.ExperimentsSettings.prototype.get experiments):
1591         (WebInspector.ExperimentsSettings.prototype.get experimentsEnabled):
1592         (WebInspector.ExperimentsSettings.prototype._createExperiment):
1593         (WebInspector.ExperimentsSettings.prototype.set _cleanUpSetting.get var):
1594         (WebInspector.ExperimentsSettings.prototype.set _cleanUpSetting):
1595         (set WebInspector.Experiment):
1596         (WebInspector.Experiment.prototype.get name):
1597         (WebInspector.Experiment.prototype.get title):
1598         (WebInspector.Experiment.prototype.isEnabled):
1599         (WebInspector.Experiment.prototype.setEnabled):
1600         (set WebInspector):
1601         * inspector/front-end/SettingsScreen.js:
1602         (WebInspector.SettingsScreen):
1603         (WebInspector.SettingsScreen.prototype._createExperimentsWarningSubsection):
1604         (WebInspector.SettingsScreen.prototype._createExperimentCheckbox.listener):
1605         (WebInspector.SettingsScreen.prototype._createExperimentCheckbox):
1606         * inspector/front-end/helpScreen.css:
1607         (.settings-experiments-warning-subsection-warning):
1608         (.settings-experiments-warning-subsection-message):
1609
1610 2011-12-27  Alexander Pavlov  <apavlov@chromium.org>
1611
1612         Web Inspector: exception when scrolling in JavaScriptOutline dialog with empty query
1613         https://bugs.webkit.org/show_bug.cgi?id=75255
1614
1615         Reviewed by Pavel Feldman.
1616
1617         * inspector/front-end/JavaScriptOutlineDialog.js:
1618         (WebInspector.JavaScriptOutlineDialog.prototype._onScroll):
1619
1620 2011-12-27  Pavel Feldman  <pfeldman@google.com>
1621
1622         Web Inspector: add more annotations on SDK classes.
1623         https://bugs.webkit.org/show_bug.cgi?id=75247
1624
1625         Reviewed by Yury Semikhatsky.
1626
1627         * inspector/Inspector.json:
1628         * inspector/compile-front-end.sh:
1629         * inspector/front-end/ApplicationCacheModel.js:
1630         (WebInspector.ApplicationCacheDispatcher.prototype.networkStateUpdated):
1631         * inspector/front-end/BreakpointManager.js:
1632         (WebInspector.BreakpointManager.prototype._breakpoint):
1633         * inspector/front-end/Color.js:
1634         (WebInspector.Color.prototype.get shorthex):
1635         (WebInspector.Color.prototype.get hex):
1636         (WebInspector.Color.prototype.get rgb):
1637         (WebInspector.Color.prototype.get hsl):
1638         (WebInspector.Color.prototype.get nickname):
1639         (WebInspector.Color.prototype.hasShortHex):
1640         (WebInspector.Color.prototype._individualRGBValueToFloatValue):
1641         (WebInspector.Color.prototype._rgbStringsToHex):
1642         (WebInspector.Color.prototype._parse.this.nickname.set 2):
1643         (WebInspector.Color.prototype._parse.this.hsla.set 1):
1644         (WebInspector.Color.prototype._parse.this.rgba.set 0):
1645         (WebInspector.Color.prototype._parse.set WebInspector):
1646         (WebInspector.Color.prototype._parse):
1647         * inspector/front-end/CompilerSourceMapping.js:
1648         * inspector/front-end/ConsoleModel.js:
1649         * inspector/front-end/ContentProviders.js:
1650         (WebInspector.ScriptContentProvider):
1651         (WebInspector.ConcatenatedScriptsContentProvider):
1652         (WebInspector.CompilerSourceMappingContentProvider):
1653         (WebInspector.StaticContentProvider):
1654         * inspector/front-end/CookieParser.js:
1655         (WebInspector.CookieParser.KeyValue):
1656         (WebInspector.CookieParser.prototype.parseCookie):
1657         (WebInspector.CookieParser.prototype.parseSetCookie):
1658         (WebInspector.CookieParser.prototype._extractKeyValue):
1659         * inspector/front-end/DOMStorage.js:
1660         * inspector/front-end/Database.js:
1661         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
1662         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
1663         * inspector/front-end/DebuggerModel.js:
1664         (WebInspector.DebuggerModel.Location):
1665         (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
1666         * inspector/front-end/DebuggerPresentationModel.js:
1667         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
1668         * inspector/front-end/ElementsTreeOutline.js:
1669         * inspector/front-end/HAREntry.js:
1670         * inspector/front-end/NetworkLog.js:
1671         (WebInspector.NetworkLog.prototype._mainFrameNavigated):
1672         * inspector/front-end/Placard.js:
1673         * inspector/front-end/RawSourceCode.js:
1674         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
1675         (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
1676         * inspector/front-end/RemoteObject.js:
1677         (WebInspector.RemoteObject.fromPrimitiveValue):
1678         (WebInspector.RemoteObject.prototype.setPropertyValue.propertySetCallback):
1679         (WebInspector.RemoteObject.prototype.setPropertyValue):
1680         (WebInspector.LocalJSONObject.prototype.get hasChildren):
1681         (WebInspector.LocalJSONObject.prototype._children):
1682         * inspector/front-end/Resource.js:
1683         (WebInspector.Resource.restoreRevisions):
1684         (WebInspector.Resource.prototype.get queryParameters):
1685         (WebInspector.Resource.prototype.get formParameters):
1686         (WebInspector.Resource.prototype.isHttpFamily):
1687         * inspector/front-end/ResourceCategory.js:
1688         * inspector/front-end/ResourceUtils.js:
1689         * inspector/front-end/ScopeChainSidebarPane.js:
1690         (WebInspector.ScopeChainSidebarPane.prototype.update):
1691         * inspector/front-end/Script.js:
1692         (WebInspector.Script.prototype.isInlineScript):
1693         * inspector/front-end/ScriptFormatter.js:
1694         (WebInspector.ScriptFormatter.positionToLocation):
1695         * inspector/front-end/WelcomeView.js:
1696         (WebInspector.WelcomeView.prototype.addMessage):
1697         * inspector/front-end/externs.js:
1698         (Array.prototype.upperBound):
1699
1700 2011-12-27  Vsevolod Vlasov  <vsevik@chromium.org>
1701
1702         Web Inspector: Scripts panel tabbed editor does not reopen closed tabs.
1703         https://bugs.webkit.org/show_bug.cgi?id=75245
1704
1705         Reviewed by Pavel Feldman.
1706
1707         * inspector/front-end/NetworkItemView.js:
1708         (WebInspector.NetworkItemView):
1709         * inspector/front-end/TabbedEditorContainer.js:
1710         (WebInspector.TabbedEditorContainer):
1711         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
1712         * inspector/front-end/TabbedPane.js:
1713         (WebInspector.TabbedPane.prototype.closeTab):
1714         (WebInspector.TabbedPane.prototype.selectTab):
1715
1716 2011-12-27  Yury Semikhatsky  <yurys@chromium.org>
1717
1718         Web Inspector: report per document JS event listener count
1719         https://bugs.webkit.org/show_bug.cgi?id=74298
1720
1721         This patch adds JS event listener count to the memory agent
1722         report.
1723
1724         Reviewed by Pavel Feldman.
1725
1726         Test: inspector/dom-statistics.html
1727
1728         * inspector/Inspector.json:
1729         * inspector/InspectorMemoryAgent.cpp:
1730
1731 2011-12-27  Alexander Pavlov  <apavlov@chromium.org>
1732
1733         Web Inspector: [REGRESSION] Go to Function dialog always has a minimal height
1734         https://bugs.webkit.org/show_bug.cgi?id=75254
1735
1736         Reviewed by Yury Semikhatsky.
1737
1738         * inspector/front-end/scriptsPanel.css:
1739         (.script-view):
1740
1741 2011-12-26  Vsevolod Vlasov  <vsevik@chromium.org>
1742
1743         Web Inspector: Create tabbed editor for scripts panel.
1744         https://bugs.webkit.org/show_bug.cgi?id=75230
1745
1746         Reviewed by Pavel Feldman.
1747
1748         * WebCore.gypi:
1749         * WebCore.vcproj/WebCore.vcproj:
1750         * inspector/compile-front-end.sh:
1751         * inspector/front-end/ScriptsNavigator.js:
1752         (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes.get if):
1753         (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes):
1754         (WebInspector.NavigatorScriptTreeElement.prototype.ondblclick):
1755         (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
1756         * inspector/front-end/ScriptsPanel.js:
1757         * inspector/front-end/TabbedEditorContainer.js: Added.
1758         * inspector/front-end/TabbedPane.js:
1759         (WebInspector.TabbedPane.prototype.get visibleView):
1760         (WebInspector.TabbedPane.prototype.get selectedTabId):
1761         (WebInspector.TabbedPane.prototype.closeAllTabs):
1762         (WebInspector.TabbedPane.prototype.changeTabTitle):
1763         (WebInspector.TabbedPane.prototype.changeTabView):
1764         (WebInspector.TabbedPaneTab):
1765         (WebInspector.TabbedPaneTab.prototype.get title):
1766         (WebInspector.TabbedPaneTab.prototype.set title):
1767         (WebInspector.TabbedPaneTab.prototype.get view):
1768         (WebInspector.TabbedPaneTab.prototype.set view):
1769         (WebInspector.TabbedPaneTab.prototype._createTabElement):
1770         * inspector/front-end/WebKit.qrc:
1771         * inspector/front-end/inspector.html:
1772         * inspector/front-end/scriptsPanel.css:
1773         (.scripts-views-container):
1774         (.script-view):
1775         (#scripts-editor-container-tabbed-pane .tabbed-pane-header):
1776         (#scripts-editor-container-tabbed-pane .tabbed-pane-header-contents):
1777         (#scripts-editor-container-tabbed-pane .tabbed-pane-content):
1778
1779 2011-12-27  Pavel Feldman  <pfeldman@google.com>
1780
1781         Not reviewed: Rolling out r103703 for breaking Canvas2DLayerChromiumTest.testFullLifecycle.
1782
1783         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1784         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
1785         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
1786         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1787         (WebCore::Canvas2DLayerChromium::setTextureManager):
1788         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
1789         (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
1790         (WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
1791         (WebCore::Canvas2DLayerChromium::cleanupResources):
1792         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1793
1794 2011-12-22  Vangelis Kokkevis  <vangelis@chromium.org>
1795
1796         [chromium] Bypass the shadow texture copy for accelerated
1797         canvas when running the compositor in single threaded mode.
1798         https://bugs.webkit.org/show_bug.cgi?id=75146
1799
1800         The texture copy fails on Windows as glCopyTexImage2D() doesn't
1801         support BGRA source textures. 
1802         This change also modified Canvas2DLayerChromium::updateCompositorResources
1803         to call glCopyTexSubImage2D() instead of glCopyTexImage2D() so that
1804         the copy can work with texture allocated via the glTexStorage2D
1805         extension.
1806
1807         Reviewed by James Robinson.
1808
1809
1810         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1811         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
1812         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
1813         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1814         (WebCore::Canvas2DLayerChromium::setTextureManager):
1815         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
1816         (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
1817         (WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
1818         (WebCore::Canvas2DLayerChromium::cleanupResources):
1819         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1820
1821 2011-12-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1822
1823         [EFL][WK2] Implement context menu for EFL port.
1824         https://bugs.webkit.org/show_bug.cgi?id=74995
1825
1826         Reviewed by Anders Carlsson.
1827
1828         Implement missing ContextMenuEfl class in order to support WK2's context menu.
1829         Because WK2's context menu still needs WebCore's context menu implementation.
1830         And of course, this patch also can be used for WK1 without CROSS_PLATFORM_CONTEXT_MENU
1831         option.
1832
1833         * platform/ContextMenu.h:
1834         * platform/ContextMenuItem.h:
1835         * platform/PlatformMenuDescription.h:
1836         * platform/efl/ContextMenuEfl.cpp:
1837         (WebCore::ContextMenu::~ContextMenu):
1838         (WebCore::ContextMenu::appendItem):
1839         (WebCore::ContextMenu::insertItem):
1840         (WebCore::ContextMenu::itemCount):
1841         (WebCore::ContextMenu::setPlatformDescription):
1842         (WebCore::ContextMenu::platformDescription):
1843         (WebCore::ContextMenu::releasePlatformDescription):
1844         (WebCore::platformMenuDescription):
1845         (WebCore::contextMenuItemVector):
1846         * platform/efl/ContextMenuItemEfl.cpp:
1847         (WebCore::ContextMenuItem::ContextMenuItem):
1848         (WebCore::ContextMenuItem::~ContextMenuItem):
1849         (WebCore::ContextMenuItem::setType):
1850         (WebCore::ContextMenuItem::type):
1851         (WebCore::ContextMenuItem::setAction):
1852         (WebCore::ContextMenuItem::action):
1853         (WebCore::ContextMenuItem::setTitle):
1854         (WebCore::ContextMenuItem::title):
1855         (WebCore::ContextMenuItem::setChecked):
1856         (WebCore::ContextMenuItem::checked):
1857         (WebCore::ContextMenuItem::setEnabled):
1858         (WebCore::ContextMenuItem::enabled):
1859
1860 2011-12-26  Hajime Morrita  <morrita@chromium.org>
1861
1862         [Refactoring] Node::setTreeScopeRecursively() doesn't need includeRoot parameter
1863         https://bugs.webkit.org/show_bug.cgi?id=75240
1864
1865         Reviewed by Anders Carlsson.
1866
1867         No new tests. No behavior change.
1868
1869         * dom/Node.cpp:
1870         (WebCore::Node::setTreeScopeRecursively):
1871         * dom/Node.h:
1872
1873 2011-12-26  Darin Adler  <darin@apple.com>
1874
1875         Use OwnPtr and OwnArrayPtr in a couple more places
1876         https://bugs.webkit.org/show_bug.cgi?id=75211
1877
1878         Reviewed by Andreas Kling.
1879
1880         I had a patch with some changes from a while back from going through all sorts of
1881         classes and changing code to use adoptPtr. Most were landed long ago, these are the
1882         ones that still apply.
1883
1884         There are six pieces here that could each be landed separately.
1885         The big one is CSSParser.
1886
1887         * css/CSSGrammar.y: Update for members and functions that now
1888         return PassOwnPtr instead of raw pointers.
1889         * css/CSSParser.cpp:
1890         (WebCore::CSSParser::CSSParser): Remove explicit construction
1891         for m_valueList and m_data since OwnPtr and OwnArrayPtr initialize
1892         to zero without it.
1893         (WebCore::CSSParser::~CSSParser): Removed delete m_valueList and
1894         fastFree(m_data) since OwnPtr and OwnArrayPtr handle that.
1895         (WebCore::CSSParser::setupParser): Use adoptArrayPtr and new for
1896         the character array instead of fastFree/fastMalloc. Added get
1897         function calls as needed.
1898         (WebCore::CSSParser::parseValue): Added get function calls as needed.
1899         (WebCore::CSSParser::parseContent): Ditto.
1900         (WebCore::CSSParser::parseFillProperty): Ditto.
1901         (WebCore::CSSParser::parseTransformOriginShorthand): Ditto.
1902         (WebCore::CSSParser::parseBorderImage): Ditto.
1903         (WebCore::CSSParser::parseTransformOrigin): Ditto.
1904         (WebCore::CSSParser::parsePerspectiveOrigin): Ditto.
1905         (WebCore::CSSParser::sinkFloatingValueList): Changed to return PassOwnPtr.
1906         The adoptPtr call is here.
1907         (WebCore::CSSParser::sinkFloatingFunction): Ditto.
1908         (WebCore::CSSParser::markSelectorListStart): Added get function calls as needed.
1909         (WebCore::CSSParser::markSelectorListEnd): Ditto.
1910         (WebCore::CSSParser::markRuleBodyStart): Ditto.
1911         (WebCore::CSSParser::markRuleBodyEnd): Ditto.
1912         (WebCore::CSSParser::markPropertyStart): Ditto.
1913         (WebCore::CSSParser::markPropertyEnd): Ditto.
1914         * css/CSSParser.h: Moved conditional includes to their own paragraph.
1915         Made sinkFloatingValueList and sinkFloatingFunction return PassOwnPtr.
1916         Made m_valueList an OwnPtr and m_data an OwnArrayPtr.
1917         * css/SVGCSSParser.cpp:
1918         (WebCore::CSSParser::parseSVGValue): Added a call to the get function.
1919
1920         * html/PluginDocument.h: Made isPluginDocument private. Also marked all the
1921         functions that are overriding here as OVERRIDE since I was touching the header.
1922
1923         * html/parser/HTMLToken.h:
1924         (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData): Removed an unneeded line
1925         explicitly initializing the base class.
1926
1927         * page/animation/AnimationBase.cpp:
1928         (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper): Fixed indent.
1929
1930         * rendering/style/RenderStyle.h: Moved conditional includes to their own paragraph.
1931
1932         * xml/parser/MarkupTokenBase.h:
1933         (WebCore::MarkupTokenBase::beginDOCTYPE): Removed unneeded parentheses.
1934
1935 2011-12-26  Vsevolod Vlasov  <vsevik@chromium.org>
1936
1937         Web Inspector: Extract FileEditor from ScriptsPanel.
1938         https://bugs.webkit.org/show_bug.cgi?id=75229
1939
1940         Reviewed by Pavel Feldman.
1941
1942         * inspector/front-end/JavaScriptSourceFrame.js:
1943         (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
1944         * inspector/front-end/ScriptsNavigator.js:
1945         * inspector/front-end/ScriptsPanel.js:
1946         (WebInspector.ScriptsPanel.prototype._reset):
1947         (WebInspector.ScriptsPanel.prototype.get visibleView):
1948         (WebInspector.ScriptsPanel.prototype._updateScriptViewStatusBarItems):
1949         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced.get if):
1950         (WebInspector.ScriptsPanel.EditorContainer):
1951         (WebInspector.ScriptsPanel.EditorContainer.prototype.get currentSourceFrame):
1952         (WebInspector.ScriptsPanel.EditorContainer.prototype.show):
1953         (WebInspector.ScriptsPanel.EditorContainer.prototype.showSourceFrame):
1954         (WebInspector.ScriptsPanel.EditorContainer.prototype.isSourceFrameOpen):
1955         (WebInspector.ScriptsPanel.EditorContainer.prototype.replaceSourceFrames):
1956         (WebInspector.ScriptsPanel.EditorContainer.prototype.setSourceFrameIsDirty):
1957         (WebInspector.ScriptsPanel.EditorContainer.prototype.reset):
1958         (WebInspector.ScriptsPanel.SingleFileEditorContainer):
1959         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.get currentSourceFrame):
1960         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.show):
1961         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showSourceFrame):
1962         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.isSourceFrameOpen):
1963         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceSourceFrames):
1964         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.setSourceFrameIsDirty):
1965         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
1966         * inspector/front-end/UISourceCode.js:
1967         (WebInspector.UISourceCode.prototype.get domain):
1968         (WebInspector.UISourceCode.prototype.get folderName):
1969         (WebInspector.UISourceCode.prototype.get fileName):
1970         (WebInspector.UISourceCode.prototype.get displayName):
1971         (WebInspector.UISourceCode.prototype._parseURL):
1972
1973 2011-12-26  Darin Adler  <darin@apple.com>
1974
1975         Fix mutation observer build after didMoveToNewDocument change
1976         https://bugs.webkit.org/show_bug.cgi?id=75224
1977
1978         Reviewed by Hajime Morita.
1979
1980         * dom/Node.cpp:
1981         (WebCore::willCallDidMoveToNewDocument): Added.
1982         (WebCore::didMoveToNewDocumentWasCalled): Added.
1983         (WebCore::Node::setDocument): Call new debugging function.
1984         (WebCore::Node::didMoveToNewDocument): Ditto. Also use ASSERT_UNUSED
1985         unconditionally rather than UNUSED_PARAM inside and #if. Also added
1986         a new assertion that checks that hte old document was passed through
1987         properly.
1988
1989 2011-12-26  Alexander Pavlov  <apavlov@chromium.org>
1990
1991         Web Inspector: [Scripts] Implement iterative match highlighting in the "Go to Function" dialog item list
1992         https://bugs.webkit.org/show_bug.cgi?id=75226
1993
1994         Reviewed by Pavel Feldman.
1995
1996         * inspector/front-end/JavaScriptOutlineDialog.js:
1997         (WebInspector.JavaScriptOutlineDialog):
1998         (WebInspector.JavaScriptOutlineDialog.prototype._createSearchRegExp):
1999         (WebInspector.JavaScriptOutlineDialog.prototype._filterFunctions):
2000         (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown.previousItem):
2001         (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown.nextItem):
2002         (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown):
2003         (WebInspector.JavaScriptOutlineDialog.prototype._updateSelection):
2004         (WebInspector.JavaScriptOutlineDialog.prototype._onScroll):
2005         (WebInspector.JavaScriptOutlineDialog.MatchHighlighter):
2006         (WebInspector.JavaScriptOutlineDialog.MatchHighlighter.prototype.highlightViewportItems):
2007         (WebInspector.JavaScriptOutlineDialog.MatchHighlighter.prototype.clearHighlight):
2008         (WebInspector.JavaScriptOutlineDialog.MatchHighlighter.prototype._highlightItem):
2009         (WebInspector.JavaScriptOutlineDialog.MatchHighlighter.prototype._viewportRowRange):
2010         * inspector/front-end/javaScriptOutlineDialog.css:
2011         (.js-outline-dialog > .container > div.item > span.highlight):
2012
2013 2011-12-26  Vsevolod Vlasov  <vsevik@chromium.org>
2014
2015         Web Inspector: Extract FileSelector from ScriptsPanel.
2016         https://bugs.webkit.org/show_bug.cgi?id=75173
2017
2018         Reviewed by Pavel Feldman.
2019
2020         * inspector/front-end/ScriptsNavigator.js:
2021         (WebInspector.ScriptsNavigator):
2022         (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
2023         (WebInspector.ScriptsNavigator.prototype.show):
2024         (WebInspector.ScriptsNavigator.prototype.setScriptSourceIsDirty):
2025         (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes):
2026         (WebInspector.ScriptsNavigator.prototype.scriptSelected):
2027         * inspector/front-end/ScriptsPanel.js:
2028         (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
2029         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
2030         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
2031         (WebInspector.ScriptsPanel.prototype._reset):
2032         (WebInspector.ScriptsPanel.prototype._showSourceLine):
2033         (WebInspector.ScriptsPanel.prototype._showAndRevealInFileSelector):
2034         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2035         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
2036         (WebInspector.ScriptsPanel.prototype._scriptSelected):
2037         (WebInspector.ScriptsPanel.FileSelector):
2038         (WebInspector.ScriptsPanel.FileSelector.prototype.get defaultFocusedElement):
2039         (WebInspector.ScriptsPanel.FileSelector.prototype.show):
2040         (WebInspector.ScriptsPanel.FileSelector.prototype.addUISourceCode):
2041         (WebInspector.ScriptsPanel.FileSelector.prototype.isScriptSourceAdded):
2042         (WebInspector.ScriptsPanel.FileSelector.prototype.revealUISourceCode):
2043         (WebInspector.ScriptsPanel.FileSelector.prototype.setScriptSourceIsDirty):
2044         (WebInspector.ScriptsPanel.FileSelector.prototype.replaceUISourceCodes):
2045         (WebInspector.ScriptsPanel.ComboBoxFileSelector):
2046         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.get defaultFocusedElement):
2047         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.show):
2048         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.showDebugSidebarResizeWidget):
2049         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.addUISourceCode):
2050         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.isScriptSourceAdded):
2051         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.revealUISourceCode):
2052         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._innerRevealUISourceCode):
2053         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addToHistory):
2054         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.replaceUISourceCodes):
2055         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._showScriptFoldersSettingChanged):
2056         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._reset):
2057         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.setScriptSourceIsDirty):
2058         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._createEditorToolbar):
2059         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.get var):
2060         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
2061         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered):
2062         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect):
2063         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._resetFilesSelect):
2064         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._updateBackAndForwardButtons):
2065         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
2066         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
2067         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
2068         * inspector/front-end/inspector.html:
2069         * inspector/front-end/utilities.js:
2070         ():
2071
2072 2011-12-26  Alexander Pavlov  <apavlov@chromium.org>
2073
2074         Web Inspector: Implement "Go to Function" dialog for JavaScript
2075         https://bugs.webkit.org/show_bug.cgi?id=75092
2076
2077         Reviewed by Pavel Feldman.
2078
2079         * English.lproj/localizedStrings.js:
2080         * WebCore.gypi:
2081         * WebCore.vcproj/WebCore.vcproj:
2082         * inspector/compile-front-end.sh:
2083         * inspector/front-end/JavaScriptOutlineDialog.js: Added.
2084         (WebInspector.JavaScriptOutlineDialog.onMouseDown):
2085         (WebInspector.JavaScriptOutlineDialog):
2086         (WebInspector.JavaScriptOutlineDialog.didAddChunk):
2087         (WebInspector.JavaScriptOutlineDialog.install):
2088         (WebInspector.JavaScriptOutlineDialog._show):
2089         (WebInspector.JavaScriptOutlineDialog.createShortcut):
2090         (WebInspector.JavaScriptOutlineDialog.prototype._resizeWindow):
2091         (WebInspector.JavaScriptOutlineDialog.prototype._appendItemElements):
2092         (WebInspector.JavaScriptOutlineDialog.prototype._createSearchRegExp):
2093         (WebInspector.JavaScriptOutlineDialog.prototype._filterFunctions):
2094         (WebInspector.JavaScriptOutlineDialog.prototype._selectFirstItem):
2095         (WebInspector.JavaScriptOutlineDialog.prototype._hide):
2096         (WebInspector.JavaScriptOutlineDialog.prototype._onBlur):
2097         (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown.previousItem):
2098         (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown.nextItem):
2099         (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown):
2100         (WebInspector.JavaScriptOutlineDialog.prototype._scheduleFilter):
2101         (WebInspector.JavaScriptOutlineDialog.prototype._updateSelection):
2102         (WebInspector.JavaScriptOutlineDialog.prototype._onClick):
2103         (WebInspector.JavaScriptOutlineDialog.prototype._onMouseMove):
2104         (WebInspector.JavaScriptOutlineDialog.prototype._highlightFunctionLine):
2105         * inspector/front-end/JavaScriptSourceFrame.js:
2106         (WebInspector.JavaScriptSourceFrame.prototype.get uiSourceCode):
2107         * inspector/front-end/ScriptsPanel.js:
2108         (WebInspector.ScriptsPanel.prototype._didBuildOutlineChunk):
2109         (WebInspector.ScriptsPanel.prototype._reset):
2110         (WebInspector.ScriptsPanel.prototype.requestVisibleScriptOutline):
2111         (WebInspector.ScriptsPanel.prototype._createEditorToolbar):
2112         * inspector/front-end/WebKit.qrc:
2113         * inspector/front-end/inspector.html:
2114         * inspector/front-end/javaScriptOutlineDialog.css: Added.
2115         (.js-outline-dialog):
2116         (.js-outline-dialog > input):
2117         (.js-outline-dialog > div.progress):
2118         (.js-outline-dialog > div.container):
2119         (.js-outline-dialog > .container > div.item):
2120         (.js-outline-dialog > .container > div.item.selected):
2121
2122 2011-12-26  Pavel Feldman  <pfeldman@google.com>
2123
2124         Web Inspector: make SDK compilation component self-contained.
2125         https://bugs.webkit.org/show_bug.cgi?id=75172
2126
2127         Reviewed by Yury Semikhatsky.
2128
2129         * inspector/compile-front-end.sh:
2130         * inspector/front-end/ConsoleMessage.js:
2131         (WebInspector.ConsoleMessageImpl):
2132         (WebInspector.ConsoleMessageImpl.prototype.get stackTrace):
2133         (WebInspector.ConsoleMessageImpl.prototype.clone):
2134         * inspector/front-end/ConsoleModel.js:
2135         (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
2136         (WebInspector.ConsoleMessage):
2137         (WebInspector.ConsoleMessage.prototype.isErrorOrWarning):
2138         (WebInspector.ConsoleMessage.prototype.updateRepeatCount):
2139         (WebInspector.ConsoleMessage.prototype.clone):
2140         * inspector/front-end/DebuggerPresentationModel.js:
2141         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
2142         * inspector/front-end/ResourceUtils.js:
2143         * inspector/front-end/UIUtils.js:
2144         (WebInspector.resetToolbarColors):
2145         (WebInspector.populateHrefContextMenu):
2146
2147 2011-12-26  Hajime Morrita  <morrita@google.com>
2148
2149         Unreviewed bad merge fix.
2150
2151         * svg/SVGSVGElement.cpp:
2152         (WebCore::SVGSVGElement::didMoveToNewDocument):
2153
2154 2011-12-25  Hajime Morrita  <morrita@chromium.org>
2155
2156         https://bugs.webkit.org/show_bug.cgi?id=74067
2157         Refactoring: Unitfy willMoveToNewDocument() and didMoveToNewDocument()
2158
2159         Reviewed by Darin Adler.
2160
2161         No new tests. No behavior change.
2162
2163         This change combines two method Node::willMoveToNewOwnerDocument() and Node::didMoveToNewOwnerDocument()
2164         into Node::didMoveToNewDocument(Document* oldDocument).
2165
2166         The intention of this change is:
2167         - Making upcoming refactoring (Bug 59816) possible. The refactoring will turn Node::m_document into
2168           Node::m_treeScope, and we will no longer have Node::setDocument() where we can invoke both
2169           willMoveToNewDocument() and didMoveToNewDocument() at once.
2170         - Killing one extra virtual method call.
2171         - Making the concept of "move" clearer by keeping such an operation into the single method.
2172
2173         * dom/Node.cpp:
2174         (WebCore::setWillMoveToNewDocumentWasCalled):
2175         (WebCore::setDidMoveToNewDocumentWasCalled):
2176         (WebCore::Node::setDocument):
2177         (WebCore::Node::didMoveToNewDocument):
2178         * dom/Node.h:
2179         * dom/StyledElement.cpp:
2180         (WebCore::StyledElement::attributeChanged):
2181         * html/FormAssociatedElement.cpp:
2182         (WebCore::FormAssociatedElement::didMoveToNewDocument):
2183         * html/FormAssociatedElement.h:
2184         * html/HTMLFormControlElement.cpp:
2185         (WebCore::HTMLFormControlElement::didMoveToNewDocument):
2186         (WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
2187         * html/HTMLFormControlElement.h:
2188         * html/HTMLFormElement.cpp:
2189         (WebCore::HTMLFormElement::didMoveToNewDocument):
2190         * html/HTMLFormElement.h:
2191         * html/HTMLImageElement.cpp:
2192         (WebCore::HTMLImageElement::didMoveToNewDocument):
2193         * html/HTMLImageElement.h:
2194         * html/HTMLInputElement.cpp:
2195         (WebCore::HTMLInputElement::didMoveToNewDocument):
2196         * html/HTMLInputElement.h:
2197         * html/HTMLMediaElement.cpp:
2198         (WebCore::HTMLMediaElement::didMoveToNewDocument):
2199         * html/HTMLMediaElement.h:
2200         * html/HTMLObjectElement.cpp:
2201         (WebCore::HTMLObjectElement::didMoveToNewDocument):
2202         * html/HTMLObjectElement.h:
2203         * html/HTMLPlugInImageElement.cpp:
2204         (WebCore::HTMLPlugInImageElement::didMoveToNewDocument):
2205         * html/HTMLPlugInImageElement.h:
2206         * html/HTMLVideoElement.cpp:
2207         (WebCore::HTMLVideoElement::didMoveToNewDocument):
2208         * html/HTMLVideoElement.h:
2209         * html/ImageDocument.cpp:
2210         (WebCore::ImageDocumentElement::didMoveToNewDocument):
2211         * html/ImageInputType.cpp:
2212         (WebCore::ImageInputType::willMoveToNewDocument):
2213         * loader/ImageLoader.cpp:
2214         (WebCore::ImageLoader::elementDidMoveToNewDocument):
2215         * loader/ImageLoader.h:
2216         * svg/SVGImageElement.cpp:
2217         (WebCore::SVGImageElement::didMoveToNewDocument):
2218         * svg/SVGImageElement.h:
2219         * svg/SVGSVGElement.cpp:
2220         (WebCore::SVGSVGElement::didMoveToNewDocument):
2221         * svg/SVGSVGElement.h:
2222
2223 2011-12-25  Kentaro Hara  <haraken@chromium.org>
2224
2225         REGRESSION(r102987): Fix the filename prefix of the generated empty .h
2226         and .cpp files for [Supplemental] IDLs
2227         https://bugs.webkit.org/show_bug.cgi?id=75082
2228
2229         Reviewed by Darin Adler.
2230
2231         In bug 74481, we changed generate-bindings.pl so that it generates empty .h
2232         and .cpp files for the [Supplemental] IDLs. However, the filename prefixes of
2233         those .h and .cpp files are wrong. This patch fixes the prefixes as follows:
2234
2235             generator=JS  => JS*.h, JS*.cpp
2236             generator=V8  => V8*.h, V8*.cpp
2237             generator=ObjC  => DOM*.h, DOM*.cpp
2238             generator=GObject  => WebKitDOM*.h, WebKitDOM*.cpp
2239             generator=CPP  => WebDOM*.h, WebDOM*.cpp
2240
2241         No new tests. No change in behavior.
2242         I confirmed that the names of generated .h and .cpp files are correct.
2243
2244         * bindings/scripts/CodeGenerator.pm:
2245         (FileNamePrefix): Returns the prefix of file names.
2246         * bindings/scripts/CodeGeneratorCPP.pm:
2247         (GenerateInterface): Uses CodeGenerator::FileNamePrefix.
2248         * bindings/scripts/CodeGeneratorGObject.pm:
2249         (GenerateInterface): Ditto.
2250         * bindings/scripts/CodeGeneratorJS.pm:
2251         (GenerateInterface): Ditto.
2252         * bindings/scripts/CodeGeneratorObjC.pm:
2253         (GenerateInterface): Ditto.
2254         * bindings/scripts/CodeGeneratorV8.pm:
2255         (GenerateInterface): Ditto.
2256         * bindings/scripts/generate-bindings.pl:
2257         (generateEmptyHeaderAndCpp): Ditto.
2258
2259 2011-12-25  Dan Bernstein  <mitz@apple.com>
2260
2261         WebCore changes for: Find indicators overlap when a match spans multiple text boxes
2262         https://bugs.webkit.org/show_bug.cgi?id=75220
2263
2264         Reviewed by Darin Adler.
2265
2266         * WebCore.exp.in: Exported new unionRect(const Vector<FloatRect>&) and existing
2267         FloatRect::intersects().
2268         * platform/graphics/FloatRect.cpp:
2269         (WebCore::unionRect): Added.
2270         * platform/graphics/FloatRect.h:
2271
2272 2011-12-25  Darin Adler  <darin@apple.com>
2273
2274         Use OwnPtr for CSSFontFace::m_sources
2275         https://bugs.webkit.org/show_bug.cgi?id=75219
2276
2277         Reviewed by Dan Bernstein.
2278
2279         * css/CSSFontFace.cpp:
2280         (WebCore::CSSFontFace::isLoaded): Use the same size_t idiom here as in the rest
2281         of the functions.
2282         (WebCore::CSSFontFace::isValid): Ditto. Also removed unneeded empty special casing.
2283         (WebCore::CSSFontFace::addSource): Changed to take a PassOwnPtr. Reordered so the
2284         PassOwnPtr zeroing does not cause trouble.
2285         (WebCore::CSSFontFace::getFontData): Added call to get.
2286         (WebCore::CSSFontFace::hasSVGFontFaceSource): Use the same size_t idiom here as in
2287         the rest of the functions.
2288
2289         * css/CSSFontFace.h: Use PassOwnPtr for addSource argument, and Vector<OwnPtr> for
2290         the m_sources vector.
2291
2292         * css/CSSFontSelector.cpp:
2293         (WebCore::CSSFontSelector::addFontFaceRule): Use OwnPtr and PassOwnPtr for font face
2294         sources that are passed to addSource.
2295
2296         * css/CSSSegmentedFontFace.cpp: Added a now-needed include.
2297
2298 2011-12-24  Jarred Nicholls  <jarred@sencha.com>
2299
2300         Allow XMLHttpRequest responseType to be set at any state up to and including HEADERS_RECEIVED
2301         https://bugs.webkit.org/show_bug.cgi?id=75190
2302
2303         XMLHttpRequest.responseType should be modifiable at any state up to and including the
2304         HEADERS_RECEIVED state. Therefore, subsequent calls to open() should not reset responseType
2305         to its default value, and calls to open() must follow the same spec mandate set forth in
2306         setResponseType() for synchronous HTTP(S) requests made from the window context.
2307
2308         Reviewed by Alexey Proskuryakov.
2309
2310         Tests: fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request.html
2311                fast/xmlhttprequest/xmlhttprequest-responsetype-before-open.html
2312                fast/xmlhttprequest/xmlhttprequest-responsetype-set-at-headers-received.html
2313
2314         * xml/XMLHttpRequest.cpp:
2315         (WebCore::XMLHttpRequest::setResponseType):
2316         Prevent setting the value only when in LOADING and DONE states. No longer check if
2317         m_loader is present, which is instantiated on a call to send(), because responseType
2318         can be safely changed after a request is sent.
2319         (WebCore::XMLHttpRequest::open):
2320         Do not reset m_responseTypeCode to the default value, and prevent calls to open()
2321         for synchronous HTTP(S) requests made from the window context when m_responseTypeCode
2322         is not the default value.
2323
2324 2011-12-25  Sam Weinig  <sam@webkit.org>
2325
2326         Fix tests failing as a result of r103643
2327         https://bugs.webkit.org/show_bug.cgi?id=75209
2328
2329         Reviewed by Dan Bernstein.
2330
2331         Switch accidental switch of default scroll granularity from 
2332         ScrollByPageWheelEvent back to ScrollByPixelWheelEvent.
2333
2334         * platform/mac/PlatformEventFactory.mm:
2335         (WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
2336
2337 2011-12-25  Darin Adler  <darin@apple.com>
2338
2339         Change CSS canvas code that does HashMap get/set to use the more efficient add idiom
2340         https://bugs.webkit.org/show_bug.cgi?id=75204
2341
2342         Reviewed by Dan Bernstein.
2343
2344         * dom/Document.cpp:
2345         (WebCore::Document::getCSSCanvasContext): Change local variable name of element to
2346         element; it's not the function result, so not good to name it result.
2347         (WebCore::Document::getCSSCanvasElement): Use add instead of get/set so we only do
2348         one hash table lookup.
2349
2350 2011-12-24  Andreas Kling  <awesomekling@apple.com>
2351
2352         CSSElementStyleDeclarations should never move between elements.
2353         <http://webkit.org/b/75198>
2354
2355         Reviewed by Anders Carlsson.
2356
2357         Have the CSSElementStyleDeclaration subclasses take a StyledElement* in
2358         the constructor and replace setElement(StyledElement*) by clearElement().
2359
2360         No behavior change, just enforcing the current behavior at compile-time.
2361
2362         * css/CSSElementStyleDeclaration.h:
2363         (WebCore::CSSElementStyleDeclaration::clearElement):
2364         (WebCore::CSSElementStyleDeclaration::CSSElementStyleDeclaration):
2365         * css/CSSInlineStyleDeclaration.h:
2366         (WebCore::CSSInlineStyleDeclaration::create):
2367         (WebCore::CSSInlineStyleDeclaration::CSSInlineStyleDeclaration):
2368         * dom/StyledElement.cpp:
2369         (WebCore::StyledElement::createInlineStyleDecl):
2370         (WebCore::StyledElement::destroyInlineStyleDecl):
2371         * svg/SVGFontFaceElement.cpp:
2372         (WebCore::FontFaceStyleDeclaration::FontFaceStyleDeclaration):
2373
2374 2011-12-23  Andreas Kling  <awesomekling@apple.com>
2375
2376         Decouple CSSMappedAttributeDeclaration from element completely.
2377         <http://webkit.org/b/75187>
2378
2379         Reviewed by Darin Adler.
2380
2381         Let CSSMappedAttributeDeclaration inherit from CSSMutableDeclaration instead
2382         of CSSElementStyleDeclaration. Add methods to CSSMappedAttributeDeclaration
2383         for setting properties that also take a StyledElement* and use that mechanism
2384         instead of temporarily associating an element with the declaration.
2385
2386         This reduces the size of mapped attributes by 4/8 bytes, but more importantly
2387         opens a number of ways to simplify style declarations in future patches.
2388
2389         * css/CSSMutableStyleDeclaration.h:
2390         * dom/CSSMappedAttributeDeclaration.cpp:
2391         (WebCore::CSSMappedAttributeDeclaration::setNeedsStyleRecalc):
2392         (WebCore::CSSMappedAttributeDeclaration::setMappedImageProperty):
2393         (WebCore::CSSMappedAttributeDeclaration::setMappedLengthProperty):
2394         (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
2395         (WebCore::CSSMappedAttributeDeclaration::removeMappedProperty):
2396         * dom/CSSMappedAttributeDeclaration.h:
2397         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
2398
2399             Add/move methods to CSSMappedAttributeDeclaration for setting/removing
2400             properties that also take a StyledElement*. That element is used for
2401             scheduling style recalc and passing the right document to CSSParser.
2402
2403         * css/CSSParser.h:
2404         * css/CSSParser.cpp:
2405         (WebCore::parseColorValue):
2406         (WebCore::parseSimpleLengthValue):
2407         (WebCore::CSSParser::parseValue):
2408         (WebCore::CSSParser::parseMappedAttributeValue):
2409
2410             Added a parsedMappedAttributeValue() alternative to parseValue() that
2411             takes a StyledElement*.
2412
2413         * dom/StyledElement.h:
2414         * html/HTMLElement.cpp:
2415         (WebCore::HTMLElement::setContentEditable):
2416
2417             Add (and use) a StyledElement::removeCSSProperty() complement to the
2418             addCSS*() functions.
2419
2420         * dom/StyledElement.cpp:
2421         (WebCore::StyledElement::attributeChanged):
2422         (WebCore::StyledElement::removeCSSProperty):
2423         (WebCore::StyledElement::addCSSProperty):
2424         (WebCore::StyledElement::addCSSImageProperty):
2425         (WebCore::StyledElement::addCSSLength):
2426         (WebCore::StyledElement::addCSSColor):
2427         (WebCore::StyledElement::createMappedDecl):
2428         * html/HTMLTableElement.cpp:
2429         (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
2430         (WebCore::HTMLTableElement::addSharedCellBordersDecl):
2431         (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
2432         (WebCore::HTMLTableElement::addSharedGroupDecls):
2433
2434             Use the setMapped*Property() functions to plumb the element through.
2435
2436         * css/CSSElementStyleDeclaration.h:
2437
2438             Update comment about CSSElementStyleDeclaration's subclasses.
2439
2440 2011-12-24  Jarred Nicholls  <jarred@sencha.com>
2441
2442         Allow XMLHttpRequest withCredentials to be set prior to a call to open()
2443         https://bugs.webkit.org/show_bug.cgi?id=75194
2444
2445         XMLHttpRequest.withCredentials attribute should be modifiable prior to the OPENED state per
2446         the W3C spec. See http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-withcredentials-attribute
2447
2448         Reviewed by Alexey Proskuryakov.
2449
2450         Test: fast/xmlhttprequest/xmlhttprequest-withcredentials-before-open.html
2451
2452         * xml/XMLHttpRequest.cpp:
2453         (WebCore::XMLHttpRequest::setWithCredentials):
2454         Prevent setting the value only after the OPENED state.
2455
2456 2011-12-24  Andreas Kling  <awesomekling@apple.com>
2457
2458         Remove empty inline RenderStyle destructor.
2459         <http://webkit.org/b/75188>
2460
2461         Rubber-stamped by Anders "Ordvits" Carlsson.
2462
2463         * rendering/style/RenderStyle.h:
2464
2465 2011-12-24  Andreas Kling  <awesomekling@apple.com>
2466
2467         RenderStyle: Inline the destructor.
2468         <http://webkit.org/b/75188>
2469
2470         Reviewed by Kenneth Rohde Christiansen.
2471
2472         The (empty) RenderStyle destructor gets a little hot sometimes, reaching up
2473         to 0.4% when loading the full HTML5 spec. Inline it to remove the pointless
2474         function call.
2475
2476         * rendering/style/RenderStyle.cpp:
2477         * rendering/style/RenderStyle.h:
2478         (WebCore::RenderStyleBitfields::~RenderStyle):
2479
2480 2011-12-23  Noel Gordon  <noel.gordon@gmail.com>
2481
2482         JPEG decoders should only save color profile markers if color management is enabled
2483         https://bugs.webkit.org/show_bug.cgi?id=75182
2484
2485         Reviewed by Adam Barth.
2486
2487         No new tests. Covered by existing tests.
2488             fast/images/ycbcr-with-cmyk-color-profile.html
2489             fast/images/gray-scale-jpeg-with-color-profile.html
2490             fast/images/cmyk-jpeg-with-color-profile.html
2491             fast/images/color-jpeg-with-color-profile.html
2492
2493         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2494         (WebCore::JPEGImageReader::JPEGImageReader):  Store color profile (JPEG_APP0 + 2) markers
2495         using the iccjpeg helper setup_read_icc_profile() if color management is enabled.
2496
2497 2011-12-23  Alice Boxhall  <aboxhall@chromium.org>
2498
2499         Fix crash when adding paragraph in contenteditable with role=textbox.
2500         https://bugs.webkit.org/show_bug.cgi?id=75159
2501
2502         Reviewed by Ryosuke Niwa.
2503
2504         Test: accessibility/textbox-role-on-contenteditable-crash.html
2505
2506         * accessibility/AccessibilityRenderObject.cpp:
2507         (WebCore::AccessibilityRenderObject::childrenChanged): Use rendererIsEditable() rather than isContentEditable()
2508         as this method is called during render layouts, and isContentEditable() triggers a layout update, which crashes.
2509
2510 2011-12-23  Noel Gordon  <noel.gordon@gmail.com>
2511
2512         [chromium] JPEG image with CMYK ICC color profile renders color-inverted and squashed
2513         https://bugs.webkit.org/show_bug.cgi?id=74400
2514
2515         Reviewed by Adam Barth.
2516
2517         Use color profiles for GRAYSCALE, RGB, YCbCr, CMYK and YCCK jpeg images only if their
2518         embedded color profile is from an RGB color space input device.
2519
2520         Test:
2521            fast/images/ycbcr-with-cmyk-color-profile.html
2522                - YCbCr image, with CMYK output device color profile.
2523         Existing Tests:
2524            fast/images/gray-scale-jpeg-with-color-profile.html
2525                - YCbCr image, with GRAY input device color profile.
2526            fast/images/cmyk-jpeg-with-color-profile.html
2527                - YCCK image, with CMYK output device color profile.
2528            fast/images/color-jpeg-with-color-profile.html
2529                - YCbCr image, with RGB input device color profile.
2530
2531         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2532         (WebCore::rgbColorProfile): Return true if the profile has an RGB color space.
2533         (WebCore::inputDeviceColorProfile): Return true if the profile is from an input device.
2534         (WebCore::readColorProfile): Ignore the embedded color profile unless if it is from
2535         an RGB color space input device.
2536         (WebCore::JPEGImageReader::decode):
2537
2538 2011-12-23  Dan Bernstein  <mitz@apple.com>
2539
2540         Print dlerror() when dyld functions fail unexpectedly
2541         https://bugs.webkit.org/show_bug.cgi?id=75185
2542
2543         Reviewed by Sam Weinig.
2544
2545         * platform/mac/SoftLinking.h:
2546
2547 2011-12-23  Sam Weinig  <sam@webkit.org>
2548
2549         Start extracting platform specific bits out of PlatformEvents
2550         https://bugs.webkit.org/show_bug.cgi?id=75063
2551
2552         Reviewed by Anders Carlsson.
2553
2554         * WebCore.exp.in:
2555         Update exports.
2556
2557         * WebCore.xcodeproj/project.pbxproj:
2558         Add factory, remove implementation files for mac PlatformWheelEvent
2559         and PlatformMouseEvent.
2560
2561         * page/mac/EventHandlerMac.mm:
2562         (WebCore::EventHandler::wheelEvent):
2563         (WebCore::EventHandler::keyEvent):
2564         (WebCore::EventHandler::currentPlatformMouseEvent):
2565         Switch to use the factory.
2566
2567         * platform/PlatformEvent.h:
2568         (WebCore::PlatformEvent::shiftKey):
2569         (WebCore::PlatformEvent::ctrlKey):
2570         (WebCore::PlatformEvent::altKey):
2571         (WebCore::PlatformEvent::metaKey):
2572         (WebCore::PlatformEvent::modifiers):
2573         (WebCore::PlatformEvent::PlatformEvent):
2574         Switch to storing the modifiers as bits on an unsigned
2575         instead of as individual bools.
2576
2577         * platform/PlatformGestureEvent.h:
2578         Remove unused timestamp member.
2579
2580         * platform/PlatformKeyboardEvent.h:
2581         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2582         (WebCore::PlatformKeyboardEvent::keyIdentifier):
2583         (WebCore::PlatformKeyboardEvent::macCharCode):
2584         (WebCore::PlatformKeyboardEvent::isSystemKey):
2585         Give this class a more consistent interface across platforms,
2586         and remove constructor that took an NSEvent.
2587
2588         * platform/PlatformMouseEvent.h:
2589         Remove constructor that took an NSEvent (and an unused constructor that took
2590         many arguments) as well as some free functions for point conversion.
2591
2592         * platform/PlatformWheelEvent.h:
2593         Remove constructor that took an NSEvent and an unnecessary override of the timestamp()
2594         function.
2595
2596         * platform/mac/KeyEventMac.mm:
2597         Removed constructor and moved helpers to PlatformEventFactory.
2598
2599         * platform/mac/PlatformEventFactory.h: Added.
2600         * platform/mac/PlatformEventFactory.mm: Added.
2601         (WebCore::globalPoint):
2602         (WebCore::globalPointForEvent):
2603         (WebCore::pointForEvent):
2604         (WebCore::mouseButtonForEvent):
2605         (WebCore::mouseEventTypeForEvent):
2606         (WebCore::clickCountForEvent):
2607         (WebCore::momentumPhaseForEvent):
2608         (WebCore::phaseForEvent):
2609         (WebCore::gestureEventTypeForEvent):
2610         (WebCore::textFromEvent):
2611         (WebCore::unmodifiedTextFromEvent):
2612         (WebCore::keyIdentifierForKeyEvent):
2613         (WebCore::isKeypadEvent):
2614         (WebCore::windowsKeyCodeForKeyEvent):
2615         (WebCore::isKeyUpEvent):
2616         (WebCore::modifiersForEvent):
2617         (WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
2618         (WebCore::PlatformEventFactory::createPlatformMouseEvent):
2619         (WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
2620         (WebCore::PlatformEventFactory::createPlatformWheelEvent):
2621         (WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
2622         (WebCore::PlatformEventFactory::createPlatformKeyboardEvent):
2623         (WebCore::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
2624         (WebCore::PlatformEventFactory::createPlatformGestureEvent):
2625         Consolidate platform event creation logic and add factory functions.
2626
2627         * platform/mac/PlatformMouseEventMac.mm: Removed.
2628         * platform/mac/WheelEventMac.mm: Removed.
2629
2630         * platform/mac/WebCoreSystemInterface.h:
2631         * platform/mac/WebCoreSystemInterface.mm:
2632         Expose wkGetNSEventKeyChar in WebCore.
2633
2634         * platform/gtk/PlatformKeyboardEventGtk.cpp:
2635         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2636         * platform/gtk/PlatformMouseEventGtk.cpp:
2637         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2638         * platform/gtk/PlatformWheelEventGtk.cpp:
2639         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2640         * platform/qt/PlatformKeyboardEventQt.cpp:
2641         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2642         * platform/qt/PlatformMouseEventQt.cpp:
2643         (WebCore::mouseEventModifiersFromQtKeyboardModifiers):
2644         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2645         * platform/qt/PlatformTouchEventQt.cpp:
2646         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2647         * platform/win/KeyEventWin.cpp:
2648         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2649         * platform/win/WheelEventWin.cpp:
2650         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2651         Update for new variables/names.
2652
2653 2011-12-22  Andreas Kling  <kling@webkit.org>
2654
2655         CSSParser: Avoid creating dummy declaration in parseColor() slow path.
2656         <http://webkit.org/b/75104>
2657
2658         Reviewed by Darin Adler.
2659
2660         We only needed the dummy declaration to trigger the instantiation of
2661         a CSSValuePool. Added an ensureCSSValuePool() method and have parseColor()
2662         call that instead.
2663
2664         Also renamed the fast-path parseColor() to fastParseColor() and reordered
2665         the arguments for consistency with the slow-path parseColor().
2666
2667         * css/CSSParser.cpp:
2668         (WebCore::parseColorValue):
2669         (WebCore::CSSParser::parseColor):
2670         (WebCore::CSSParser::ensureCSSValuePool):
2671         (WebCore::CSSParser::fastParseColor):
2672         (WebCore::CSSParser::parseColorFromValue):
2673         * css/CSSParser.h:
2674
2675 2011-12-21  Andreas Kling  <kling@webkit.org>
2676
2677         Automate elements' registration as document namedItem/extraNamedItem.
2678         <http://webkit.org/b/74991>
2679
2680         Reviewed by Antti Koivisto.
2681
2682         Remove caching of the "id" and "name" attributes on applet, embed, form,
2683         image and object elements. We were caching them to keep the document's
2684         map of named and "extra named" (named by id) item counts in sync.
2685
2686         Instead, add a hook to Element::willModifyAttribute() that detects when
2687         the attributes are being changed and handle the registration/unregistration
2688         automatically if the element returns true for shouldRegisterAsNamedItem()
2689         or shouldRegisterAsExtraNamedItem() respectively.
2690
2691         This shrinks the elements by two AtomicStrings (8 or 16 bytes) each.
2692
2693         IFrame elements retain the old mechanism for now, as there are some subtle
2694         differences to how that's handled.
2695
2696         * dom/Node.h:
2697         (WebCore::Node::hasName):
2698         (WebCore::Node::setHasName):
2699
2700             Cache whether we have a "name" attribute or not (1 bit on Node.)
2701             This is done in order to minimize the overhead added to Element's
2702             insertedIntoDocument() and removeFromDocument().
2703
2704         * dom/StyledElement.cpp:
2705         (WebCore::StyledElement::attributeChanged):
2706
2707             Update the Node's has-name flag as appropriate.
2708
2709         * dom/Element.cpp:
2710         (WebCore::Element::updateNamedItemRegistration):
2711         (WebCore::Element::updateExtraNamedItemRegistration):
2712
2713             Added. Called when the "name" and "id" attributes are changed.
2714             Updates the document's named item maps accordingly.
2715
2716         (WebCore::Element::insertedIntoDocument):
2717         (WebCore::Element::removedFromDocument):
2718
2719             Make sure updateName() is called in addition to updateId() when applicable.
2720
2721         * dom/Element.h:
2722         (WebCore::Element::shouldRegisterAsNamedItem):
2723         (WebCore::Element::shouldRegisterAsExtraNamedItem):
2724
2725             Added. If an element returns true for these, it will be automatically
2726             registered with the document when the name/id attribute changes.
2727
2728         (WebCore::Element::updateId):
2729         (WebCore::Element::updateName):
2730
2731             Register/unregister from the document's named item maps as appropriate.
2732
2733         (WebCore::Element::willModifyAttribute):
2734
2735             Add updateName() hook in addition to the existing updateId() hook.
2736
2737         * dom/NamedNodeMap.cpp:
2738         (WebCore::NamedNodeMap::setAttributes):
2739
2740             Make sure updateName() is called when we're cloning the attributes
2741             from another element.
2742
2743         * html/HTMLAppletElement.cpp:
2744         (WebCore::HTMLAppletElement::parseMappedAttribute):
2745         * html/HTMLAppletElement.h:
2746         * html/HTMLEmbedElement.cpp:
2747         (WebCore::HTMLEmbedElement::parseMappedAttribute):
2748         (WebCore::HTMLEmbedElement::insertedIntoDocument):
2749         * html/HTMLEmbedElement.h:
2750         * html/HTMLFormElement.cpp:
2751         (WebCore::HTMLFormElement::insertedIntoDocument):
2752         (WebCore::HTMLFormElement::removedFromDocument):
2753         (WebCore::HTMLFormElement::parseMappedAttribute):
2754         * html/HTMLFormElement.h:
2755         * html/HTMLImageElement.cpp:
2756         (WebCore::HTMLImageElement::parseMappedAttribute):
2757         (WebCore::HTMLImageElement::insertedIntoDocument):
2758         * html/HTMLImageElement.h:
2759         * html/HTMLObjectElement.cpp:
2760         (WebCore::HTMLObjectElement::parseMappedAttribute):
2761         (WebCore::HTMLObjectElement::insertedIntoDocument):
2762         (WebCore::HTMLObjectElement::removedFromDocument):
2763         * html/HTMLObjectElement.h:
2764         * html/HTMLPlugInElement.h:
2765
2766             Remove duplicated code that is now handled by Element.
2767
2768         * html/HTMLObjectElement.cpp:
2769         (WebCore::HTMLObjectElement::updateDocNamedItem):
2770         (WebCore::HTMLObjectElement::formControlName):
2771
2772             Use fastGetAttribute() since we no longer cache the name.
2773
2774 2011-12-23  Anders Carlsson  <andersca@apple.com>
2775
2776         Add two (currently unused) new member functions to ScrollElasticityControllerClient
2777         https://bugs.webkit.org/show_bug.cgi?id=75179
2778
2779         Reviewed by Dan Bernstein.
2780
2781         This is so we'll be able to move more code to ScrollElasticityController.
2782
2783         * platform/mac/ScrollAnimatorMac.h:
2784         * platform/mac/ScrollAnimatorMac.mm:
2785         (WebCore::ScrollAnimatorMac::pinnedInDirection):
2786         (WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
2787         * platform/mac/ScrollElasticityController.h:
2788
2789 2011-12-23  Simon Fraser  <simon.fraser@apple.com>
2790
2791         Blur filter doesn't invalidate enough
2792         https://bugs.webkit.org/show_bug.cgi?id=74891
2793
2794         Reviewed by Darin Adler.
2795         
2796         Take the effects of filters into account for repainting; we need
2797         to inflate the repaint rect by the outsets provided by the filter.
2798         
2799         Test: css3/filters/filter-repaint.html
2800
2801         * rendering/RenderBox.cpp:
2802         (WebCore::RenderBox::computeRectForRepaint):
2803         * rendering/RenderInline.cpp:
2804         (WebCore::RenderInline::computeRectForRepaint):
2805
2806 2011-12-23  Simon Fraser  <simon.fraser@apple.com>
2807
2808         Filters should apply to inline elements
2809         https://bugs.webkit.org/show_bug.cgi?id=75152
2810
2811         Reviewed by Darin Adler.
2812         
2813         Filters need to cause creation of RenderLayers for inlines, just like
2814         opacity and masks do.
2815
2816         Test: css3/filters/filtered-inline.html
2817
2818         * rendering/RenderInline.h:
2819         (WebCore::RenderInline::requiresLayer):
2820         * rendering/RenderTableRow.h: Remove an obviously incorrect comment.
2821
2822 2011-12-23  Jarred Nicholls  <jarred@sencha.com>
2823
2824         Synchronous XHR in window context should not support new XHR responseTypes for HTTP(S) requests
2825         https://bugs.webkit.org/show_bug.cgi?id=72154
2826
2827         Per the latest W3C editor draft: http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html
2828         This is a spec-mandated attempt to thwart and otherwise discourage the use of synchronous XHR
2829         in the window context by deliberately not exposing newer functionality. Here we are disabling
2830         the use of responseType in synchronous HTTP(S) XHR requests from the window context.
2831
2832         When a user attempts this action, an InvalidAccessError exception is thrown and a message is
2833         printed to the console to further explain.
2834
2835         Renamed reportUnsafeUsage to a more generic name, and hoisted it up so it would be defined
2836         earlier and thus referenceable by setResponseType.
2837
2838         Reviewed by Alexey Proskuryakov.
2839
2840         Test: fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request.html
2841
2842         * xml/XMLHttpRequest.cpp:
2843         (WebCore::logConsoleError):
2844         reportUnsafeUsage -> logConsoleError
2845         (WebCore::XMLHttpRequest::setResponseType):
2846         (WebCore::XMLHttpRequest::setRequestHeader):
2847         reportUnsafeUsage -> logConsoleError
2848         (WebCore::XMLHttpRequest::getResponseHeader):
2849         reportUnsafeUsage -> logConsoleError
2850         (WebCore::XMLHttpRequest::didFail):
2851         reportUnsafeUsage -> logConsoleError
2852
2853 2011-12-23  Alexander Pavlov  <apavlov@chromium.org>
2854
2855         Web Inspector: Implement a worker for parsing out JavaScript function data
2856         https://bugs.webkit.org/show_bug.cgi?id=75166
2857
2858         Reviewed by Pavel Feldman.
2859
2860         Test: inspector/debugger/script-extract-outline.html
2861
2862         * inspector/front-end/ScriptFormatter.js:
2863         (WebInspector.ScriptFormatter.prototype.formatContent):
2864         * inspector/front-end/ScriptFormatterWorker.js:
2865         (onmessage):
2866         (format):
2867         (getChunkCount):
2868         ():
2869         (Array.prototype.keySet):
2870
2871 2011-12-23  Ilya Tikhonovsky  <loislo@chromium.org>
2872
2873         Unreviewed, rolling out r103624.
2874         http://trac.webkit.org/changeset/103624
2875         https://bugs.webkit.org/show_bug.cgi?id=68916
2876
2877         Broke Snow Leopard builders
2878
2879         * CMakeLists.txt:
2880         * DerivedSources.cpp:
2881         * DerivedSources.pri:
2882         * GNUmakefile.list.am:
2883         * WebCore.gypi:
2884         * WebCore.xcodeproj/project.pbxproj:
2885         * bindings/js/JSDirectoryEntryCustom.cpp:
2886         (WebCore::JSDirectoryEntry::getFile):
2887         (WebCore::JSDirectoryEntry::getDirectory):
2888         * bindings/js/JSDirectoryEntrySyncCustom.cpp:
2889         (WebCore::getFlags):
2890         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
2891         (WebCore::V8DirectoryEntry::getDirectoryCallback):
2892         (WebCore::V8DirectoryEntry::getFileCallback):
2893         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
2894         (WebCore::getFlags):
2895         * fileapi/WebKitFlags.idl: Added.
2896         * page/DOMWindow.idl:
2897         * workers/WorkerContext.idl:
2898
2899 2011-12-23  Eric Uhrhane  <ericu@chromium.org>
2900
2901        [fileapi] WebKitFlags should not be constructable per Directories & System spec
2902        https://bugs.webkit.org/show_bug.cgi?id=68916
2903
2904        Reviewed by Eric Seidel.
2905
2906        Remove IDL for the object and all DOM references to it.
2907        * fileapi/WebKitFlags.idl: Removed.
2908        * page/DOMWindow.idl:
2909        * workers/WorkerContext.idl:
2910        Remove references to the JSC/V8 objects compiled from the IDL.
2911        * bindings/js/JSDirectoryEntryCustom.cpp:
2912        (WebCore::JSDirectoryEntry::getFile):
2913        (WebCore::JSDirectoryEntry::getDirectory):
2914        * bindings/js/JSDirectoryEntrySyncCustom.cpp:
2915        (WebCore::getFlags):
2916        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
2917        (WebCore::V8DirectoryEntry::getDirectoryCallback):
2918        (WebCore::V8DirectoryEntry::getFileCallback):
2919        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
2920        (WebCore::getFlags):
2921        Fix up build files.
2922        * WebCore.gypi:
2923        * WebCore.vcproj/WebCore.vcproj:
2924        * WebCore.xcodeproj/project.pbxproj:
2925        * WebCore/CMakeLists.txt:
2926        * WebCore/CodeGenerators.pri:
2927        * WebCore/DerivedSources.cpp:
2928        * WebCore/GNUmakefile.list.am:
2929
2930 2011-12-23  Pavel Feldman  <pfeldman@google.com>
2931
2932         Web Inspector: Migrate to native Function.prototype.bind; fix front-end compilation with the
2933         version of compiler that respects Function.prototype.bind.
2934         https://bugs.webkit.org/show_bug.cgi?id=75170
2935
2936         Reviewed by Yury Semikhatsky.
2937
2938         * inspector/front-end/ApplicationCacheModel.js:
2939         * inspector/front-end/CSSKeywordCompletions.js:
2940         (WebInspector.CSSKeywordCompletions.colors):
2941         * inspector/front-end/CSSStyleModel.js:
2942         * inspector/front-end/CompilerSourceMapping.js:
2943         * inspector/front-end/DOMAgent.js:
2944         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
2945         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
2946         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
2947         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
2948         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
2949         (WebInspector.DOMAgent.prototype.querySelector):
2950         (WebInspector.DOMAgent.prototype.querySelectorAll):
2951         * inspector/front-end/DebuggerModel.js:
2952         * inspector/front-end/DebuggerPresentationModel.js:
2953         * inspector/front-end/ExtensionAPI.js:
2954         (injectedExtensionAPI.InspectorExtensionAPI):
2955         (injectedExtensionAPI):
2956         * inspector/front-end/ExtensionPanel.js:
2957         * inspector/front-end/NetworkManager.js:
2958         (WebInspector.NetworkManager.prototype.enableResourceTracking):
2959         (WebInspector.NetworkManager.prototype.disableResourceTracking):
2960         * inspector/front-end/Script.js:
2961         * inspector/front-end/Settings.js:
2962         * inspector/front-end/TextPrompt.js:
2963         (WebInspector.TextPrompt.prototype.complete):
2964         * inspector/front-end/utilities.js:
2965
2966 2011-12-23  Leo Yang  <leo.yang@torchmobile.com.cn>
2967
2968         [BlackBerry] Add the BlackBerry specific pauseLoad(bool) to ResourceHandle
2969         https://bugs.webkit.org/show_bug.cgi?id=75162
2970
2971         Reviewed by George Staikos.
2972
2973         The porting can be built now, no new tests so far.
2974
2975         * platform/network/ResourceHandle.h:
2976
2977 2011-12-23  Karl Koscher  <supersat@chromium.org>
2978
2979         Give embedders a chance to handle postMessage calls
2980         https://bugs.webkit.org/show_bug.cgi?id=73883
2981
2982         To support cross-process postMessage calls in Chromium (bug 73337), we need to intercept 
2983         postMessage calls to proxy windows. Originally we were just going to add a native event
2984         listener on the Chromium side, but that required more changes to WebKit and was a bit of
2985         a hack. See bug 73359 for a discuss about moving to this approach.
2986
2987         Reviewed by Adam Barth.
2988
2989         Test: platform/chromium/fast/events/intercept-postmessage.html
2990
2991         * loader/FrameLoaderClient.h:
2992         (WebCore::FrameLoaderClient::willCheckAndDispatchPostMessage): new method to allow the
2993             embedder to intercept postMessage calls
2994         * page/DOMWindow.cpp:
2995         (WebCore::DOMWindow::postMessageTimerFired): add a call to
2996             FrameLoaderClient::willCheckAndDispatchPostMessage
2997
2998 2011-12-23  Tom Sepez  <tsepez@chromium.org>
2999
3000         XSLT-created HTML documents do not inherit content-security-policy from originally loaded XML.
3001         https://bugs.webkit.org/show_bug.cgi?id=75043
3002
3003         Reviewed by Adam Barth.
3004
3005         Test: http/tests/security/contentSecurityPolicy/xsl-img-blocked.php
3006
3007         * page/ContentSecurityPolicy.cpp:
3008         (WebCore::ContentSecurityPolicy::copyStateFrom):
3009         (WebCore::ContentSecurityPolicy::didReceiveHeader):
3010         * page/ContentSecurityPolicy.h:
3011         * xml/XSLTProcessor.cpp:
3012         (WebCore::XSLTProcessor::createDocumentFromSource):
3013
3014 2011-12-23  Darin Adler  <darin@apple.com>
3015
3016         REGRESSION (r97533): Optgroup label is not disabled
3017         https://bugs.webkit.org/show_bug.cgi?id=74869
3018
3019         Reviewed by Alexey Proskuryakov.
3020
3021         * rendering/RenderMenuList.cpp:
3022         (WebCore::RenderMenuList::itemIsEnabled): Added back a line of code that was
3023         accidentally deleted as part of the refactoring in r97533. This line of code
3024         ensures that any items that are not option elements are disabled.
3025
3026 2011-12-19  Alexander Pavlov  <apavlov@chromium.org>
3027
3028         Web Inspector: Add CSSStyleSelector instrumentation calls towards implementing a CSS selector profiler
3029         https://bugs.webkit.org/show_bug.cgi?id=74863
3030
3031         Performance checks run on PerformanceTest/Parser/html5-full-render.html did not result in any noticeable
3032         perf regression, as the instrumentation calls are inline and bail out early if there are no
3033         Web Inspector frontends open.
3034
3035         Reviewed by Antti Koivisto.
3036
3037         No new tests, as the functionality is not bound to any user-visible outputs.
3038
3039         * css/CSSStyleSelector.cpp:
3040         (WebCore::CSSStyleSelector::matchRulesForList):
3041         (WebCore::CSSStyleSelector::applyDeclaration):
3042         * inspector/InspectorInstrumentation.cpp:
3043         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
3044         (WebCore::InspectorInstrumentation::didMatchRuleImpl):
3045         (WebCore::InspectorInstrumentation::willProcessRuleImpl):
3046         (WebCore::InspectorInstrumentation::didProcessRuleImpl):
3047         * inspector/InspectorInstrumentation.h:
3048         (WebCore::InspectorInstrumentation::willMatchRule):
3049         (WebCore::InspectorInstrumentation::didMatchRule):
3050         (WebCore::InspectorInstrumentation::willProcessRule):
3051         (WebCore::InspectorInstrumentation::didProcessRule):
3052
3053 2011-12-23  Ivan Briano  <ivan@profusion.mobi>
3054
3055         [EFL] Fix building with Glib support disabled
3056         https://bugs.webkit.org/show_bug.cgi?id=70990
3057
3058         Reviewed by Martin Robinson.
3059
3060         Add forward declaration for cairo_surface_t, missing when building
3061         the EFL port with Glib disabled.
3062
3063         * platform/cairo/WidgetBackingStore.h:
3064
3065 2011-12-23  Adam Klein  <adamk@chromium.org>
3066
3067         Minimize callsites and duplication of before/after advice for attribute mutations
3068         https://bugs.webkit.org/show_bug.cgi?id=75054
3069
3070         Reviewed by Ryosuke Niwa.
3071
3072         r103452 helpfully made before and after advice regarding attribute
3073         changes symmetrical. This change finishes that work, by pulling
3074         together all the before/after work, not just the crumbs previously
3075         covered. This includes incrementing Document::domTreeVersion()
3076         when an attribute is about to be changed, Inspector instrumentation,
3077         and MutationEvent dispatch. This is in addition to the previous code,
3078         which handled enqueueing MutationRecords for MutationObservers and
3079         updating the Document's list of IDs.
3080
3081         The only change in behavior should be in InspectorInstrumentation,
3082         which causes DOM breakpoints to occur for more cases of Attribute
3083         mutation. This seems like more correct behavior, and a test has
3084         been included to exercise it.
3085
3086         Hopefully the last Attribute-related refactor for awhile.
3087
3088         * dom/Attr.cpp:
3089         (WebCore::Attr::setValue): Update to call didModifyAttribute instead
3090         of attributeChanged.
3091         * dom/Element.cpp:
3092         (WebCore::Element::removeAttribute): Got rid of
3093         removeAttributeInternal as most of that logic moved back into
3094         NamedNodeMap::removeAttribute.
3095         (WebCore::Element::setAttributeInternal): Reorganized to read better
3096         now that only some cases result in calls to will/didModifyAttribute.
3097         (WebCore::Element::willModifyAttribute): Un-inlined and added
3098         incDOMTreeVersion and InspectorInstrumentation calls.
3099         (WebCore::Element::didModifyAttribute): New method which encapsulates
3100         calling attributeChanged, InspectorInstrumentation, and MutationEvents.
3101         (WebCore::Element::didRemoveAttribute): New method which encapsulates
3102         calling attributeChanged, InspectorInstrumentation, and MutationEvents.
3103         Separate from didModifyAttribute because it has special handling of
3104         the removed Attribute's value.
3105         * dom/Element.h:
3106         (WebCore::Element::willRemoveAttribute): New method which delegates to
3107         willModifyAttribute as appropriate.
3108         * dom/NamedNodeMap.cpp:
3109         (WebCore::NamedNodeMap::setNamedItem): Simplified.
3110         (WebCore::NamedNodeMap::removeNamedItem): Simplified.
3111         (WebCore::NamedNodeMap::addAttribute): Added calls to will/didModifyAttribute.
3112         (WebCore::NamedNodeMap::removeAttribute): ditto.
3113         (WebCore::NamedNodeMap::replaceAttribute): ditto.
3114         * svg/properties/SVGAnimatedPropertySynchronizer.h: Reverted changes
3115         made in r103452 now that addAttribute/removeAttribute once again
3116         call attributeChanged appropriately.
3117
3118 2011-12-22  Matt Falkenhagen  <falken@chromium.org>
3119
3120         Map 'lang' and xml:lang attributes to '-webkit-locale' CSS property for use with font fallback and text-transform
3121         https://bugs.webkit.org/show_bug.cgi?id=67586
3122
3123         Original patch by Jungshik Shin <jshin@chromium.org>
3124
3125         Reviewed by Darin Adler.
3126
3127         Tests: fast/text/lang-mapped-to-webkit-locale.xhtml
3128                fast/text/xml-lang-ignored-in-html.html
3129
3130         * html/HTMLElement.cpp:
3131         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
3132         (WebCore::HTMLElement::parseMappedAttribute): Map 'lang' and 'xml:lang' to -webkit-locale.
3133         * html/HTMLElement.h:
3134
3135 2011-12-22  Ryosuke Niwa  <rniwa@webkit.org>
3136
3137         WinCE build fix after r103539.
3138
3139         * rendering/svg/RenderSVGResource.cpp:
3140         (WebCore::RenderSVGResource::removeFromFilterCache):
3141
3142 2011-12-22  Chris Marrin  <cmarrin@apple.com>
3143
3144         Crash and incorrect behavior when switching between hardware and software CSS filters
3145         https://bugs.webkit.org/show_bug.cgi?id=75130
3146
3147         Reviewed by Simon Fraser.
3148
3149         Test: css3/filters/crash-hw-sw-switch.html
3150
3151         Backing store on layer gets fixed up (added or removed) after style change is evaluated
3152         so the state of the m_filter variable might not match the current filter state. Added
3153         updateOrRemoveFilterEffect() call to ensureBacking() and clearBacking() to get the
3154         m_filter property in the right state. Also added an ASSERT() where the crash was
3155         occuring.
3156
3157         * rendering/RenderLayer.cpp:
3158         (WebCore::RenderLayer::paintLayer):
3159         (WebCore::RenderLayer::ensureBacking):
3160         (WebCore::RenderLayer::clearBacking):
3161
3162 2011-12-22  Jon Lee  <jonlee@apple.com>
3163
3164         Radio buttons cut in download movie sheet
3165         https://bugs.webkit.org/show_bug.cgi?id=75128
3166         <rdar://problem/9399450>
3167
3168         Reviewed by Dan Bernstein.
3169
3170         Test: compositing/overflow/theme-affects-visual-overflow.html
3171
3172         The clipping comes from the fact the visual overflow rect of the radio button's
3173         RenderBlock is not expanded to accommodate for the size of the button on the Mac
3174         platform. We use the existing RenderTheme::adjustRepaintRect() to make the
3175         appropriate adjustment. This, consequently, makes it unnecessary to have to
3176         recalculate it for repaint.
3177
3178         * rendering/RenderBlock.cpp:
3179         (WebCore::RenderBlock::computeOverflow): As part of the overflow computation, we
3180         make a call to addVisualOverflowFromTheme().
3181         (WebCore::RenderBlock::addVisualOverflowFromTheme): Ask the theme to inflate the
3182         RenderBlock's rect if necessary, and add that to the visual overflow rect.
3183         * rendering/RenderBlock.h: Added addVisualOverflowFromTheme().
3184         * rendering/RenderBox.cpp:
3185         (WebCore::RenderBox::clippedOverflowRectForRepaint): Remove the call to
3186         adjustRepaintRect() since the rectangle r already uses the new visual overflow
3187         rect.
3188         * rendering/RenderReplaced.cpp:
3189         (WebCore::RenderReplaced::clippedOverflowRectForRepaint): Remove the call to
3190         adjustRepaintRect() since the rectangle r already uses the new visual overflow
3191         rect.
3192
3193 2011-12-22  Chris Rogers  <crogers@google.com>
3194
3195         Fix mac build breakage - add SincResampler files to WebCore.xcodeproj
3196         https://bugs.webkit.org/show_bug.cgi?id=75139
3197
3198         Unreviewed build fix.
3199
3200         * WebCore.xcodeproj/project.pbxproj:
3201
3202 2011-12-22  Simon Fraser  <simon.fraser@apple.com>
3203
3204         Animating some CSS filter values is wrong
3205         https://bugs.webkit.org/show_bug.cgi?id=75122
3206
3207         Reviewed by Chris Marrin.
3208         
3209         Fix some reversed filter animation behavior for brightness,
3210         contrast and drop-shadow filters.
3211
3212         Test: css3/filters/filter-animation-from-none.html
3213
3214         * platform/graphics/filters/FilterOperation.cpp:
3215         (WebCore::BasicComponentTransferFilterOperation::blend): Just use the global blend() function.
3216         (WebCore::BasicComponentTransferFilterOperation::passthroughAmount): Add CONTRAST and BRIGHTNESS to the sswitch.
3217         (WebCore::GammaFilterOperation::blend): Fix the ordering.
3218         (WebCore::DropShadowFilterOperation::blend): Fix the ordering.
3219
3220 2011-12-22  Chris Rogers  <crogers@google.com>
3221
3222         Fix mac build caused by improper include of "Locker.h"
3223         https://bugs.webkit.org/show_bug.cgi?id=75134
3224
3225         Unreviewed build fix.
3226
3227         * webaudio/MediaElementAudioSourceNode.cpp:
3228
3229 2011-12-22  Anders Carlsson  <andersca@apple.com>
3230
3231         More ScrollAnimatorMac cleanup
3232         https://bugs.webkit.org/show_bug.cgi?id=75127
3233
3234         Reviewed by Andreas Kling.
3235
3236         Introduce a immediateScrollByWithoutContentEdgeConstraints and use it whenever we want to scroll by an
3237         offset instead of doing the setConstrainsScrollingToContentEdge dance.
3238
3239         * platform/mac/ScrollAnimatorMac.h:
3240         * platform/mac/ScrollAnimatorMac.mm:
3241         (WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
3242         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
3243         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
3244
3245 2011-12-22  Chris Rogers  <crogers@google.com>
3246
3247         Implement MediaElementAudioSourceNode::setFormat() so numberOfChannels and sampleRate are accounted for
3248         https://bugs.webkit.org/show_bug.cgi?id=75057
3249
3250         Reviewed by Eric Carlson.
3251
3252         * GNUmakefile.list.am:
3253         * WebCore.gypi:
3254         * WebCore.xcodeproj/project.pbxproj:
3255         Add MultiChannelResampler source files to makefiles.
3256         * platform/audio/MultiChannelResampler.cpp: Added.
3257         (WebCore::MultiChannelResampler::MultiChannelResampler):
3258         (WebCore::MultiChannelResampler::process):
3259         * platform/audio/MultiChannelResampler.h: Added.
3260         Add MultiChannelResampler implementation which uses one SincResampler per channel.
3261         * webaudio/MediaElementAudioSourceNode.cpp:
3262         (WebCore::MediaElementAudioSourceNode::create):
3263         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
3264         (WebCore::MediaElementAudioSourceNode::setFormat):
3265         (WebCore::MediaElementAudioSourceNode::process):
3266         Implement MediaElementAudioSourceNode::setFormat() so that we can
3267         properly setup a sample-rate converter and set the number of channels
3268         of the MediaElementAudioSourceNode output.
3269         * webaudio/MediaElementAudioSourceNode.h:
3270
3271 2011-12-22  Chris Fleizach  <cfleizach@apple.com>
3272
3273         AX: WebKit should ignore ARIA role=presentation on focusable elements
3274         https://bugs.webkit.org/show_bug.cgi?id=75101
3275
3276         Reviewed by Darin Adler.
3277
3278         If an element is focusable, the presentational role must be ignored, lest the user not be able
3279         to interact with something important.
3280
3281         Test: accessibility/presentational-elements-with-focus.html
3282
3283         * accessibility/AccessibilityRenderObject.cpp:
3284         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3285         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
3286         (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
3287
3288 2011-12-22  Anders Carlsson  <andersca@apple.com>
3289
3290         Use immediateScrollBy instead of immediateScrollTo where possible
3291         https://bugs.webkit.org/show_bug.cgi?id=75124
3292
3293         Reviewed by Sam Weinig.
3294
3295         Instead of computing the position to scroll to, just compute the delta and use scrollBy instead.
3296
3297         * platform/mac/ScrollAnimatorMac.mm:
3298         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
3299         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
3300
3301 2011-12-22  Anders Carlsson  <andersca@apple.com>
3302
3303         Remove a private ScrollAnimatorMac getter/setter and just update the member variable directly
3304         https://bugs.webkit.org/show_bug.cgi?id=75121
3305
3306         Reviewed by Sam Weinig.
3307
3308         * platform/mac/ScrollAnimatorMac.h:
3309         * platform/mac/ScrollAnimatorMac.mm:
3310         (WebCore::ScrollAnimatorMac::setIsActive):
3311         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
3312
3313 2011-12-22  Anders Carlsson  <andersca@apple.com>
3314
3315         Simplify ScrollAnimatorMac scrollByDelta functions
3316         https://bugs.webkit.org/show_bug.cgi?id=75120
3317
3318         Reviewed by Sam Weinig.
3319
3320         Merge immediateScrollByDeltaX and immediateScrollByDeltaY to a single function and rename it
3321         to immediateScrollBy. Also, rename immediateScrollToPoint to immediateScrollTo.
3322         
3323         * platform/mac/ScrollAnimatorMac.h:
3324         * platform/mac/ScrollAnimatorMac.mm:
3325         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
3326         (WebCore::ScrollAnimatorMac::immediateScrollTo):
3327         (WebCore::ScrollAnimatorMac::immediateScrollBy):
3328         (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):
3329         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
3330         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
3331
3332 2011-12-22  Anders Carlsson  <andersca@apple.com>
3333
3334         Make some ScrollAnimatorMac member functions private
3335         https://bugs.webkit.org/show_bug.cgi?id=75117
3336
3337         Reviewed by Sam Weinig.
3338
3339         Make virtual member functions and functions that are only called from ScrollAnimatorMac private.
3340
3341         * platform/mac/ScrollAnimatorMac.h:
3342
3343 2011-12-22  Anders Carlsson  <andersca@apple.com>
3344
3345         Move some member variables out of ScrollElasticityController
3346         https://bugs.webkit.org/show_bug.cgi?id=75115
3347
3348         Reviewed by Adam Roben.
3349
3350         Move a couple of member variables that aren't related to rubberbanding out from
3351         ScrollElasticityController and back into ScrollAnimatorMac and remove now unneeded
3352         ScrollElasticityControllerClient member functions as well.
3353
3354         * platform/mac/ScrollAnimatorMac.h:
3355         * platform/mac/ScrollAnimatorMac.mm:
3356         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3357         (WebCore::ScrollAnimatorMac::handleWheelEvent):
3358         (WebCore::ScrollAnimatorMac::beginScrollGesture):
3359         * platform/mac/ScrollElasticityController.h:
3360         * platform/mac/ScrollElasticityController.mm:
3361         (WebCore::ScrollElasticityController::ScrollElasticityController):
3362         (WebCore::ScrollElasticityController::beginScrollGesture):
3363
3364 2011-12-22  Balazs Kelemen  <kbalazs@webkit.org>
3365
3366         Fix debug build with assertions disabled
3367         https://bugs.webkit.org/show_bug.cgi?id=75075
3368
3369         Reviewed by Darin Adler.
3370
3371         Check whether assertions are disabled instead of NDEBUG
3372         where appropriate to avoid "defined but not used" warnings.
3373
3374         No change in behaviour so no new tests.
3375
3376         * loader/cache/MemoryCache.cpp:
3377         (WebCore::MemoryCache::insertInLRUList):
3378         (WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
3379         (WebCore::MemoryCache::insertInLiveDecodedResourcesList):
3380         * rendering/RenderBlock.cpp:
3381         (WebCore::RenderBlock::layoutBlockChild):
3382         * rendering/RenderLayer.cpp:
3383         (WebCore::RenderLayer::updateLayerPositions):
3384
3385 2011-12-22  Anders Carlsson  <andersca@apple.com>
3386
3387         Get rid of didStartAnimatedScroll and didCompleteAnimatedScroll
3388         https://bugs.webkit.org/show_bug.cgi?id=75107
3389
3390         Reviewed by Adam Roben.
3391
3392         This is another step towards removing the display throttling in WebKit2.
3393
3394         * page/ChromeClient.h:
3395         * page/FrameView.cpp:
3396         * page/FrameView.h:
3397         * platform/ScrollableArea.h:
3398         * platform/mac/ScrollAnimatorMac.mm:
3399         (WebCore::ScrollAnimatorMac::scroll):
3400         (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):
3401
3402 2011-12-22  Anders Carlsson  <andersca@apple.com>
3403
3404         Remove didStartRubberBand and didCompleteRubberBand callbacks
3405         https://bugs.webkit.org/show_bug.cgi?id=75102
3406
3407         Reviewed by Adam Roben.
3408
3409         The code to do display throttling in WebKit2 is complex and doesn't really help us except
3410         on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead.
3411
3412         * page/ChromeClient.h:
3413         * page/FrameView.cpp:
3414         * page/FrameView.h:
3415         * platform/ScrollView.cpp:
3416         * platform/ScrollView.h:
3417         * platform/ScrollableArea.h:
3418         * platform/mac/ScrollAnimatorMac.mm:
3419         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
3420         * rendering/RenderLayer.cpp:
3421         * rendering/RenderLayer.h:
3422
3423 2011-12-22  Vsevolod Vlasov  <vsevik@chromium.org>
3424
3425         Web Inspector: [Regression] Network item view is not displayed.
3426         https://bugs.webkit.org/show_bug.cgi?id=75100
3427
3428         Not reviewed, one line css fix.
3429
3430         * inspector/front-end/networkPanel.css:
3431         (.network-item-view.visible):
3432
3433 2011-12-22  Andreas Kling  <kling@webkit.org>
3434
3435         NamedNodeMap: Get rid of declCount().
3436         <http://webkit.org/b/74948>
3437
3438         Reviewed by Darin Adler.
3439
3440         We already have the number of mapped attribute declarations in the map
3441         stored in m_mappedAttributeCount (updated by declAdded()/declRemoved())
3442         so compare that in mappedMapsEquivalent() to skip one loop over the map.
3443
3444         * dom/NamedNodeMap.cpp:
3445         (WebCore::NamedNodeMap::mappedMapsEquivalent):
3446         * dom/NamedNodeMap.h:
3447
3448 2011-12-22  Andreas Kling  <kling@webkit.org>
3449
3450         SnowLeopard crashes due to thread-unsafe EventListenerIterator ASSERTs
3451         <http://webkit.org/b/74260>
3452
3453         Reviewed by Darin Adler.
3454
3455         Guard EventListenerMap::m_activeIteratorCount with a mutex.
3456
3457         * dom/EventListenerMap.cpp:
3458         (WebCore::activeIteratorCountMutex):
3459         (WebCore::EventListenerMap::assertNoActiveIterators):
3460         (WebCore::EventListenerMap::clear):
3461         (WebCore::EventListenerMap::add):
3462         (WebCore::EventListenerMap::remove):
3463         (WebCore::EventListenerMap::find):
3464         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
3465         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
3466         (WebCore::EventListenerIterator::EventListenerIterator):
3467         (WebCore::EventListenerIterator::~EventListenerIterator):
3468         * dom/EventListenerMap.h:
3469         (WebCore::EventListenerMap::assertNoActiveIterators):
3470
3471 2011-12-22  Vsevolod Vlasov  <vsevik@chromium.org>
3472
3473         Web Inspector: TabbedPane should support closeable tabs, hiding tabs into drop down menu.
3474         https://bugs.webkit.org/show_bug.cgi?id=75085
3475
3476         Reviewed by Pavel Feldman.
3477
3478         Test: inspector/tabbed-pane-tabs-to-show.html
3479
3480         * WebCore.gypi:
3481         * WebCore.vcproj/WebCore.vcproj:
3482         * inspector/front-end/ScriptsNavigator.js:
3483         (WebInspector.ScriptsNavigator):
3484         * inspector/front-end/TabbedPane.js:
3485         (WebInspector.TabbedPane):
3486         (WebInspector.TabbedPane.prototype.set shrinkableTabs):
3487         (WebInspector.TabbedPane.prototype.set closeableTabs):
3488         (WebInspector.TabbedPane.prototype.appendTab):
3489         (WebInspector.TabbedPane.prototype.closeTab):
3490         (WebInspector.TabbedPane.prototype.selectTab):
3491         (WebInspector.TabbedPane.prototype.onResize):
3492         (WebInspector.TabbedPane.prototype._updateTabElements):
3493         (WebInspector.TabbedPane.prototype._showTabElement):
3494         (WebInspector.TabbedPane.prototype._hideTabElement):
3495         (WebInspector.TabbedPane.prototype._createDropDownButton):
3496         (WebInspector.TabbedPane.prototype._updateTabsDropDown):
3497         (WebInspector.TabbedPane.prototype._populateDropDownFromIndex):
3498         (WebInspector.TabbedPane.prototype._tabsSelectChanged):
3499         (WebInspector.TabbedPane.prototype._measureDropDownButton):
3500         (WebInspector.TabbedPane.prototype._updateWidths):
3501         (WebInspector.TabbedPane.prototype._calculateMaxWidth.var):
3502         (WebInspector.TabbedPane.prototype._calculateMaxWidth):
3503         (WebInspector.TabbedPane.prototype._hideCurrentTab):
3504         (WebInspector.TabbedPaneTab):
3505         (WebInspector.TabbedPaneTab.prototype.get id):
3506         (WebInspector.TabbedPaneTab.prototype.get tabElement):
3507         (WebInspector.TabbedPaneTab.prototype.get measuredWidth):
3508         (WebInspector.TabbedPaneTab.prototype.get width):
3509         (WebInspector.TabbedPaneTab.prototype.set width):
3510         (WebInspector.TabbedPaneTab.prototype._createTabElement):
3511         (WebInspector.TabbedPaneTab.prototype._measure):
3512         (WebInspector.TabbedPaneTab.prototype._tabSelected):
3513         (WebInspector.TabbedPaneTab.prototype._tabClosed):
3514         * inspector/front-end/WebKit.qrc:
3515         * inspector/front-end/inspector.css:
3516         * inspector/front-end/scriptsPanel.css:
3517         (#scripts-navigator-tabbed-pane .tabbed-pane-header-contents):
3518         * inspector/front-end/tabbedPane.css: Added.
3519
3520 2011-12-22  Chris Fleizach  <cfleizach@apple.com>
3521
3522         AX: attributed strings do not include AXHeading information when a link is contained within the heading
3523         https://bugs.webkit.org/show_bug.cgi?id=75059
3524
3525         Reviewed by Darin Adler.
3526
3527         An attributed string should contain the heading level of an ancestor node if it exists.
3528         This change allows the ancestor to be higher up in the hierarchy than just the direct parent.
3529
3530         Test: platform/mac/accessibility/heading-and-link-attributed-string.html
3531
3532         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3533           (AXAttributeStringSetHeadingLevel):
3534
3535 2011-12-22  Chris Fleizach  <cfleizach@apple.com>
3536
3537         AX: Title attribute should not be used in AXTitle
3538         https://bugs.webkit.org/show_bug.cgi?id=75027
3539
3540         Reviewed by Darin Adler.
3541
3542         Accessibility has been incorrectly exposing the title attribute through AXTitle. The title
3543         attribute better corresponds with a help tag for accessibility clients.
3544
3545         Test: platform/mac/accessibility/title-attribute-not-used-as-axtitle.html
3546
3547         * accessibility/AccessibilityRenderObject.cpp:
3548         (WebCore::AccessibilityRenderObject::title):
3549             Don't use the title attribute.
3550         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
3551             Change the semantics around when a checkbox or radio button combines it's title ui element. The change
3552             makes it so that we will expose the title ui element when the control already has a label. Otherwise
3553             the title ui element is hidden, and it's text is used as the AXTitle for the control.
3554         (WebCore::AccessibilityRenderObject::titleUIElement):
3555             Change this method so it always returns the title ui element, and then leave it up to exposesTitleUIElement
3556             to determine whether it should be shown.
3557         * accessibility/AccessibilityTableCell.h:
3558         (WebCore::AccessibilityTableCell::exposesTitleUIElement):
3559             There's no special logic for table cells that have title ui elements, and we don't want to use
3560             the logic in AccessibilityRenderObject, hence the override here.
3561         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3562         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3563
3564 2011-12-22  Chris Fleizach  <cfleizach@apple.com>
3565
3566         AX: aria-describedby should not be part of AXDescription (should be a part of AXHelp)
3567         https://bugs.webkit.org/show_bug.cgi?id=75052
3568
3569         Reviewed by Darin Adler.
3570
3571         According to the ARIA spec, aria-describedby is a more detailed description that is akin to help, rather
3572         than a description describing the actual object.
3573
3574         As such, it makes more sense for this attribute to be exposed under help text.
3575
3576         * accessibility/AccessibilityRenderObject.cpp:
3577         (WebCore::AccessibilityRenderObject::helpText):
3578         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
3579
3580 2011-12-22  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
3581
3582         [EFL] Missing plugins support for efl port
3583         https://bugs.webkit.org/show_bug.cgi?id=44505
3584
3585         Reviewed by Anders Carlsson.
3586
3587         Basic functionality of plugins for efl port.
3588
3589         Template version, so no new tests are needed.
3590
3591         * PlatformEfl.cmake:
3592         * plugins/PluginView.h:
3593         * plugins/efl/PluginDataEfl.cpp: Added. Copied from plugins/gtk/PluginDataGtk.cpp.
3594         (WebCore::PluginData::initPlugins): Fill mime/description/extension maps for plugins.
3595         (WebCore::PluginData::refresh): Refresh plugin's database.
3596         * plugins/efl/PluginPackageEfl.cpp: Added. Copied from plugins/gtk/PluginPackageGtk.cpp.
3597         (WebCore::PluginPackage::fetchInfo): Get info from plugin's library about name and mime supported.
3598         (WebCore::PluginPackage::NPVersion):
3599         (WebCore::PluginPackage::load): Load plugin.
3600         * plugins/efl/PluginViewEfl.cpp: Added. Copied from plugins/gtk/PluginViewGtk.cpp.
3601         (WebCore::PluginView::dispatchNPEvent):
3602         (WebCore::PluginView::handleFocusInEvent):
3603         (WebCore::PluginView::handleFocusOutEvent):
3604         (WebCore::PluginView::handleKeyboardEvent):
3605         (WebCore::PluginView::handleMouseEvent):
3606         (WebCore::PluginView::updatePluginWidget):
3607         (WebCore::PluginView::setFocus):
3608         (WebCore::PluginView::show):
3609         (WebCore::PluginView::hide):
3610         (WebCore::PluginView::paint):
3611         (WebCore::PluginView::setParent):
3612         (WebCore::PluginView::setNPWindowRect):
3613         (WebCore::PluginView::setNPWindowIfNeeded):
3614         (WebCore::PluginView::setParentVisible):
3615         (WebCore::PluginView::handlePostReadFile):
3616         (WebCore::PluginView::platformGetValueStatic):
3617         (WebCore::PluginView::platformGetValue):
3618         (WebCore::PluginView::invalidateRect):
3619         (WebCore::PluginView::invalidateRegion):
3620         (WebCore::PluginView::forceRedraw):
3621         (WebCore::PluginView::platformStart):
3622         (WebCore::PluginView::platformDestroy):
3623
3624 2011-12-22  Pavel Podivilov  <podivilov@chromium.org>
3625
3626         Web Inspector: add "install source map" to JS source frame context menu.
3627         https://bugs.webkit.org/show_bug.cgi?id=74181
3628
3629         Reviewed by Pavel Feldman.
3630
3631         Add "install source map" to source frame context menu when source map url is auto detected.
3632
3633         * English.lproj/localizedStrings.js:
3634         * inspector/front-end/CompilerSourceMapping.js:
3635         (WebInspector.ClosureCompilerSourceMapping.prototype.load):
3636         (WebInspector.ClosureCompilerSourceMapping.prototype._parseSections):
3637         * inspector/front-end/DebuggerPresentationModel.js:
3638         (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
3639         * inspector/front-end/JavaScriptSourceFrame.js:
3640         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
3641         (WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
3642         * inspector/front-end/RawSourceCode.js:
3643         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
3644         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
3645         (WebInspector.RawSourceCode.prototype._createSourceMapping):
3646         (WebInspector.RawSourceCode.prototype._createUISourceCode):
3647         * inspector/front-end/UISourceCode.js:
3648         (WebInspector.UISourceCode):
3649
3650 2011-12-22  Branimir Lambov  <blambov@google.com>
3651
3652         SVG: "filter" race condition may prevent SVG elements from being re-drawn
3653         https://bugs.webkit.org/show_bug.cgi?id=53088
3654
3655         Reviewed by Nikolas Zimmermann.
3656
3657         Added code to explicitly invalidate data cached by filters applied to
3658         an invalidated object or one of its parents.
3659
3660         Test: svg/filters/filter-refresh.svg
3661
3662         * rendering/svg/RenderSVGResource.cpp:
3663         (WebCore::RenderSVGResource::removeFromFilterCache):
3664         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
3665         Added code to invalidate any filters applied to any of the parents.
3666         * rendering/svg/RenderSVGResource.h:
3667         * rendering/svg/RenderSVGResourceContainer.cpp:
3668         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
3669         Replaced a duplicate of RenderSVGResource::
3670         markForLayoutAndParentResourceInvalidation with a call to the method.
3671         * rendering/svg/SVGResourcesCache.cpp:
3672         (WebCore::SVGResourcesCache::clientLayoutChanged):
3673         Removed filter invalidation code as this function would not be called if
3674         the filter isn't already invalidated.
3675         (WebCore::SVGResourcesCache::clientStyleChanged):
3676         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
3677         Replaced filter invalidation with a markForLayoutAndParentResourceInvalidation
3678         call as all filters in the ancestor chain need to be invalidated.
3679
3680 2011-12-22  Leo Yang  <leo.yang@torchmobile.com.cn>
3681
3682         [BlackBerry] Upstream the BlackBerry change to ResourceHandle.h
3683         https://bugs.webkit.org/show_bug.cgi?id=75061
3684
3685         Reviewed by George Staikos.
3686
3687         No functionality change to the existing code, no new tests.
3688
3689         * platform/network/ResourceHandle.h:
3690
3691 2011-12-22  Alexandru Chiculita  <achicu@adobe.com>
3692
3693         [CSS Shaders] Follow up bug to fix issues mentioned in comment 23 from bug 73317
3694         https://bugs.webkit.org/show_bug.cgi?id=74840
3695         
3696         Some comments were added on bug 73317 after the patch was reviewed and committed.
3697         This patch is fixing those issues, mostly about coding style and some missing comments.
3698         
3699         The initial patch had no explanation about the feature in the ChangeLog, so I'm including the description
3700         in this patch:
3701         
3702         CSS Shaders allow a designer to use a pair of WebGL vertex and fragment shaders to alter the final
3703         rendering of a specific element. The navigator will render the element inside a texture and map it
3704         to a mesh. The mesh is formed by equal sized quads, that depending on the mesh style, attached or detached,
3705         can be stitched or separated. The number of quads can be changed from CSS.
3706         
3707         Usually the vertex shader is changing the vertices of the mesh, while the fragment shader affects only the color
3708         that is rendered to screen (for example lighting effects).
3709         
3710         More info about CSS Shaders can be found in the specification
3711         https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html
3712         
3713         Also a good tutorial is published here
3714         http://www.adobe.com/devnet/html5/articles/css-shaders.html
3715         
3716         Initially we are using the software filter effects pipeline. It uploads the image to the GPU, applies
3717         the shaders, reads it back to CPU and continues the rendering. The advantage of using the software pipeline is that
3718         it can be enabled on all the platforms that have WebGL support. The obvious disadvantage is performance: copies from CPU
3719         memory to GPU memory and the CPU will need to wait the GPU to finish before it could continue. In following 
3720         patches the shaders will be integrated in the hardware accelerated pipeline, so that no copies and, most 
3721         important, no waits will be required.
3722         
3723         Also, the new syntax counts total number of the lines and the columns, not just the
3724         additional lines and columns, so the minimum accepted and the default value is now 1 by 1.
3725
3726         Reviewed by Nikolas Zimmermann.
3727
3728         Some tests were updated for the default mesh size change.
3729
3730         * css/CSSParser.cpp:
3731             Only accept non-zero positive int values for mesh sizes.
3732             
3733         (WebCore::CSSParser::parseCustomFilter):
3734         * css/CSSStyleSelector.cpp:
3735             Updated the default mesh size to be 1 column with 1 line.
3736             
3737         (WebCore::CSSStyleSelector::createCustomFilterOperation):
3738         * loader/cache/CachedShader.cpp:
3739         (WebCore::CachedShader::shaderString):
3740             Corrected the CachedShader to use a StringBuilder. Also there was an incorrect 
3741             cast to bool, which resulted from a copy/paste from CachedScript which still has
3742             both same issues.
3743             
3744         (WebCore::CachedShader::data):
3745         * loader/cache/CachedShader.h:
3746         * platform/graphics/filters/CustomFilterMesh.cpp:
3747         (WebCore::MeshGenerator::MeshGenerator):
3748         (WebCore::MeshGenerator::verticesCount):
3749         (WebCore::MeshGenerator::generateAttachedMesh):
3750         (WebCore::MeshGenerator::generateDetachedMesh):
3751         (WebCore::CustomFilterMesh::CustomFilterMesh):
3752         * platform/graphics/filters/CustomFilterMesh.h:
3753         (WebCore::CustomFilterMesh::create):
3754         * platform/graphics/filters/CustomFilterShader.cpp:
3755         (WebCore::CustomFilterShader::CustomFilterShader):
3756             Exploded the body of the constructor into smaller helper functions.
3757             
3758         (WebCore::CustomFilterShader::compileShader):
3759         (WebCore::CustomFilterShader::linkProgram):
3760         (WebCore::CustomFilterShader::initializeParameterLocations):
3761         * platform/graphics/filters/CustomFilterShader.h:
3762         * platform/graphics/filters/FECustomFilter.cpp:
3763         (WebCore::orthogonalProjectionMatrix):
3764             Passing a TransformationMatrix by reference to be filled with the result matrix, instead
3765             of returning it by value. Also changed the name of the method.
3766             
3767         (WebCore::FECustomFilter::FECustomFilter):
3768         (WebCore::FECustomFilter::platformApplySoftware):
3769             Created some helper functions to make this method shorter.
3770             
3771         (WebCore::FECustomFilter::initializeContext):
3772         (WebCore::FECustomFilter::resizeContext):
3773         (WebCore::FECustomFilter::bindVertexAttribute):
3774         (WebCore::FECustomFilter::bindProgramAndBuffers):
3775         * platform/graphics/filters/FECustomFilter.h:
3776
3777 2011-12-12  Pavel Podivilov  <podivilov@chromium.org>
3778
3779         Web Inspector: fix source map url resolving.
3780         https://bugs.webkit.org/show_bug.cgi?id=74305
3781
3782         Reviewed by Pavel Feldman.
3783
3784         Also fix the bug with repeated source urls in mapping sections.
3785
3786         * inspector/front-end/CompilerSourceMapping.js:
3787         (WebInspector.ClosureCompilerSourceMapping):
3788         (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
3789         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
3790         (WebInspector.ClosureCompilerSourceMapping.prototype._resolveSourceMapURL):
3791         * inspector/front-end/DebuggerPresentationModel.js:
3792         (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
3793         * inspector/front-end/utilities.js:
3794         (String.prototype.asParsedURL):
3795
3796 2011-12-09  Pavel Podivilov  <podivilov@chromium.org>
3797
3798         Web Inspector: auto detect source map url.
3799         https://bugs.webkit.org/show_bug.cgi?id=74088
3800
3801         Reviewed by Pavel Feldman.
3802
3803         Check to see if "X-SourceMap" HTTP response header was sent with script resource.
3804         Header value will be used as auto suggestion for source map url in UI.
3805
3806         * inspector/Inspector.json:
3807         * inspector/InspectorDebuggerAgent.cpp:
3808         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
3809         (WebCore::InspectorDebuggerAgent::didParseSource):
3810         * inspector/InspectorDebuggerAgent.h:
3811         * inspector/front-end/DebuggerModel.js:
3812         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
3813         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
3814         * inspector/front-end/RawSourceCode.js:
3815         (WebInspector.RawSourceCode):
3816         * inspector/front-end/Script.js:
3817         (WebInspector.Script):
3818
3819 2011-12-22  Kentaro Hara  <haraken@chromium.org>
3820
3821         Change the build flow of AppleWebKit to use the [Supplemental] IDL
3822         https://bugs.webkit.org/show_bug.cgi?id=74900
3823
3824         Reviewed by Adam Barth.
3825
3826         This is the final step for bug 74599. This patch changes the build flow
3827         of DerivedSources.make as follows, and thus enable the [Supplemental] IDL.
3828
3829         - Previous build flow:
3830             foreach $idl (all IDL files) {
3831                 generate-bindings.pl depends on $idl;
3832                 generate-bindings.pl reads $idl;
3833                 generate-bindings.pl generates .h and .cpp files for $idl;
3834             }
3835
3836         - New build flow (See the discussions in bug 72138 for more details):
3837             resolve-supplemental.pl depends on all IDL files;
3838             resolve-supplemental.pl reads all IDL files;
3839             resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
3840             resolve-supplemental.pl outputs supplemental_dependency.tmp;
3841             foreach $idl (all IDL files) {
3842                 generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
3843                 generate-bindings.pl reads $idl;
3844                 generate-bindings.pl reads supplemental_dependency.tmp;
3845                 generate-bindings.pl generates .h and .cpp files for $idl,
3846                     including all attributes in the IDL files that are implementing $idl;
3847             }
3848
3849         Tests: Confirm that build succeeds.
3850                http/tests/websocket/tests/*
3851
3852         * DerivedSources.make: Described the build flow as described above.
3853         Added a list of IDL files. Instead, removed a list of JS*.h and JS*.cpp
3854         which are generated by the IDL files.
3855
3856 2011-12-22  Eric Uhrhane  <ericu@chromium.org>
3857
3858         [filesystem] Remove old filesystem naming restrictions
3859         https://bugs.webkit.org/show_bug.cgi?id=62813
3860
3861         Reviewed by David Levin.
3862
3863         * fileapi/DOMFilePath.cpp:
3864         (WebCore::DOMFilePath::isValidPath): Replace strict restrictions with
3865         minimal safety [no files named "." or "..", no use of '\\' or '\0' in
3866         paths, no use of '/' in file names].
3867
3868 2011-12-22  Greg Billock  <gbillock@google.com>
3869
3870         [Coverity] Address use-after-free report in MemoryCache
3871         https://bugs.webkit.org/show_bug.cgi?id=74970
3872
3873         Reviewed by Eric Seidel.
3874
3875         * loader/cache/MemoryCache.cpp:
3876         (WebCore::MemoryCache::revalidationSucceeded):
3877
3878 2011-12-22  Tom Sepez  <tsepez@chromium.org>
3879
3880         XSLT-created HTML documents do not inherit first party for cookies from originally loaded XML.
3881         https://bugs.webkit.org/show_bug.cgi?id=74757
3882
3883         Reviewed by Alexey Proskuryakov.
3884
3885         Tests: http/tests/security/cookies/first-party-cookie-allow-xslt.xml
3886                http/tests/security/cookies/third-party-cookie-blocking-xslt.xml
3887
3888         * xml/XSLTProcessor.cpp:
3889         (WebCore::XSLTProcessor::createDocumentFromSource):
3890
3891 2011-12-22  Daniel Jalkut  <jalkut@red-sweater.com>
3892
3893         WebKit editing throws exception when monochrome color dragged onto text
3894         https://bugs.webkit.org/show_bug.cgi?id=74775
3895
3896         Reviewed by Ryosuke Niwa.
3897
3898         Handle non-RGB colorspace colors in the Mac platform drag manager. Fixes NSException thrown 
3899         when dragging monochrome colors to contentEditable regions.
3900
3901         Manual test added to trunk/ManualTests/drag-color-to-contenteditable.html
3902
3903         * platform/mac/DragDataMac.mm:
3904         (WebCore::DragData::asColor):
3905
3906 2011-12-22  Peter Rybin  <peter.rybin@gmail.com>
3907
3908         Web Inspector: CodeGeneratorInspector.py: generate anonymous types.
3909         https://bugs.webkit.org/show_bug.cgi?id=74890
3910
3911         Reviewed by Yury Semikhatsky.
3912
3913         Anonymous types are generated. Forward declarations are generated.
3914
3915         In general it now generates C++ types for anonymous object types from
3916         JSON. It takes a name from the type declaration site, usually a
3917         parameter name. This all is explained in comments in generated file. Also
3918         all generated types now refer to other generated types in setter
3919         methods -- but this is commented out in generated code for now. All
3920         necessary forward declarations are also added. Anonymous enums are
3921         generated, but they are in comments too, because we didn't have
3922         solution about form the enums should have in C++ API.
3923
3924         Internally:
3925         The change reorganizes type bindings — a polymorphous "code generator"
3926         object is factored out from binding.
3927         A helper class Writer is added to allow generating code with ajustable
3928         indentations and to support insertion points where additional code can
3929         be inserted retroactively.
3930         ForwardListener class is used for preparing necessary forward
3931         declarations.
3932         AdHocTypeContext conception is a speculative abstract class that is
3933         needed wherever anonymous type can emerge.
3934
3935         * inspector/CodeGeneratorInspector.py:
3936         (fix_type_name.Result.output_comment):
3937         (Writer.__init__):
3938         (Writer.newline):
3939         (Writer.append):
3940         (Writer.newline_multiline):
3941         (Writer.append_multiline):
3942         (Writer.get_indented):
3943         (Writer):
3944         (Writer.insert_writer):
3945         (TypeBindings.create_named_type_declaration.Helper.write_doc):
3946         (TypeBindings.create_named_type_declaration.Helper):
3947         (TypeBindings.create_named_type_declaration.Helper.add_to_forward_listener):
3948         (TypeBindings.create_named_type_declaration):
3949         (TypeBindings.create_ad_hoc_type_declaration.Helper.write_doc):
3950         (TypeBindings.create_ad_hoc_type_declaration.Helper):
3951         (TypeBindings.create_ad_hoc_type_declaration.Helper.add_to_forward_listener):
3952         (TypeBindings.create_ad_hoc_type_declaration):
3953         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
3954         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator):
3955         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.register_use):
3956         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
3957         (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.generate_type_builder.String):
3958         (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.generate_type_builder):
3959         (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator):
3960         (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.register_use):
3961         (TypeBindings.create_type_declaration_.PlainString.get_code_generator):
3962         (TypeBindings.create_type_declaration_.PlainString.get_in_c_type_text.name):
3963         (TypeBindings.create_type_declaration_.PlainString):
3964         (TypeBindings.create_type_declaration_):
3965         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
3966         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator):
3967         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
3968         (AdHocTypeContextImpl.__init__):
3969         (AdHocTypeContextImpl.get_type_name_fix.NameFix):
3970         (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
3971         (AdHocTypeContextImpl.get_type_name_fix):
3972         (AdHocTypeContextImpl):
3973         (AdHocTypeContextImpl.call_generate_type_builder):
3974         (generate_forward_declaration):
3975         (register_use):
3976         (get_in_c_type_text):
3977         (reduce_to_raw_type):
3978         (PlainObjectBinding.get_code_generator):
3979         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
3980         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
3981         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
3982         (CodeGenerator.generate_type_builder.AdHocTypeContext):
3983         (CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
3984         (CodeGenerator.generate_type_builder):
3985         (CodeGenerator):
3986         (CodeGenerator.register_use):
3987         (RawTypesBinding.get_code_generator):
3988         (RawTypesBinding.get_in_c_type_text):
3989         (RawTypesBinding):
3990         (RawTypesBinding.reduce_to_raw_type):
3991         (TypeData.__init__):
3992         (TypeData.get_json_type):
3993         (resolve_param_type):
3994         (Generator.go):
3995         (Generator.process_event.NoOpForwardListener):
3996         (Generator.process_event.NoOpForwardListener.add_type_data):
3997         (Generator.process_event.AdHocTypeContext.get_type_name_fix.NameFix):
3998         (Generator.process_event.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
3999         (Generator.process_event.AdHocTypeContext.get_type_name_fix):
4000         (Generator.process_event.AdHocTypeContext):
4001         (Generator.process_event.AdHocTypeContext.call_generate_type_builder):
4002         (Generator.process_event):
4003         (Generator.process_types.ForwardListener):
4004         (Generator.process_types.ForwardListener.add_type_data):
4005         (Generator.process_types.generate_all_domains_code.namespace_lazy_generator):
4006         (Generator.process_types.generate_all_domains_code):
4007         (Generator.process_types.call_type_builder):
4008         (Generator.process_types.generate_forward_callback):
4009         (Generator):
4010         (Generator.process_types):
4011         (flatten_list.fill_recursive):
4012         (flatten_list):
4013
4014 2011-12-22  Hans Muller  <hmuller@adobe.com>
4015
4016         Onloadend event is not supported in XMLHttpRequest
4017         https://bugs.webkit.org/show_bug.cgi?id=40952
4018
4019         Reviewed by Julien Chaffraix.
4020
4021         Added support for the loadend ProgressEvent to XMLHttpRequest and XMLHttpRequestUpload.
4022         A new method, dispatchEventAndLoadEnd(), was added to XMLHttpRequestProgressEventThrottle
4023         and XMLHttpRequestUpload to foolproof the common case of dispatching a load, abort,
4024         or error event followed by a loadend event.
4025
4026         Tests: http/tests/xmlhttprequest/onloadend-event-after-abort.html
4027                http/tests/xmlhttprequest/onloadend-event-after-error.html
4028                http/tests/xmlhttprequest/onloadend-event-after-load.html
4029                http/tests/xmlhttprequest/onloadend-event-after-sync-requests.html
4030                http/tests/xmlhttprequest/upload-onloadend-event-after-abort.html
4031                http/tests/xmlhttprequest/upload-onloadend-event-after-load.html
4032                http/tests/xmlhttprequest/upload-onloadend-event-after-sync-requests.html
4033
4034         * xml/XMLHttpRequest.cpp:
4035         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
4036         (WebCore::XMLHttpRequest::abort):
4037         (WebCore::XMLHttpRequest::networkError):
4038         (WebCore::XMLHttpRequest::abortError):
4039         (WebCore::XMLHttpRequest::didSendData):
4040         * xml/XMLHttpRequest.h:
4041         * xml/XMLHttpRequest.idl:
4042         * xml/XMLHttpRequestProgressEventThrottle.cpp:
4043         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadEnd):
4044         * xml/XMLHttpRequestProgressEventThrottle.h:
4045         * xml/XMLHttpRequestUpload.cpp:
4046         (WebCore::XMLHttpRequestUpload::dispatchEventAndLoadEnd):
4047         * xml/XMLHttpRequestUpload.h:
4048         * xml/XMLHttpRequestUpload.idl:
4049
4050 2011-12-22  Mark Pilgrim  <pilgrim@chromium.org>
4051
4052         [FileSystem API] Entry.getMetadata successCallback is required
4053         https://bugs.webkit.org/show_bug.cgi?id=69638
4054
4055         Reviewed by Eric Seidel.
4056
4057         Test: fast/filesystem/simple-required-arguments-getmetadata.html
4058
4059         * fileapi/Entry.idl: remove [Optional] flag from successCallback parameter
4060
4061 2011-12-22  Ilya Tikhonovsky  <loislo@chromium.org>
4062