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