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