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