2a08389aec41ec9dd2134b9d85acc78dcdef34ff
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-02  Anders Carlsson  <andersca@apple.com>
2
3         NPAPI will not send mouse up events when mouse is outside plugin area
4         https://bugs.webkit.org/show_bug.cgi?id=77657
5         <rdar://problem/10160674>
6
7         Reviewed by Andreas Kling.
8
9         Export EventHandler::setCapturingMouseEventsNode.
10
11         * WebCore.exp.in:
12
13 2012-02-02  Antti Koivisto  <antti@apple.com>
14
15         Move remaining implementation from CSSStyleDeclaration to subclasses 
16         https://bugs.webkit.org/show_bug.cgi?id=77621
17
18         Reviewed by Andreas Kling.
19
20         This leaves CSSStyleDeclaration a near-pure CSSOM interface.
21
22         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
23         (WebCore::isCSSPropertyName):
24         (WebCore::JSCSSStyleDeclaration::putDelegate):
25         * css/CSSComputedStyleDeclaration.cpp:
26         (WebCore::CSSComputedStyleDeclaration::parentRule):
27         (WebCore):
28         * css/CSSComputedStyleDeclaration.h:
29         (CSSComputedStyleDeclaration):
30         * css/CSSMutableStyleDeclaration.cpp:
31         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
32         (WebCore::CSSMutableStyleDeclaration::contextStyleSheet):
33         (WebCore):
34         (WebCore::CSSMutableStyleDeclaration::parentRule):
35         * css/CSSMutableStyleDeclaration.h:
36         (WebCore::CSSMutableStyleDeclaration::isInlineStyleDeclaration):
37         (WebCore::CSSMutableStyleDeclaration::parentRuleInternal):
38         (WebCore::CSSMutableStyleDeclaration::clearParentRule):
39         (CSSMutableStyleDeclaration):
40         (WebCore::CSSMutableStyleDeclaration::parentElement):
41         (WebCore::CSSMutableStyleDeclaration::clearParentElement):
42         (WebCore::CSSMutableStyleDeclaration::parentStyleSheet):
43         * css/CSSParser.cpp:
44         (WebCore::parseColorValue):
45         (WebCore::parseSimpleLengthValue):
46         (WebCore::CSSParser::parseValue):
47         (WebCore::CSSParser::parseDeclaration):
48         * css/CSSStyleDeclaration.cpp:
49         (WebCore):
50         * css/CSSStyleDeclaration.h:
51         (CSSStyleDeclaration):
52         (WebCore::CSSStyleDeclaration::parentStyleSheet):
53         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
54         * css/CSSStyleRule.cpp:
55         (WebCore::CSSStyleRule::setSelectorText):
56                             
57             Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
58
59         * css/CSSStyleRule.h:
60         (WebCore::CSSStyleRule::setDeclaration):
61         * css/CSSStyleSelector.cpp:
62         (WebCore::isInsideRegionRule):
63         (WebCore::CSSStyleSelector::applyDeclaration):
64         * css/WebKitCSSKeyframeRule.cpp:
65         (WebCore::WebKitCSSKeyframeRule::setDeclaration):
66         * page/PageSerializer.cpp:
67         (WebCore::PageSerializer::serializeFrame):
68         (WebCore::PageSerializer::serializeCSSStyleSheet):
69         (WebCore::PageSerializer::retrieveResourcesForCSSRule):
70         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
71         * page/PageSerializer.h:
72         
73             Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
74         
75         (WebCore):
76         (PageSerializer):
77
78 2012-02-02  Chris Marrin  <cmarrin@apple.com>
79
80         Turn on CSS Filters on Windows
81         https://bugs.webkit.org/show_bug.cgi?id=76667
82
83         Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
84
85         Reviewed by Adele Peterson.
86
87         * WebCore.vcproj/copyForwardingHeaders.cmd:
88         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
89         (PlatformCALayer::setFilters):
90         (PlatformCALayer::filtersCanBeComposited):
91
92 2012-02-02  Anders Carlsson  <andersca@apple.com>
93
94         Move ScrollingThread to its own file
95         https://bugs.webkit.org/show_bug.cgi?id=77652
96
97         Reviewed by Sam Weinig.
98
99         This just shuffles some classes around and makes ScrollingCoordinator call into ScrollingThread.
100         Hopefully we'll be able to make ScrollingThread use the new WebCore::RunLoop class eventually.
101
102         * WebCore.xcodeproj/project.pbxproj:
103         * page/scrolling/ScrollingCoordinator.cpp:
104         (WebCore::ScrollingCoordinator::handleWheelEvent):
105         * page/scrolling/ScrollingCoordinator.h:
106         (ScrollingCoordinator):
107         * page/scrolling/ScrollingThread.cpp: Added.
108         (WebCore):
109         (WebCore::ScrollingThread::ScrollingThread):
110         (WebCore::ScrollingThread::isCurrentThread):
111         (WebCore::ScrollingThread::dispatch):
112         (WebCore::ScrollingThread::shared):
113         (WebCore::ScrollingThread::createThreadIfNeeded):
114         (WebCore::ScrollingThread::threadCallback):
115         (WebCore::ScrollingThread::threadBody):
116         (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
117         * page/scrolling/ScrollingThread.h: Added.
118         (WebCore):
119         (ScrollingThread):
120         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
121         (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
122         (WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPositionOnScrollingThread):
123         * page/scrolling/mac/ScrollingThreadMac.mm: Added.
124         (WebCore):
125         (WebCore::ScrollingThread::initializeRunLoop):
126         (WebCore::ScrollingThread::wakeUpRunLoop):
127         (WebCore::ScrollingThread::threadRunLoopSourceCallback):
128
129 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
130
131         Unreviewed, rolling out r106551.
132         http://trac.webkit.org/changeset/106551
133         https://bugs.webkit.org/show_bug.cgi?id=77648
134
135         Breaking mac and gtk tests due to font differences. (Requested
136         by _pdr_ on #webkit).
137
138         * platform/graphics/SVGGlyph.cpp:
139         (WebCore::charactersWithArabicForm):
140         * svg/SVGFontData.cpp:
141         (WebCore::SVGFontData::applySVGGlyphSelection):
142         * svg/SVGFontData.h:
143         (SVGFontData):
144
145 2012-02-02  Alexander Pavlov  <apavlov@chromium.org>
146
147         Web Inspector: [REGRESSION] Slow continuous DOM traversal with Up/Down keys
148         https://bugs.webkit.org/show_bug.cgi?id=77643
149
150         Reviewed by Pavel Feldman.
151
152         Test: inspector/styles/updates-during-dom-traversal.html
153
154         * inspector/front-end/StylesSidebarPane.js:
155         (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
156
157 2012-02-02  Claudio Saavedra  <csaavedra@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
158
159         [GTK] WebKitWebView won't work in a GtkOffscreenWindow
160         https://bugs.webkit.org/show_bug.cgi?id=76911
161
162         Reviewed by Philippe Normand.
163
164         * platform/gtk/GtkUtilities.cpp:
165         (WebCore::widgetIsOnscreenToplevelWindow): Added this helper.
166         * platform/gtk/GtkUtilities.h:
167         (WebCore): Added helper declaration.
168
169 2012-02-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
170
171         Update active and hover state on touch release.
172         https://bugs.webkit.org/show_bug.cgi?id=77620
173
174         Reviewed by Kenneth Rohde Christiansen.
175
176         * rendering/HitTestRequest.h:
177         (WebCore::HitTestRequest::move):
178         (WebCore::HitTestRequest::release):
179         (WebCore::HitTestRequest::touchEvent):
180         (WebCore::HitTestRequest::mouseEvent):
181         (WebCore::HitTestRequest::touchMove):
182         (WebCore::HitTestRequest::touchRelease):
183             Rename the enum values in HitTestRequest to be mouse/touch
184             agnostic, and add value for recognizing touch events.
185         * rendering/RenderFrameSet.cpp:
186         (WebCore::RenderFrameSet::nodeAtPoint): Update for HitTestRequest rename.
187         * rendering/RenderLayer.cpp:
188         (WebCore::RenderLayer::hitTest): ditto
189         (WebCore::RenderLayer::updateHoverActiveState): Reset hoverstate on touch release.
190         * page/EventHandler.cpp:
191         (WebCore::EventHandler::updateSelectionForMouseDrag): Update for HitTestRequest rename.
192         (WebCore::EventHandler::handleMouseMoveEvent): ditto
193         (WebCore::EventHandler::handleMouseReleaseEvent): ditto
194         (WebCore::EventHandler::hoverTimerFired): ditto
195         (WebCore::EventHandler::dragSourceEndedAt): ditto
196         (WebCore::EventHandler::handleTouchEvent): Hittest touch release to reset
197             active and hover states and add touch enum to all touch hittests.
198
199 2012-02-02  Pavel Feldman  <pfeldman@google.com>
200
201         Web Inspector: enable editing of selected rows on single click in elements panel.
202         https://bugs.webkit.org/show_bug.cgi?id=77627
203
204         Reviewed by Vsevolod Vlasov.
205
206         * inspector/front-end/ElementsTreeOutline.js:
207         (WebInspector.ElementsTreeElement.prototype.onattach):
208         (WebInspector.ElementsTreeElement.prototype.onselect):
209         (WebInspector.ElementsTreeElement.prototype._mouseDown):
210         * inspector/front-end/treeoutline.js:
211         (TreeElement.prototype.selectOnMouseDown):
212         (TreeElement.prototype.select):
213
214 2012-02-02  Philip Rogers  <pdr@google.com>
215
216         Fix mirroring with SVG fonts
217         https://bugs.webkit.org/show_bug.cgi?id=77067
218
219         Reviewed by Nikolas Zimmermann.
220
221         SVG fonts were incorrectly handling mirrored characters in bidi text.
222         In this change I added the function createStringWithMirroredCharacters
223         which handles mirroring the characters when selecting glyphs for SVG
224         fonts. I also made a small cosmetic change in the function
225         charactersWithArabicForm, changing the bool parameter "mirror" to "rtl"
226         which better reflects what it actually does.
227
228         Several new tests were added to test mirroring with SVG fonts in the
229         presence of Arabic forms and non-BMP characters.
230
231         Tests: svg/custom/glyph-selection-arabic-forms.svg
232                svg/custom/glyph-selection-bidi-mirror.svg
233                svg/custom/glyph-selection-non-bmp.svg
234
235         * platform/graphics/SVGGlyph.cpp:
236         (WebCore::charactersWithArabicForm):
237         * svg/SVGFontData.cpp:
238         (WebCore::SVGFontData::applySVGGlyphSelection):
239         (WebCore::SVGFontData::createStringWithMirroredCharacters):
240         * svg/SVGFontData.h:
241         (SVGFontData):
242
243 2012-02-02  Pavel Feldman  <pfeldman@google.com>
244
245         Web Inspector: add experiment for single click styles editing.
246         https://bugs.webkit.org/show_bug.cgi?id=77624
247
248         Reviewed by Vsevolod Vlasov.
249
250         * inspector/front-end/Settings.js:
251         (WebInspector.ExperimentsSettings):
252         * inspector/front-end/StylesSidebarPane.js:
253         (WebInspector.StylePropertiesSection):
254         (WebInspector.StylePropertyTreeElement.prototype.onattach):
255         (WebInspector.StylePropertyTreeElement.prototype._mouseDown):
256         (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
257         (WebInspector.StylePropertyTreeElement.prototype):
258         (WebInspector.StylePropertyTreeElement.prototype.selectElement.context):
259
260 2012-02-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
261
262         Make the tap highlighting work for all test cases
263         https://bugs.webkit.org/show_bug.cgi?id=77626
264
265         Reviewed by Simon Hausmann.
266
267         Clean up of the current code to make it more generic. Now uses
268         addFocusRingRects for finding the areas to highlight.
269
270         Tested by current manual tests.
271
272         * page/GestureTapHighlighter.cpp:
273         (WebCore::GestureTapHighlighter::pathForNodeHighlight):
274
275 2012-02-02  Mario Sanchez Prada  <msanchez@igalia.com>
276
277         [Gtk] atk_text_get_text_at_offset() sometimes fails to provide the correct line
278         https://bugs.webkit.org/show_bug.cgi?id=72382
279
280         Reviewed by Martin Robinson.
281
282         Do not add unnecesary blanks at the end of a line of text.
283
284         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
285         (textForRenderer): Do not just append a '\n' at the end of a line
286         if the linebreak for that line was already considered.
287
288 2012-02-02  Raul Hudea  <rhudea@adobe.com>
289
290         Regions should ignore the saved currentRenderFlowThread during repainting
291         because if there are imbricated flow threads, it might end using the wrong one.
292
293         [CSSRegions] Assert failure in RenderView::computeRectForRepaint
294         https://bugs.webkit.org/show_bug.cgi?id=77430
295
296         Reviewed by David Hyatt.
297
298         Test: fast/regions/imbricated-flow-threads-crash.html
299
300         * rendering/RenderFlowThread.cpp:
301         (CurrentRenderFlowThreadDisabler):
302         (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
303         (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
304         (WebCore):
305         (WebCore::RenderFlowThread::repaintRectangleInRegions):
306
307 2012-02-02  Kinuko Yasuda  <kinuko@chromium.org>
308
309         Cleanup: Move chrome-specific filesystem type handling code (for FileSystem API) under chromium directory (re-landing r105395)
310         https://bugs.webkit.org/show_bug.cgi?id=76551
311
312         Reviewed by David Levin.
313
314         Moved the implementation of crackFileSystemURL() and toURL() from
315         WebCore/fileapi/DOMFileSystemBase into WebCore/platform/AsyncFileSystem
316         so that each platform can extend/implement their behavior if necessary.
317
318         No new tests as it has no functional changes.
319
320         * fileapi/DOMFileSystemBase.cpp: Moved crackFileSystemURL() to AsyncFileSystem.
321         * fileapi/DOMFileSystemBase.h:
322         (DOMFileSystemBase):
323         * fileapi/EntryBase.cpp: Moved toURL() to AsyncFileSystem.
324         (WebCore::EntryBase::toURL):
325         * page/DOMWindow.cpp: Made corresponding callsite changes.
326         (WebCore::DOMWindow::webkitRequestFileSystem):
327         (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
328         * page/DOMWindow.h:
329         * platform/AsyncFileSystem.cpp:
330         (WebCore::AsyncFileSystem::isValidType): Added.
331         * platform/AsyncFileSystem.h:
332         (AsyncFileSystem):
333         * workers/WorkerContext.cpp: Made corresponding callsite changes.
334         (WebCore::WorkerContext::webkitRequestFileSystem):
335         (WebCore::WorkerContext::webkitRequestFileSystemSync):
336         (WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
337         (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
338         * workers/WorkerContext.h:
339
340 2012-02-02  Yury Semikhatsky  <yurys@chromium.org>
341
342         Web Inspector: pause on uncaugh exceptions state is not properly restored
343         https://bugs.webkit.org/show_bug.cgi?id=77558
344
345         'Pause on exceptions' state is now stored in InspectorState object so that it is
346         properly restored on inspected process change.
347
348         Reviewed by Vsevolod Vlasov.
349
350         * inspector/InspectorDebuggerAgent.cpp:
351         (DebuggerAgentState):
352         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
353         (WebCore::InspectorDebuggerAgent::disable):
354         (WebCore::InspectorDebuggerAgent::restore):
355         (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
356         (WebCore):
357         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsImpl):
358         * inspector/InspectorDebuggerAgent.h:
359         (InspectorDebuggerAgent):
360
361 2012-02-02  Kentaro Hara  <haraken@chromium.org>
362
363         The third argument of addEventListener/removeEventListener of PeerConnection should be optional
364         https://bugs.webkit.org/show_bug.cgi?id=77606
365
366         Reviewed by Adam Barth.
367
368         This patch corrects a typo in PeerConnection.idl, i.e. [optional] => [Optional].
369
370         Test: fast/mediastream/peerconnection-eventlistener-optional-argument.html
371
372         * mediastream/PeerConnection.idl:
373
374 2012-02-02  Rakesh KN  <rakesh.kn@motorola.com>
375
376         hidden attribute on <input type=file /> suppresses the file selection dialog
377         https://bugs.webkit.org/show_bug.cgi?id=58208
378
379         Reviewed by Ryosuke Niwa.
380
381         We want to allow opening file dialog on hidden element when click() is called
382         on the element. The behaviour is similar to Firefox and IE.
383
384         Added manual test as the file dialog opens only on user gesture.
385
386         * html/FileInputType.cpp:
387         (WebCore::FileInputType::handleDOMActivateEvent):
388         Removed renderer check as input can be hidden.
389
390 2012-02-01  Philippe Normand  <pnormand@igalia.com>
391
392         [GStreamer] FFTFrame implementation
393         https://bugs.webkit.org/show_bug.cgi?id=73545
394
395         Reviewed by Chris Rogers.
396
397         FFTFrame implementation based on GStreamer's FFT processing
398         library.
399
400         No new tests, existing WebAudio tests cover this.
401
402         * GNUmakefile.am:
403         * GNUmakefile.list.am:
404         * platform/audio/FFTFrame.h:
405         * platform/audio/FFTFrameStub.cpp:
406         * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
407         (WebCore::FFTFrame::FFTFrame):
408         (WebCore::FFTFrame::initialize):
409         (WebCore::FFTFrame::cleanup):
410         (WebCore::FFTFrame::~FFTFrame):
411         (WebCore::FFTFrame::multiply):
412         (WebCore::FFTFrame::doFFT):
413         (WebCore::FFTFrame::doInverseFFT):
414         (WebCore::FFTFrame::realData):
415         (WebCore::FFTFrame::imagData):
416
417 2012-02-02  Kentaro Hara  <haraken@chromium.org>
418
419         Rename [CheckFrameSecurity] and [SVGCheckSecurity] to [CheckAccessToNode]
420         https://bugs.webkit.org/show_bug.cgi?id=77601
421
422         Reviewed by Adam Barth.
423
424         [CheckFrameSecurity] and [SVGCheckSecurity] have the same meaning; i.e. generate code
425         to check allowAccessToNode() for a given attribute or method. This patch renames them
426         to [CheckAccessToNode].
427
428         No tests. No changes in behavior.
429
430         * bindings/scripts/CodeGeneratorJS.pm:
431         (GenerateImplementation):
432         * bindings/scripts/CodeGeneratorV8.pm:
433         (GenerateNormalAttrGetter):
434         (GenerateFunctionCallback):
435         * html/HTMLEmbedElement.idl:
436         * html/HTMLFrameElement.idl:
437         * html/HTMLIFrameElement.idl:
438         * html/HTMLObjectElement.idl:
439
440         * bindings/scripts/test/TestObj.idl:
441         * bindings/scripts/test/V8/V8TestObj.cpp: Updated the test results.
442         (WebCore):
443
444 2012-02-01  Kentaro Hara  <haraken@chromium.org>
445
446         Rename [V8DisallowShadowing] to [V8Unforgeable]
447         https://bugs.webkit.org/show_bug.cgi?id=77599
448
449         Reviewed by Adam Barth.
450
451         This patch renames [V8DisallowShadowing] to [V8Unforgeable], following the Web IDL
452         spec (http://dev.w3.org/2006/webapi/WebIDL/#Unforgeable).
453
454         No tests. No change in behavior.
455
456         * bindings/scripts/CodeGeneratorV8.pm:
457         (GenerateNormalAttrGetter):
458         (GenerateSingleBatchedAttribute):
459         (GenerateImplementation):
460         * page/DOMWindow.idl:
461         * page/Location.idl:
462
463 2012-02-01  Kentaro Hara  <haraken@chromium.org>
464
465         Rename [ConvertNullToNullString] to [TreatNullAs=EmptyString]
466         https://bugs.webkit.org/show_bug.cgi?id=77602
467
468         Reviewed by Adam Barth.
469
470         This patch renames [ConvertNullToNullString] to [TreatNullAs=EmptyString],
471         according to the spec (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs).
472
473         No tests. No changes in behavior.
474
475         * bindings/scripts/CodeGeneratorJS.pm:
476         (JSValueToNative):
477         * bindings/scripts/CodeGeneratorV8.pm:
478         (GetNativeTypeFromSignature):
479
480         * css/CSSCharsetRule.idl:
481         * css/CSSPageRule.idl:
482         * css/CSSRule.idl:
483         * css/CSSStyleDeclaration.idl:
484         * css/CSSStyleRule.idl:
485         * css/CSSValue.idl:
486         * css/MediaList.idl:
487         * css/WebKitCSSKeyframesRule.idl:
488         * dom/Attr.idl:
489         * dom/CharacterData.idl:
490         * dom/DOMImplementation.idl:
491         * dom/Document.idl:
492         * dom/Element.idl:
493         * dom/NamedNodeMap.idl:
494         * dom/Node.idl:
495         * dom/ProcessingInstruction.idl:
496         * dom/ShadowRoot.idl:
497         * html/HTMLAnchorElement.idl:
498         * html/HTMLButtonElement.idl:
499         * html/HTMLDocument.idl:
500         * html/HTMLElement.idl:
501         * html/HTMLFormElement.idl:
502         * html/HTMLFrameElement.idl:
503         * html/HTMLInputElement.idl:
504         * html/HTMLMediaElement.idl:
505         * html/HTMLOutputElement.idl:
506         * html/HTMLScriptElement.idl:
507         * html/HTMLSelectElement.idl:
508         * html/HTMLTextAreaElement.idl:
509         * html/HTMLTitleElement.idl:
510         * html/canvas/CanvasRenderingContext2D.idl:
511         * page/DOMWindow.idl:
512         * storage/StorageEvent.idl:
513         * svg/SVGAngle.idl:
514         * svg/SVGElement.idl:
515         * svg/SVGLength.idl:
516         * svg/SVGScriptElement.idl:
517
518         * bindings/scripts/test/TestObj.idl: No change in the run-bindings-tests results.
519
520 2012-02-01  Kentaro Hara  <haraken@chromium.org>
521
522         Remove [GenerateConstructor] from IDL files
523         https://bugs.webkit.org/show_bug.cgi?id=77598
524
525         Reviewed by Adam Barth.
526
527         [GenerateConstructor] is used in some IDL files but it is not implemented
528         in code generators. I could not find any history about [GenerateConstructor]
529         in code generators. This patch removes them from IDL files.
530
531         Maybe we want to replace [GenerateConstructor] with [Constructor] eventually,
532         but currently no tests are written for their constructors (e.g. "new DOMTokenList()").
533         So simply removing them would make sense.
534
535         No new tests. No change in behavior.
536
537         * dom/DOMStringList.idl:
538         * html/DOMSettableTokenList.idl:
539         * html/DOMTokenList.idl:
540         * svg/SVGFEConvolveMatrixElement.idl:
541         * webaudio/AudioPannerNode.idl:
542
543 2012-02-01  Eric Carlson  <eric.carlson@apple.com>
544
545         Consider user's preferred language when choosing text tracks
546         https://bugs.webkit.org/show_bug.cgi?id=74121
547
548         Reviewed by Alexey Proskuryakov.
549
550         Tests: media/track/track-language-preference.html
551                media/track/track-prefer-captions.html
552
553         * html/HTMLMediaElement.cpp:
554         (WebCore::HTMLMediaElement::loadTimerFired): configureTextTracks -> configureNewTextTracks.
555         (WebCore::HTMLMediaElement::textTracksAreReady): Add more comments.
556         (WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
557         (WebCore::HTMLMediaElement::showingTrackWithSameKind): Minor restructuring.
558         (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Renamed from userIsInterestedInThisTrack,
559             don't consider user's language preference.
560         (WebCore::HTMLMediaElement::configureTextTrackGroup): New, configure all tracks in a group, 
561             considering user's kind and language preferences.
562         (WebCore::HTMLMediaElement::configureNewTextTracks): New, configure all newly added tracks.
563         * html/HTMLMediaElement.h:
564         (WebCore::HTMLMediaElement::TrackGroup::TrackGroup):
565         (TrackGroup):
566
567         * platform/Language.cpp:
568         (WebCore::canonicalLanguageIdentifier): New, create a canonicalized version of a language string.
569         (WebCore::bestMatchingLanguage): New, return the language from the list that best matches the 
570             specified language.
571         (WebCore::preferredLanguageFromList): New, return the language in the specified list that best
572             matches the user's language preference.
573         * platform/Language.h:
574
575         * testing/Internals.cpp:
576         (WebCore::Internals::setShouldDisplayTrackType): New, allow DRT to set the track type preference.
577         (WebCore::Internals::shouldDisplayTrackType): New, allow DRT to read the track type preference.
578         * testing/Internals.h:
579         * testing/Internals.idl:
580
581 2012-02-01  Hayato Ito  <hayato@chromium.org>
582
583         Change class hierarycy so that ShadowRoot can inherit DocumentFragment.
584         https://bugs.webkit.org/show_bug.cgi?id=76693
585
586         Reviewed by Darin Adler.
587
588         Make ShadowRoot inherit DocumentFragment so that it matches the class hierarchy of IDL in the spec.
589         TreeScope becomes a separated class, which is now inherited by Document and ShadowRoot using multiple-inheritance.
590         This patch is pre-requirement for coming IDL change.
591
592         No tests. No change in behavior.
593
594         * dom/Document.cpp:
595         (WebCore::Document::Document):
596         (WebCore::Document::~Document):
597         (WebCore::Document::buildAccessKeyMap):
598         (WebCore::Document::childrenChanged):
599         (WebCore::Document::attach):
600         (WebCore::Document::detach):
601         * dom/Document.h:
602         (Document):
603         * dom/DocumentFragment.cpp:
604         (WebCore::DocumentFragment::DocumentFragment):
605         * dom/DocumentFragment.h:
606         (DocumentFragment):
607         * dom/DocumentOrderedMap.cpp:
608         (WebCore::DocumentOrderedMap::get):
609         * dom/ShadowRoot.cpp:
610         (WebCore::ShadowRoot::ShadowRoot):
611         (WebCore::ShadowRoot::~ShadowRoot):
612         (WebCore::ShadowRoot::attach):
613         * dom/ShadowRoot.h:
614         * dom/TreeScope.cpp:
615         (WebCore::TreeScope::TreeScope):
616         (WebCore::TreeScope::~TreeScope):
617         (WebCore::TreeScope::setParentTreeScope):
618         (WebCore::TreeScope::getImageMap):
619         (WebCore::TreeScope::findAnchor):
620         * dom/TreeScope.h:
621         (WebCore):
622         (WebCore::TreeScope::rootNode):
623         (TreeScope):
624         * dom/TreeScopeAdopter.cpp:
625         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
626         * page/DragController.cpp:
627         (WebCore::asFileInput):
628         * page/FocusController.cpp:
629         (WebCore::ownerOfTreeScope):
630         (WebCore::FocusController::nextFocusableNode):
631         (WebCore::FocusController::previousFocusableNode):
632
633 2012-02-01  Benjamin Poulain  <bpoulain@apple.com>
634
635         WorkerScriptController::evaluate() should not return anything
636         https://bugs.webkit.org/show_bug.cgi?id=77587
637
638         Reviewed by Adam Barth.
639
640         Remove the return value from WorkerScriptController as it is
641         (and should be) unused.
642
643         * bindings/js/WorkerScriptController.cpp:
644         (WebCore::WorkerScriptController::evaluate):
645         * bindings/js/WorkerScriptController.h:
646         (WorkerScriptController):
647         * bindings/v8/WorkerScriptController.cpp:
648         (WebCore::WorkerScriptController::evaluate):
649         * bindings/v8/WorkerScriptController.h:
650         (WorkerScriptController):
651
652 2012-02-01  Kentaro Hara  <haraken@chromium.org>
653
654         Remove [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
655         [HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators
656         https://bugs.webkit.org/show_bug.cgi?id=77585
657
658         Reviewed by Adam Barth.
659
660         This patch removes [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
661         [HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators,
662         since they are not used by no IDL files.
663
664         No tests. No change in behavior.
665
666         * bindings/scripts/CodeGenerator.pm:
667         (GetterExpression):
668         * bindings/scripts/CodeGeneratorJS.pm:
669         (GenerateGetOwnPropertySlotBody):
670         (GenerateGetOwnPropertyDescriptorBody):
671         (GenerateHeader):
672         (GenerateImplementation):
673         (IsConstructable):
674         (IsConstructorTemplate):
675
676         * bindings/scripts/test/TestObj.idl:
677         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated the run-bindings-tests results.
678         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
679         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
680         (webkit_dom_test_obj_set_property):
681         (webkit_dom_test_obj_get_property):
682         (webkit_dom_test_obj_class_init):
683         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
684         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
685         (WebCore):
686         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
687         (WebCore):
688         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
689         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
690         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
691         (WebCore):
692
693 2012-02-01  Shinya Kawanaka  <shinyak@google.com>
694
695         Select attribute of HTMLContentElement should be able be changed dynamically.
696         https://bugs.webkit.org/show_bug.cgi?id=76261
697
698         Reviewed by Hajime Morita.
699
700         When select attribute is changed, the flag to recalc style is set.
701
702         Test: fast/dom/shadow/content-element-select-dynamic.html
703
704         * html/shadow/HTMLContentElement.cpp:
705         (WebCore::HTMLContentElement::parseMappedAttribute):
706           Sets recalc style when select is changed.
707         * html/shadow/HTMLContentElement.h:
708         (HTMLContentElement):
709
710 2012-02-01  Kentaro Hara  <haraken@chromium.org>
711
712         Remove [ImplementationUUID] and [InterfaceUUID] from html/canvas/*.idl
713         https://bugs.webkit.org/show_bug.cgi?id=77589
714
715         Reviewed by Adam Barth.
716
717         [ImplementationUUID] and [InterfaceUUID] are used in html/canvas/*.idl,
718         but they are not implemented in code generators and thus have no meaning.
719         This patch removes them.
720
721         No tests. No change in behavior.
722
723         * html/canvas/CanvasGradient.idl:
724         * html/canvas/CanvasPattern.idl: The file is now empty though.
725         * html/canvas/CanvasRenderingContext.idl:
726         * html/canvas/CanvasRenderingContext2D.idl:
727         * html/canvas/WebGLRenderingContext.idl:
728
729 2012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
730
731         Unreviewed, rolling out r106408.
732         http://trac.webkit.org/changeset/106408
733         https://bugs.webkit.org/show_bug.cgi?id=77592
734
735         crashes in chromium mac release tests (Requested by japhet on
736         #webkit).
737
738         * platform/graphics/Region.cpp:
739         * platform/graphics/Region.h:
740         (Region):
741         (Shape):
742
743 2012-02-01  No'am Rosenthal  <noam.rosenthal@nokia.com>
744
745         [Texmap] Use glScissors for clipping in TextureMapperGL when possible
746         https://bugs.webkit.org/show_bug.cgi?id=77575
747
748         Reviewed by Martin Robinson.
749
750         Maintain a clipping stack, that helps us use stencils in conjunction with scissors.
751         We apply scissors when the clip region is rectalinear, and stencil when it's not.
752
753         No behavior changes so no new tests.
754
755         * platform/graphics/opengl/TextureMapperGL.cpp:
756         (SharedGLData):
757         (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
758         (WebCore::TextureMapperGL::drawTexture):
759         (WebCore::TextureMapperGL::bindSurface):
760         (WebCore):
761         (WebCore::scissorClip):
762         (WebCore::TextureMapperGL::beginScissorClip):
763         (WebCore::TextureMapperGL::endScissorClip):
764         (WebCore::TextureMapperGL::beginClip):
765         (WebCore::TextureMapperGL::endClip):
766         * platform/graphics/opengl/TextureMapperGL.h:
767         (TextureMapperGL):
768
769 2012-02-01  Anders Carlsson  <andersca@apple.com>
770
771         Move the scrolling coordinator to page/scrolling
772         https://bugs.webkit.org/show_bug.cgi?id=77590
773
774         Reviewed by Dan Bernstein.
775
776         Put scrolling related files in page/scrolling to avoid cluttering the page directory.
777
778         * WebCore.xcodeproj/project.pbxproj:
779         * page/scrolling/ScrollingCoordinator.cpp: Renamed from Source/WebCore/page/ScrollingCoordinator.cpp.
780         * page/scrolling/ScrollingCoordinator.h: Renamed from Source/WebCore/page/ScrollingCoordinator.h.
781         * page/scrolling/mac/ScrollingCoordinatorMac.mm: Renamed from Source/WebCore/page/mac/ScrollingCoordinatorMac.mm.
782
783 2012-02-01  Kentaro Hara  <haraken@chromium.org>
784
785         Remove [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
786         [v8implname] and [v8referenceattr] from code generators
787         https://bugs.webkit.org/show_bug.cgi?id=77588
788
789         Reviewed by Adam Barth.
790
791         This patch removes [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
792         [v8implname] and [v8referenceattr] from code generators, since they are not used
793         by any IDL files.
794
795         No tests. No changes in behavior.
796
797         * bindings/scripts/CodeGeneratorJS.pm:
798         (GenerateImplementation):
799         * bindings/scripts/CodeGeneratorObjC.pm:
800         (GenerateHeader):
801         (GenerateImplementation):
802         * bindings/scripts/CodeGeneratorV8.pm:
803         (IsConstructable):
804         (IsConstructorTemplate):
805         (GenerateNormalAttrGetter):
806         (GenerateFunctionCallString):
807
808 2012-02-01  Pablo Flouret  <pablof@motorola.com>
809
810         Support targetOrigin = "/" in postMessage for sending messages to same origin as source document.
811         https://bugs.webkit.org/show_bug.cgi?id=77580
812
813         Reviewed by Adam Barth.
814
815         No new tests. Modified http/tests/security/postMessage/target-origin.html
816         to test this case as well.
817
818         * page/DOMWindow.cpp:
819         (WebCore::DOMWindow::postMessage):
820
821 2012-02-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
822
823         Avoid creating NamedNodeMap unnecessarily
824         https://bugs.webkit.org/show_bug.cgi?id=77574
825
826         Reviewed by Ryosuke Niwa.
827
828         The method Element::attributes() was being used for multiple things in our
829         codebase: (1) as the getter for NamedNodeMap exposed to DOM, (2) as a way to other WebCore
830         code get the "attribute storage" (currently inside NamedNodeMap), and (3) as a way to
831         get the attribute storage creating one if necessary.
832
833         This commit separate the jobs in different functions:
834
835         1) attributes() keeps being the DOM getter, and loses its boolean parameter.
836
837         2) updatedAttributes() updates the invalid attributes and returns the attribute
838         storage. If we don't have one, return 0.
839
840         3) ensureUpdatedAttributes() updates the invalid attributes and forces the
841         creation of attribute storage to return.
842
843         There is also another way to get to the attribute storage currently, via
844         attributeMap(), which doesn't update the attributes for possible changes in Style
845         or SVG attributes.
846
847         Note that the new functions are not available in Node class, so C++ code manipulating
848         attributes should cast to Element.
849
850         This separation also made easier to spot and fix some places where we do not
851         need to create the attribute storage if it doesn't exist.
852
853         No new tests, this commit shouldn't change the behavior of existing code.
854
855         * css/SelectorChecker.cpp:
856         (WebCore::SelectorChecker::checkOneSelector):
857         * dom/DatasetDOMStringMap.cpp:
858         (WebCore::DatasetDOMStringMap::getNames):
859         (WebCore::DatasetDOMStringMap::item):
860         (WebCore::DatasetDOMStringMap::contains):
861         * dom/Document.cpp:
862         (WebCore::Document::importNode):
863         * dom/Element.cpp:
864         (WebCore::Element::setAttribute):
865         (WebCore::Element::hasAttributes):
866         (WebCore::Element::setAttributeNode):
867         (WebCore::Element::setAttributeNodeNS):
868         (WebCore::Element::removeAttributeNode):
869         (WebCore::Element::getAttributeNode):
870         (WebCore::Element::getAttributeNodeNS):
871         (WebCore::Element::hasAttribute):
872         (WebCore::Element::hasAttributeNS):
873         (WebCore::Element::normalizeAttributes):
874         * dom/Element.h:
875         (Element):
876         (WebCore::Element::attributes):
877         (WebCore::Element::ensureAttributeData):
878         (WebCore::Element::ensureUpdatedAttributes):
879         (WebCore::Element::updatedAttributes):
880         (WebCore::Element::setAttributesFromElement):
881         (WebCore::Element::ensureAttributeMap): Made const to be reused by ensureUpdatedAttributes().
882         (WebCore::Element::updateInvalidAttributes):
883         (WebCore):
884         * dom/NamedNodeMap.cpp:
885         (WebCore::NamedNodeMap::mapsEquivalent): Having no attributes is equivalent to
886         not having an attribute storage because the attribute storage is lazily created.
887         * dom/Node.cpp:
888         (WebCore::Node::isEqualNode): Do not force the creation of attribute storage to
889         compare two nodes.
890         (WebCore::Node::isDefaultNamespace): Use updatedAttributes(). Since we iterate
891         using length, it's OK if the attribute storage is empty.
892         (WebCore::Node::lookupNamespaceURI): Ditto.
893         (WebCore::Node::lookupNamespacePrefix): Ditto.
894         (WebCore::Node::compareDocumentPosition): Ditto.
895         * editing/ApplyStyleCommand.cpp:
896         (WebCore::hasNoAttributeOrOnlyStyleAttribute):
897         (WebCore::isEmptyFontTag):
898         * editing/CompositeEditCommand.cpp:
899         (WebCore::CompositeEditCommand::isRemovableBlock): Use isElementNode() explicitly
900         to identify non-Element nodes, then use hasAttributes() if is Element.
901         * editing/InsertParagraphSeparatorCommand.cpp:
902         (WebCore::highestVisuallyEquivalentDivBelowRoot):
903         * editing/MarkupAccumulator.cpp:
904         (WebCore::MarkupAccumulator::appendElement): Do not create the attribute storage
905         unnecessarily.
906         * editing/htmlediting.cpp:
907         (WebCore::areIdenticalElements): Do not create the attribute storage
908         unnecessarily. Use mapsEquivalent() for comparing the attributes.
909         * editing/markup.cpp:
910         (WebCore::completeURLs): Do not create the attribute storage unnecessarily.
911         (WebCore::StyledMarkupAccumulator::appendElement): Ditto.
912         (WebCore::isPlainTextMarkup): hasAttributes() will avoid creating the attribute
913         storage unnecessarily.
914         * html/HTMLEmbedElement.cpp:
915         (WebCore::HTMLEmbedElement::parametersForPlugin):
916         * html/HTMLObjectElement.cpp:
917         (WebCore::HTMLObjectElement::parametersForPlugin):
918         * html/HTMLParamElement.cpp:
919         (WebCore::HTMLParamElement::isURLAttribute): Do not create the attribute storage
920         unnecessarily.
921         * html/parser/HTMLConstructionSite.cpp:
922         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement): Use
923         ensureUpdatedAttributes() since we will add new attributes.
924         (WebCore):
925         * inspector/InspectorCSSAgent.cpp:
926         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
927         * inspector/InspectorDOMAgent.cpp:
928         (WebCore::InspectorDOMAgent::setAttributesAsText):
929         (WebCore::InspectorDOMAgent::performSearch):
930         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
931         * page/PageSerializer.cpp:
932         (WebCore::isCharsetSpecifyingNode): Do not assume attributeMap will exist.
933         * svg/properties/SVGAnimatedPropertySynchronizer.h: Use ensureUpdatedAttributes()
934         since we will add new attributes.
935         * xml/XPathFunctions.cpp:
936         (WebCore::XPath::FunLang::evaluate): Do not create the attribute storage
937         unnecessarily.
938         * xml/XPathNodeSet.cpp:
939         (WebCore::XPath::NodeSet::traversalSort):
940         * xml/XPathStep.cpp:
941         (WebCore::XPath::Step::nodesInAxis): Use isElementNode() instead of comparing
942         nodeType() manually. Do not create the attribute storage unnecessarily.
943         * xml/parser/XMLDocumentParserLibxml2.cpp:
944         (WebCore::XMLDocumentParser::XMLDocumentParser): Do not create the attribute
945         storage unnecessarily.
946         * xml/parser/XMLDocumentParserQt.cpp:
947         (WebCore::XMLDocumentParser::XMLDocumentParser): Ditto.
948         * xml/parser/XMLTreeBuilder.cpp:
949         (WebCore::XMLTreeBuilder::XMLTreeBuilder): Ditto.
950
951 2012-02-01  Adam Barth  <abarth@webkit.org>
952
953         contentDispositionType misparses the Content-Disposition header in some obscure corner cases
954         https://bugs.webkit.org/show_bug.cgi?id=77577
955
956         Reviewed by Eric Seidel.
957
958         The contentDispositionType extracts the disposition-type from the
959         Content-Disposition header.  According to RFC 6266 (and previous RFCs),
960         the disposition-type must be an RFC 2616 token.  Rather than enforce
961         this general rule, we had special-cased some examples (including
962         name=foo and filename=bar).  This patch generalizes our check to
963         properly validate that the disposition-type is an RFC 2616 token.
964
965         In conjunction with some other work in the Chromium network stack, this
966         causes Chromium to pass the following tests:
967
968           http://greenbytes.de/tech/tc2231/#inlonlyquoted
969           http://greenbytes.de/tech/tc2231/#attonlyquoted
970
971         Without this patch, these test cases neither trigger a navigation nor a
972         download in Chromium.  This patch does not appear to cause any visible
973         change in Safari.  (Safari passes these tests both before and after
974         this patch.)
975
976         * platform/network/HTTPParsers.cpp:
977         (WebCore::isRFC2616Token):
978         (WebCore::contentDispositionType):
979             - This patch also adds a comment to
980               filenameFromHTTPContentDisposition, which explains some of the
981               was this function incorrectly implements the requirements in
982               RFC 6266.  Resolving these issues is a subject for a future
983               patch.
984         * platform/network/HTTPParsers.h:
985
986 2012-02-01  Dan Bernstein  <mitz@apple.com>
987
988         WebCore part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
989         https://bugs.webkit.org/show_bug.cgi?id=77505
990
991         Reviewed by Darin Adler.
992
993         * page/Page.h:
994         (WebCore::Page::Pagination::Pagination): Added initializer for the behavesLikeColumns member
995         variable.
996         (WebCore::Page::Pagination::operator==): Added comparison of behavesLikeColumns values.
997         (Pagination): Added behavesLikeColumns member variable. When set to false (the default),
998         paginated display respects the page-break-{before,after} properties rather than the
999         column-break-{before,after} ones.
1000         * rendering/ColumnInfo.h:
1001         (WebCore::ColumnInfo::ColumnInfo): Added initializer for the m_paginationUnit member.
1002         (WebCore::ColumnInfo::paginationUnit): Added this getter.
1003         (WebCore::ColumnInfo::setPaginationUnit): Added this setter.
1004         (ColumnInfo): Added m_paginationUnit member. It defaults to Column.
1005         * rendering/LayoutState.h:
1006         (WebCore::LayoutState::isPaginatingColumns): Changed to check the pagination unit.
1007         * rendering/RenderBlock.cpp:
1008         (WebCore::RenderBlock::layoutBlock): Added code to set the pagination unit in the ColumnInfo.
1009         (WebCore::RenderBlock::paginationUnit): Added. The base class implementation returns Column.
1010         * rendering/RenderBlock.h:
1011         * rendering/RenderView.cpp:
1012         (WebCore::RenderView::paginationUnit): Added this override that returns Page, unless
1013         this is the RenderView for the main frame and pagination is set to behave like columns.
1014         * rendering/RenderView.h:
1015
1016 2012-02-01  Florin Malita  <fmalita@google.com>
1017
1018         Backgrounds in HTML inside foreignObject don't draw
1019         https://bugs.webkit.org/show_bug.cgi?id=23111
1020
1021         Reviewed by Eric Seidel.
1022
1023         Test: svg/foreignObject/body-background.svg
1024
1025         * rendering/RenderBox.cpp:
1026         (WebCore::RenderBox::paintBackground):
1027         Tweak the <body> background inhibiting logic to allow drawing when the element is embedded in FOs.
1028
1029
1030 2012-02-01  Gustavo Lima Chaves  <glima@profusion.mobi>
1031
1032         Make one able to set the local storage (tracker) database dir's path
1033         https://bugs.webkit.org/show_bug.cgi?id=77006
1034
1035         Reviewed by Darin Adler.
1036
1037         There are no behavior changes with the diff, so no need for new tests.
1038
1039         * storage/StorageTracker.cpp:
1040         (WebCore::StorageTracker::setDatabaseDirectoryPath):
1041         (WebCore):
1042         (WebCore::StorageTracker::databaseDirectoryPath):
1043         * storage/StorageTracker.h:
1044         (StorageTracker):
1045
1046 2012-02-01  Anders Carlsson  <andersca@apple.com>
1047
1048         Fix Window build.
1049
1050         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1051         (WebCore::LayerClient::platformCALayerDidCreateTiles):
1052         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1053         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
1054
1055 2012-02-01  John Yani  <vanuan@gmail.com>
1056
1057         GetMIMEDescription should return const char *
1058         https://bugs.webkit.org/show_bug.cgi?id=77297
1059
1060         Reviewed by Alexey Proskuryakov.
1061
1062         No new tests. No change in behaviour.
1063
1064         * plugins/blackberry/PluginPackageBlackBerry.cpp:
1065         (WebCore::PluginPackage::fetchInfo):
1066         * plugins/efl/PluginPackageEfl.cpp:
1067         (WebCore):
1068         (WebCore::PluginPackage::fetchInfo):
1069         * plugins/npapi.h:
1070         * plugins/npfunctions.h:
1071         * plugins/qt/PluginPackageQt.cpp:
1072         (WebCore::PluginPackage::fetchInfo):
1073
1074 2012-02-01  Timothy Hatcher  <timothy@apple.com>
1075
1076         Consolidate duplicate "willHide" functions in DetailedHeapshotView.js to fix
1077         a syntax error in JSC and make the Inspector open again in Release builds.
1078
1079         https://webkit.org/b/77424
1080
1081         Reviewed by Brian Weinstein.
1082
1083         * inspector/front-end/DetailedHeapshotView.js:
1084         (WebInspector.DetailedHeapshotView.prototype.willHide): Consolidated.
1085         (WebInspector.DetailedHeapshotView.prototype.willHide): Removed.
1086
1087 2012-02-01  Justin Novosad  <junov@chromium.org>
1088
1089         [Chromium] Enable deferred canvas rendering in the skia port
1090         https://bugs.webkit.org/show_bug.cgi?id=76732
1091
1092         Reviewed by Stephen White.
1093
1094         No new tests: covered by existing canvas layout tests
1095
1096         Adding a new setting to enable deferred 2d canvas rendering.
1097         Added support for deferred 2d canvas rendering in ImageBufferSkia
1098         and Canvas2DLayerChromium, mostly plumbing. Deffered rendering
1099         implementation is provided by skia (class SkDeferredCanvas).
1100
1101         * html/HTMLCanvasElement.cpp:
1102         (WebCore::HTMLCanvasElement::shouldDefer):
1103         (WebCore):
1104         (WebCore::HTMLCanvasElement::createImageBuffer):
1105         * html/HTMLCanvasElement.h:
1106         (HTMLCanvasElement):
1107         * page/Settings.cpp:
1108         (WebCore::Settings::Settings):
1109         (WebCore::Settings::setAccelerated2dCanvasEnabled):
1110         (WebCore):
1111         (WebCore::Settings::setDeferred2dCanvasEnabled):
1112         * page/Settings.h:
1113         (Settings):
1114         (WebCore::Settings::deferred2dCanvasEnabled):
1115         * platform/graphics/ImageBuffer.h:
1116         (WebCore::ImageBuffer::create):
1117         (ImageBuffer):
1118         * platform/graphics/cairo/ImageBufferCairo.cpp:
1119         (WebCore::ImageBuffer::ImageBuffer):
1120         * platform/graphics/cg/ImageBufferCG.cpp:
1121         (WebCore::ImageBuffer::ImageBuffer):
1122         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1123         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
1124         (WebCore):
1125         (WebCore::Canvas2DLayerChromium::setCanvas):
1126         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1127         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1128         (Canvas2DLayerChromium):
1129         * platform/graphics/qt/ImageBufferQt.cpp:
1130         (WebCore::ImageBuffer::ImageBuffer):
1131         * platform/graphics/skia/ImageBufferSkia.cpp:
1132         (AcceleratedDeviceContext):
1133         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
1134         (WebCore::AcceleratedDeviceContext::prepareForDraw):
1135         (WebCore::AcceleratedDeviceContext::flush):
1136         (WebCore):
1137         (WebCore::createAcceleratedCanvas):
1138         (WebCore::ImageBuffer::ImageBuffer):
1139         * platform/graphics/wince/ImageBufferWinCE.cpp:
1140         (WebCore::ImageBuffer::ImageBuffer):
1141         * platform/graphics/wx/ImageBufferWx.cpp:
1142         (WebCore::ImageBuffer::ImageBuffer):
1143
1144 2012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
1145
1146         Gcc build fix after r106482.
1147
1148         * platform/graphics/ca/GraphicsLayerCA.h:
1149         (GraphicsLayerCA):
1150
1151 2012-02-01  Beth Dakin  <bdakin@apple.com>
1152
1153         https://bugs.webkit.org/show_bug.cgi?id=77383
1154         Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
1155         -and corresponding-
1156         <rdar://problem/10709560>
1157
1158         Reviewed by Sam Weinig.
1159
1160         The goal is to re-vamp didFirstVisuallyNonEmptyLayout to be more accurate. 
1161         This patch adds a new heuristic called didNewFirstVisuallNonEmptyLayout and 
1162         leaves the old one for the time being. That is temporary.
1163
1164         The heuristic for didNewFirstVisuallNonEmptyLayout is to count relevant 
1165         painted RenderObjects on Page.
1166         * page/Page.cpp:
1167         (WebCore::Page::Page):
1168         (WebCore::Page::setPaintedObjectsCounterThreshold):
1169         (WebCore::Page::addRelevantRepaintedObject):
1170         * page/Page.h:
1171         (WebCore):
1172         (Page):
1173         (WebCore::Page::startCountingRepaintedObjects):
1174         * WebCore.exp.in:
1175
1176         Start counting relevant painted RenderObjects on the page once the first 
1177         layout is complete.
1178         * page/FrameView.cpp:
1179         (WebCore::FrameView::performPostLayoutTasks):
1180
1181         Machinery for firing didNewFirstVisuallNonEmptyLayout.
1182         * loader/EmptyClients.h:
1183         (WebCore::EmptyFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
1184         * loader/FrameLoader.cpp:
1185         (WebCore::FrameLoader::didNewFirstVisuallyNonEmptyLayout):
1186         (WebCore):
1187         * loader/FrameLoader.h:
1188         (FrameLoader):
1189         * loader/FrameLoaderClient.h:
1190         (WebCore::FrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
1191
1192         These RenderObjects are the ones that this api currently consider to be 
1193         relevant. If their repaint rects intersect with the viewRect, then they are 
1194         added to the relevant objects set on the Page.
1195         * rendering/InlineBox.cpp:
1196         (WebCore::InlineBox::paint):
1197         * rendering/InlineTextBox.cpp:
1198         (WebCore::InlineTextBox::paint):
1199         * rendering/RenderEmbeddedObject.cpp:
1200         (WebCore::RenderEmbeddedObject::paintReplaced):
1201         * rendering/RenderHTMLCanvas.cpp:
1202         (WebCore::RenderHTMLCanvas::paintReplaced):
1203         * rendering/RenderImage.cpp:
1204         (WebCore::RenderImage::paintReplaced):
1205         * rendering/RenderRegion.cpp:
1206         (WebCore::RenderRegion::paintReplaced):
1207         * rendering/RenderReplaced.cpp:
1208         (WebCore::RenderReplaced::paint):
1209         * rendering/RenderVideo.cpp:
1210         (WebCore::RenderVideo::paintReplaced):
1211         * rendering/svg/RenderSVGRoot.cpp:
1212         (WebCore::RenderSVGRoot::paintReplaced):
1213
1214 2012-02-01  Alexis Menard  <alexis.menard@openbossa.org>
1215
1216         CSSStyleDeclaration.getPropertyPriority() fails for CSS shorthand properties with 'important' priority
1217         https://bugs.webkit.org/show_bug.cgi?id=49058
1218
1219         Reviewed by Andreas Kling.
1220
1221         CSSMutableStyleDeclaration::getPropertyPriority was not handling shorthands properly. Shorthands are
1222         not part of the property list of the style so we need to query the longhands which are the one added
1223         in the list. Only if the longhands have equal priority the shorthand priority is known. I also renamed
1224         getPropertyPriority (not the CSSOM exposed method) to something more consistent with WebKit naming guidelines.
1225
1226         Test: fast/css/shorthand-priority.html
1227
1228         * css/CSSMutableStyleDeclaration.cpp:
1229         (WebCore::CSSMutableStyleDeclaration::propertyIsImportant):
1230         (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
1231         (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
1232         * css/CSSMutableStyleDeclaration.h:
1233         (CSSMutableStyleDeclaration):
1234         * editing/EditingStyle.cpp:
1235         (WebCore::EditingStyle::extractAndRemoveTextDirection):
1236         (WebCore::EditingStyle::collapseTextDecorationProperties):
1237         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
1238         (WebCore::setTextDecorationProperty):
1239         * editing/RemoveCSSPropertyCommand.cpp:
1240         (WebCore::RemoveCSSPropertyCommand::doApply):
1241
1242 2012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
1243
1244         Crash in EventHandler::updateDragAndDrop
1245         https://bugs.webkit.org/show_bug.cgi?id=77569
1246
1247         Reviewed by Alexey Proskuryakov.
1248
1249         Test: fast/events/remove-target-with-shadow-in-drag.html
1250
1251         * page/EventHandler.cpp:
1252         (WebCore::EventHandler::updateDragAndDrop):
1253
1254 2012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1255
1256         Unreviewed, rolling out r106382.
1257         http://trac.webkit.org/changeset/106382
1258         https://bugs.webkit.org/show_bug.cgi?id=77571
1259
1260         Causing chromium crashes in PNGImageDecoder (Requested by
1261         japhet on #webkit).
1262
1263         * bindings/v8/V8Proxy.cpp:
1264         (WebCore::V8Proxy::evaluate):
1265         * page/Console.cpp:
1266         (WebCore::Console::time):
1267         (WebCore::Console::timeEnd):
1268         * platform/chromium/PlatformSupport.h:
1269         * platform/chromium/TraceEvent.h:
1270         (internal):
1271         (ScopeTracer):
1272         (WebCore::internal::ScopeTracer::ScopeTracer):
1273         (WebCore::internal::ScopeTracer::~ScopeTracer):
1274
1275 2012-02-01  Anders Carlsson  <andersca@apple.com>
1276
1277         Reviewed by Darin Adler.
1278
1279         Simplify the code that creates a new tile layer by getting a reference to the RetainPtr<WebTileLayer>&
1280         slot in the hash map and assign directly into it.
1281
1282         * platform/graphics/ca/mac/TileCache.mm:
1283         (WebCore::TileCache::revalidateTiles):
1284
1285 2012-02-01  Anders Carlsson  <andersca@apple.com>
1286
1287         Tile cache doesn't have an upper limit
1288         https://bugs.webkit.org/show_bug.cgi?id=77564
1289         <rdar://problem/10710744>
1290
1291         Reviewed by Darin Adler.
1292
1293         Cache enough tiles to cover 3x the visible height and 2x the visible width of the page,
1294         and drop tiles that are outside that area.
1295
1296         * platform/graphics/ca/GraphicsLayerCA.cpp:
1297         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
1298         Call GraphicsLayerClient::notifySyncRequired here, which will schedule a layer flush and ensure that
1299         the page layout is up to date before the new tiles are painted.
1300
1301         * platform/graphics/ca/PlatformCALayerClient.h:
1302         Add platformCALayerDidCreateTiles member function.
1303
1304         * platform/graphics/ca/mac/TileCache.h:
1305         Update for new/removed member functions and member variables.
1306
1307         * platform/graphics/ca/mac/TileCache.mm:
1308         (WebCore::TileCache::TileCache):
1309         Initialize the tile revalidation timer.
1310
1311         (WebCore::TileCache::tileCacheLayerBoundsChanged):
1312         If we don't have any tiles at all right now, revalidate the tiles immediately. Otherwise,
1313         schedule the revalidation timer.
1314
1315         (WebCore::TileCache::setNeedsDisplayInRect):
1316         Return early if we have no tiles.
1317
1318         (WebCore::TileCache::visibleRectChanged):
1319         Schedule tile revalidation.
1320
1321         (WebCore::TileCache::rectForTileIndex):
1322         New helper function that returns the bounds rect of a tile given its tile index.
1323
1324         (WebCore::TileCache::getTileIndexRangeForRect):
1325         Clamp the rect to the bounds of the tile cache layer.
1326
1327         (WebCore::TileCache::scheduleTileRevalidation):
1328         Schedule the revalidation timer if it hasn't already been scheduled.
1329
1330         (WebCore::TileCache::tileRevalidationTimerFired):
1331         Call revalidateTiles.
1332
1333         (WebCore::TileCache::revalidateTiles):
1334         Compute the tile coverage rect and remove all tiles that are outside. Create new tiles for any
1335         parts of the tile coverage rect that don't have tiles already.
1336
1337         (WebCore::TileCache::tileLayerAtIndex):
1338         Remove invalid assertions.
1339
1340 2012-02-01  Max Vujovic  <mvujovic@adobe.com>
1341
1342         Add support for fixed and percent min-width on the table element for table-layout: auto to
1343         match Firefox and Opera's behavior.
1344
1345         In FixedTableLayout.cpp, the computePreferredLogicalWidths method looks like it has
1346         issues based on the comment: "FIXME: This entire calculation is incorrect for both
1347         minwidth and maxwidth." (minwidth and maxwidth refer to the preferred widths, not the
1348         min-width and max-width styles). I have not implemented min-width for FixedTableLayout
1349         in this patch since it requires some more research around that comment.
1350
1351         min-width and max-width on the table element was discussed on the www-style list:
1352         http://lists.w3.org/Archives/Public/www-style/2012Jan/0684.html
1353
1354         min-width is not implemented on <table> for table-layout: auto
1355         https://bugs.webkit.org/show_bug.cgi?id=76553
1356
1357         Reviewed by Julien Chaffraix.
1358
1359         Test: fast/table/min-width.html
1360
1361         * rendering/AutoTableLayout.cpp:
1362         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
1363
1364             If the min or max preferred logical width is less than a fixed min width style, it is
1365             set to the fixed min width style. Like a percent width style, a percent min-width style
1366             does not affect the min or max preferred logical widths computed by the table layout
1367             algorithm. RenderTable's computeLogicalWidth method handles percent min-width styles.
1368
1369             min-width for the table-layout: fixed case has been split out into this bug:
1370             https://bugs.webkit.org/show_bug.cgi?id=76948
1371
1372         * rendering/RenderTable.cpp:
1373         (WebCore::RenderTable::computeLogicalWidth):
1374
1375             If the RenderStyle's logical min width is defined and greater than the logical width
1376             calculation, this method sets the logical width to the logical min width.
1377
1378         (WebCore::RenderTable::convertStyleWidthToComputedWidth):
1379
1380             This new method generalizes and factors out logic from RenderTable::computeLogicalWidth
1381             that converted the width style to a computed value in the fixed and percent case.
1382             RenderTable::computeLogicalWidth now calls this method to determine the computed values
1383             for both the width style and the min-width style. In the future, it can also be used for
1384             the max-width style.
1385
1386             Note that this method handles the special CSS table case, which requires borders and
1387             paddings to be included in the computed width calculation. This applies to all width
1388             styles, including width, min-width, and max-width. Before, this special case was handled
1389             in RenderTable::computeLogicalWidth.
1390
1391         * rendering/RenderTable.h:
1392
1393 2012-02-01  Brian Salomon  <bsalomon@google.com>
1394
1395         [SKIA/CHROMIUM] Perform getImageData format conversions using Skia
1396         https://bugs.webkit.org/show_bug.cgi?id=77553
1397
1398         Reviewed by Stephen White.
1399
1400         Many existing canvas tests exercise this functionality.
1401
1402         * platform/graphics/skia/ImageBufferSkia.cpp:
1403         (WebCore::getImageData):
1404
1405 2012-02-01  Nate Chapin  <japhet@chromium.org>
1406
1407         preventDefault() in a mousedown in a subframe should not
1408         prevent the scrollbar from handling mouse movements if the
1409         cursor leaves the subframe.
1410         https://bugs.webkit.org/show_bug.cgi?id=73097
1411
1412         Reviewed by Darin Adler.
1413
1414         Test: fast/events/scroll-div-with-prevent-default-in-subframe.html
1415
1416         * page/EventHandler.cpp:
1417         (WebCore::EventHandler::handleMousePressEvent):
1418
1419 2012-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
1420
1421         [GTK] editing/inserting/4960120-2.html flaky crash
1422         https://bugs.webkit.org/show_bug.cgi?id=76815
1423
1424         Reviewed by Martin Robinson.
1425
1426         Check if the node for the first parent object not ignoring
1427         accessibility is null before using it. This might happen with
1428         certain kind of accessibility objects, such as the root one (the
1429         scroller containing the webArea object as its only child).
1430
1431         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1432         (objectFocusedAndCaretOffsetUnignored): Add missing null check.
1433
1434 2012-02-01  Antti Koivisto  <antti@apple.com>
1435
1436         Make CSSMappedAttributeDeclaration have CSSMutableStyleDeclaration instead of being one
1437         https://bugs.webkit.org/show_bug.cgi?id=77545
1438
1439         Reviewed by Andreas Kling.
1440
1441         This is the easiest path for eliminating the last remaining subclass of CSSMutableStyleDeclaration.
1442         
1443         On negative side this increases memory use of CSSMappedAttributeDeclaration by one ptr and refcount
1444         (it loses the vptr) in total.
1445         
1446         This is not meant to be the end state, just an intermediate refactoring step. CSSMappedAttributeDeclaration
1447         should clearly be renamed too but this patch doesn't do that. It might not exist in its current form
1448         much longer.
1449
1450         * css/CSSMutableStyleDeclaration.cpp:
1451         (WebCore::CSSMutableStyleDeclaration::setProperty):
1452         (WebCore::CSSMutableStyleDeclaration::merge):
1453         * css/CSSMutableStyleDeclaration.h:
1454
1455             Remove protected section. No subclasses remain.        
1456             Rename setPropertyInternal() to setProperty(). All public methods here are internal.
1457         
1458         (CSSMutableStyleDeclaration):
1459         * css/CSSParser.cpp:
1460         (WebCore::CSSParser::parseMappedAttributeValue):
1461         * dom/Attribute.cpp:
1462         (WebCore::Attribute::clone):
1463         * dom/Attribute.h:
1464         (Attribute):
1465         (WebCore::Attribute::decl):
1466         (WebCore::Attribute::mappedAttributeDeclaration):
1467         (WebCore::Attribute::setMappedAttributeDeclaration):
1468         (WebCore::Attribute::Attribute):
1469         * dom/CSSMappedAttributeDeclaration.cpp:
1470         (WebCore::CSSMappedAttributeDeclaration::setMappedImageProperty):
1471         (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
1472         (WebCore::CSSMappedAttributeDeclaration::removeMappedProperty):
1473         * dom/CSSMappedAttributeDeclaration.h:
1474         (CSSMappedAttributeDeclaration):
1475         (WebCore::CSSMappedAttributeDeclaration::declaration):
1476         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
1477         
1478             Make CSSMutableStyleDeclaration a member instead of the base class.
1479         
1480         * dom/StyledElement.cpp:
1481         (WebCore::StyledElement::attributeChanged):
1482         (WebCore::StyledElement::removeCSSProperty):
1483         (WebCore::StyledElement::addCSSProperty):
1484         (WebCore::StyledElement::addCSSImageProperty):
1485         (WebCore::StyledElement::addCSSLength):
1486         (WebCore::StyledElement::addCSSColor):
1487         (WebCore::StyledElement::createMappedDecl):
1488         * svg/SVGStyledElement.cpp:
1489         (WebCore::SVGStyledElement::getPresentationAttribute):
1490
1491 2012-02-01  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1492
1493         [Qt] Set all PlatformTouchPoint values possible from a QTouch event.
1494         https://bugs.webkit.org/show_bug.cgi?id=77442
1495
1496         Reviewed by Kenneth Rohde Christiansen.
1497
1498         * platform/qt/PlatformTouchPointQt.cpp:
1499         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
1500
1501 2012-02-01  Peter Rybin  <peter.rybin@gmail.com>
1502
1503         Web Inspector: CodeGeneratorInspector.py: move type builder code to dedicated InspectorTypeBuilder .h/.cpp
1504         https://bugs.webkit.org/show_bug.cgi?id=77471
1505
1506         Reviewed by Yury Semikhatsky.
1507
1508         Code is moved physically to other file -- generator is changed accrodingly.
1509
1510         * inspector/CodeGeneratorInspector.py:
1511         (String):
1512         (provides):
1513         (typename):
1514         (Array):
1515
1516 2012-02-01  Yury Semikhatsky  <yurys@chromium.org>
1517
1518         Web Inspector: debugger reports wrong sources when paused in inline script on page reload
1519         https://bugs.webkit.org/show_bug.cgi?id=77548
1520
1521         V8 returns treats each script source as ending with \n, now we take
1522         this into account when reporting script line count to the inspector
1523         front-end.
1524
1525         Reviewed by Vsevolod Vlasov.
1526
1527         Test: inspector/debugger/pause-in-inline-script.html
1528
1529         * bindings/js/ScriptDebugServer.cpp:
1530         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1531         * bindings/v8/DebuggerScript.js:
1532
1533 2012-02-01  Shinya Kawanaka  <shinyak@google.com>
1534
1535         Content element should be able to be dynamically added/removed/replaced in a shadow tree.
1536         https://bugs.webkit.org/show_bug.cgi?id=76611
1537
1538         Reviewed by Hajime Morita
1539
1540         When a content element is added/removed/replaced in a shadow tree, we have to recreate
1541         the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
1542         when content element is removed. (When added, it is recalculated.)
1543         This patch enables us to recalcurate the shadow tree when content element is removed.
1544
1545         Test: fast/dom/shadow/content-element-move.html
1546
1547         * dom/Element.cpp:
1548         (WebCore::Element::attach):
1549           If a shadow root exists, attaches shadow tree before attaching child elements.
1550         * dom/ShadowRoot.cpp:
1551           Added a flag to recalculate shadow tree.
1552         (WebCore::ShadowRoot::ShadowRoot):
1553         (WebCore::ShadowRoot::recalcShadowTreeStyle):
1554           Recalculates light children and shadow tree.
1555         (WebCore::ShadowRoot::setNeedsReattachHostChildrenAndShadow):
1556         (WebCore::ShadowRoot::reattachHostChildrenAndShadow):
1557           Detaches shadow tree and host light children, and attaches them again.
1558         * dom/ShadowRoot.h:
1559         (WebCore::ShadowRoot::clearNeedsReattachHostChildrenAndShadow):
1560         (WebCore::ShadowRoot::needsReattachHostChildrenAndShadow):
1561         * html/shadow/HTMLContentElement.cpp:
1562         (WebCore::HTMLContentElement::attach):
1563           Does not need to detach included elements, because they are not attached in ContainerNode anymore.
1564         (WebCore::HTMLContentElement::detach):
1565           When a content element detached, reattaches a shadow tree.
1566
1567 2012-02-01  Peter Beverloo  <peter@chromium.org>
1568
1569         getIntersectionList causes transforms to be recalculated in SVG
1570         https://bugs.webkit.org/show_bug.cgi?id=77179
1571
1572         Reviewed by Nikolas Zimmermann.
1573
1574         Introduce a local variable to store the element's local-to-parent
1575         transformation matrix in, removing the need for the const_cast and
1576         stopping us from modifying any matrices elsewhere.
1577
1578         Test: svg/custom/intersection-list-transforms.svg
1579
1580         * rendering/svg/RenderSVGModelObject.cpp:
1581         (WebCore::getElementCTM):
1582
1583 2012-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1584
1585         Web Inspector: [InspectorIndexedDB] Add tests for database names and database structure requests.
1586         https://bugs.webkit.org/show_bug.cgi?id=77439
1587
1588         Reviewed by Pavel Feldman.
1589
1590         Tests: http/tests/inspector/indexeddb/database-names.html
1591                http/tests/inspector/indexeddb/database-structure.html
1592
1593         * inspector/front-end/IndexedDBModel.js:
1594         (WebInspector.IndexedDBModel.prototype.refreshDatabase):
1595
1596 2012-01-31  Vsevolod Vlasov  <vsevik@chromium.org>
1597
1598         Web Inspector: Scripts navigator becomes empty after "show folders" settings change.
1599         https://bugs.webkit.org/show_bug.cgi?id=77441
1600
1601         Reviewed by Pavel Feldman.
1602
1603         * inspector/front-end/ScriptsNavigator.js:
1604         (WebInspector.ScriptsNavigator.prototype._reset):
1605         * inspector/front-end/utilities.js:
1606
1607 2012-02-01  Shawn Singh  <shawnsingh@chromium.org>
1608
1609         Fix the semantics of passing contentsVisible flag to GraphicsLayers
1610         https://bugs.webkit.org/show_bug.cgi?id=76975
1611
1612         Reviewed by Simon Fraser.
1613
1614         This patch is covered by existing tests, in particular
1615         compositing/visibility/layer-visible-content.html; its
1616         expectations are rebaselined.
1617
1618         * rendering/RenderLayerBacking.cpp:
1619         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1620
1621 2012-02-01  Philippe Normand  <pnormand@igalia.com>
1622
1623         Unreviewed, another GTK build fix after r106446.
1624
1625         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1626         Restore webKitWebSrcGetProtocols as it was before r106446.
1627
1628 2012-02-01  Philippe Normand  <pnormand@igalia.com>
1629
1630         Unreviewed, GTK build fix after r106446.
1631
1632         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1633
1634 2012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1635
1636         Unreviewed, rolling out r106432.
1637         http://trac.webkit.org/changeset/106432
1638         https://bugs.webkit.org/show_bug.cgi?id=77529
1639
1640         it breaks tests (Requested by shinyak on #webkit).
1641
1642         * dom/Element.cpp:
1643         (WebCore::Element::attach):
1644         * dom/ShadowRoot.cpp:
1645         (WebCore::ShadowRoot::recalcShadowTreeStyle):
1646         * dom/ShadowRoot.h:
1647         (ShadowRoot):
1648         * html/shadow/HTMLContentElement.cpp:
1649         (WebCore::HTMLContentElement::attach):
1650         (WebCore::HTMLContentElement::detach):
1651
1652 2012-02-01  Hayato Ito  <hayato@chromium.org>
1653
1654         Remove unnecessary [OldStyleObjC] from ShadowRoot.idl.
1655         https://bugs.webkit.org/show_bug.cgi?id=77516
1656
1657         Reviewed by Kentaro Hara.
1658
1659         No new tests. No change in behavior.
1660
1661         * dom/ShadowRoot.idl:
1662
1663 2012-01-26  Philippe Normand  <pnormand@igalia.com>
1664
1665         [GStreamer] 0.11 webkitwebsrc
1666         https://bugs.webkit.org/show_bug.cgi?id=77086
1667
1668         Port the webkitwebsrc element to GStreamer 0.11 APIs.
1669
1670         Reviewed by Gustavo Noronha Silva.
1671
1672         No new tests, existing http media layout tests should cover this.
1673
1674         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1675         (webkit_web_src_class_init):
1676
1677 2012-01-31  Hans Wennborg  <hans@chromium.org>
1678
1679         Speech Input: Report speech element rect relative to window rather than frame
1680         https://bugs.webkit.org/show_bug.cgi?id=76443
1681
1682         Reviewed by Darin Fisher.
1683
1684         When requesting speech input, report the speech element rect relative
1685         to the window rather than the frame. The embedder will typically use
1686         this position to show a bubble indicating that speech recognition is
1687         in progress.
1688
1689         Test: fast/speech/bubble-position.html
1690
1691         * html/shadow/TextControlInnerElements.cpp:
1692         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
1693
1694 2012-01-31  Andreas Kling  <awesomekling@apple.com>
1695
1696         Make elements that don't have attributes smaller.
1697         <http://webkit.org/b/76876>
1698
1699         Reviewed by Sam Weinig and Antti Koivisto.
1700
1701         Move the inline style declaration from StyledElement to ElementAttributeData, since having
1702         an inline style declaration also implies having a style attribute on the element.
1703         This saves one CPU word per element that has no attributes.
1704
1705         This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
1706         HTML5 spec at <http://whatwg.org/c>.
1707
1708         This was rolled out once because of a performance regression which has been averted this
1709         time around by adding an Element::ensureAttributeMap() so we can force creation of the
1710         NamedNodeMap without also serializing the inline style for the "style" attribute.
1711
1712         * dom/Element.h:
1713         (Element):
1714         (WebCore::Element::ensureAttributeMap):
1715         (WebCore):
1716         * dom/ElementAttributeData.h:
1717         (ElementAttributeData):
1718         * dom/NamedNodeMap.cpp:
1719         (WebCore::NamedNodeMap::ensureInlineStyleDecl):
1720         (WebCore):
1721         (WebCore::NamedNodeMap::destroyInlineStyleDecl):
1722         * dom/NamedNodeMap.h:
1723         (WebCore::NamedNodeMap::inlineStyleDecl):
1724         (NamedNodeMap):
1725         * dom/StyledElement.cpp:
1726         (WebCore::StyledElement::addSubresourceAttributeURLs):
1727         * dom/StyledElement.h:
1728         (WebCore::StyledElement::inlineStyleDecl):
1729         (WebCore::StyledElement::ensureInlineStyleDecl):
1730         (StyledElement):
1731         (WebCore::StyledElement::destroyInlineStyleDecl):
1732
1733 2012-01-31  Hayato Ito  <hayato@chromium.org>
1734
1735         Add APIs, getElementsByXXX family, to ShadowRoot IDL.
1736         https://bugs.webkit.org/show_bug.cgi?id=77323
1737
1738         Reviewed by Dimitri Glazkov.
1739
1740         Add APIs (getElementById, getElemesntByTagName, getElementsByClassName and getElementsByTagNameNS)
1741         to ShadowRoot IDL.
1742
1743         * dom/ShadowRoot.idl:
1744
1745 2012-01-31  Shinya Kawanaka  <shinyak@google.com>
1746
1747         Content element should be able to be dynamically added/removed/replaced in a shadow tree.
1748         https://bugs.webkit.org/show_bug.cgi?id=76611
1749
1750         Reviewed by Hajime Morita.
1751
1752         When a content element is added/removed/replaced in a shadow tree, we have to recreate
1753         the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
1754         when content element is removed. (When added, it is recalculated.)
1755         This patch enables us to recalcurate the shadow tree when content element is removed.
1756
1757         Test: fast/dom/shadow/content-element-move.html
1758
1759         * dom/Element.cpp:
1760         (WebCore::Element::attach):
1761           If a shadow root exists, attaches shadow tree before attaching child elements.
1762         * dom/ShadowRoot.cpp:
1763         (WebCore::ShadowRoot::recalcShadowTreeStyle):
1764           Recalculates light children and shadow tree.
1765         (WebCore::ShadowRoot::reattachHostChildrenAndShadow):
1766           Detaches shadow tree and host light children, and attaches them again.
1767         * dom/ShadowRoot.h:
1768           Added a flag to recalculate shadow tree.
1769         (WebCore::ShadowRoot::setNeedsShadowTreeStyleRecalc):
1770         (WebCore::ShadowRoot::clearNeedsShadowTreeStyleRecalc):
1771         (WebCore::ShadowRoot::needsShadowTreeStyleRecalc):
1772         * html/shadow/HTMLContentElement.cpp:
1773         (WebCore::HTMLContentElement::attach):
1774           Does not need to detach included elements, because they are not attached in ContainerNode anymore.
1775         (WebCore::HTMLContentElement::detach):
1776           When a content element detached, reattaches a shadow tree.
1777
1778 2012-01-31  Joe Thomas  <joethomas@motorola.com>
1779
1780         https://bugs.webkit.org/show_bug.cgi?id=76801
1781         Listboxes incorrectly display contents when cleared and then re-populated.
1782
1783         Whenever the number of items in the listbox is less than the size of listbox (number of visible items the listbox can accomodate),
1784         we set the listbox scroll-offset to zero. The scroll-offset of the Scrollbar should also be set to 0 so that when the listbox is re-populated,
1785         scrollbar position and the content inside the listbox are in sync.
1786
1787         Reviewed by Andreas Kling.
1788
1789         Tests: fast/forms/listbox-clear-restore.html
1790
1791         * rendering/RenderListBox.cpp:
1792         (WebCore::RenderListBox::computeLogicalHeight): Setting the scroll-offset of the Scrollbar to 0 when scrollbar is not needed.
1793
1794 2012-01-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1795
1796         Unreviewed. Fix build break after r106373.
1797
1798         * CMakeLists.txt:
1799
1800 2012-01-31  Adam Barth  <abarth@webkit.org>
1801
1802         HTMLPreloadScanner should understand the <base> element
1803         https://bugs.webkit.org/show_bug.cgi?id=77231
1804
1805         Reviewed by Eric Seidel.
1806
1807         Previously, the HTMLPreloadScanner would ignore the <base> element when
1808         preloading resources.  If there was a <base> tag, this could cause the
1809         preload scanner to make a bunch of useless requests.
1810
1811         This patch teaches the preload scanner to use <base> tags to better
1812         predict which URLs will be used by the document.
1813
1814         Tests: fast/preloader/first-base-tag-scanned-wins.html
1815                fast/preloader/first-base-tag-wins.html
1816                fast/preloader/understands-base-tag.html
1817
1818         * dom/Document.cpp:
1819         (WebCore::Document::completeURL):
1820         (WebCore):
1821         * dom/Document.h:
1822         (Document):
1823         (WebCore::Document::baseElementURL):
1824         * html/parser/HTMLPreloadScanner.cpp:
1825         (WebCore::HTMLNames::PreloadTask::PreloadTask):
1826         (WebCore::HTMLNames::PreloadTask::processAttributes):
1827         (WebCore::HTMLNames::PreloadTask::preload):
1828         (WebCore::HTMLNames::PreloadTask::baseElementHref):
1829         (PreloadTask):
1830         (WebCore::HTMLPreloadScanner::scan):
1831         (WebCore::HTMLPreloadScanner::processToken):
1832         (WebCore::HTMLPreloadScanner::updatePredictedBaseElementURL):
1833         (WebCore):
1834         * html/parser/HTMLPreloadScanner.h:
1835         (HTMLPreloadScanner):
1836
1837 2012-01-31  Raymond Liu  <raymond.liu@intel.com>
1838
1839         Dynamic allocate AudioBus with required number of channels for AudioNodeInput
1840         https://bugs.webkit.org/show_bug.cgi?id=76516
1841
1842         Reviewed by Kenneth Russell.
1843
1844         No new tests required.
1845
1846         * webaudio/AudioBasicProcessorNode.cpp:
1847         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
1848         * webaudio/AudioChannelMerger.cpp:
1849         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
1850         * webaudio/AudioGainNode.cpp:
1851         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
1852         * webaudio/AudioNode.cpp:
1853         (WebCore::AudioNode::checkNumberOfChannelsForInput):
1854         * webaudio/AudioNode.h:
1855         * webaudio/AudioNodeInput.cpp:
1856         (WebCore::AudioNodeInput::AudioNodeInput):
1857         (WebCore::AudioNodeInput::updateInternalBus):
1858         (WebCore::AudioNodeInput::internalSummingBus):
1859         * webaudio/AudioNodeInput.h:
1860
1861 2012-01-31  Alexey Proskuryakov  <ap@apple.com>
1862
1863         REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian
1864         https://bugs.webkit.org/show_bug.cgi?id=77473
1865         <rdar://problem/10751357>
1866
1867         Reviewed by Darin Adler.
1868
1869         Test: platform/mac/fast/events/non-roman-key-code.html
1870
1871         * WebCore.exp.in:
1872         * platform/mac/PlatformEventFactoryMac.h:
1873         * platform/mac/PlatformEventFactoryMac.mm:
1874         (WebCore::keyIdentifierForKeyEvent):
1875         (WebCore::windowsKeyCodeForKeyEvent):
1876         Export functions for reuse in WebKit2. I did not attempt any larger refactoring at this time.
1877
1878 2012-01-31  Gregg Tavares  <gman@google.com>
1879
1880         Make WebGL put synthesized errors in the JS console
1881         https://bugs.webkit.org/show_bug.cgi?id=77267
1882
1883         Reviewed by Kenneth Russell.
1884
1885         No new functionality so no new tests.
1886
1887         * html/canvas/WebGLCompressedTextures.cpp:
1888         (WebCore::WebGLCompressedTextures::validateCompressedTexFuncData):
1889         (WebCore::WebGLCompressedTextures::compressedTexImage2D):
1890         (WebCore::WebGLCompressedTextures::compressedTexSubImage2D):
1891         * html/canvas/WebGLCompressedTextures.h:
1892         (WebGLCompressedTextures):
1893         * html/canvas/WebGLDebugShaders.cpp:
1894         (WebCore::WebGLDebugShaders::getTranslatedShaderSource):
1895         * html/canvas/WebGLRenderingContext.cpp:
1896         (WebCore::WebGLRenderingContext::activeTexture):
1897         (WebCore::WebGLRenderingContext::attachShader):
1898         (WebCore::WebGLRenderingContext::bindAttribLocation):
1899         (WebCore::WebGLRenderingContext::checkObjectToBeBound):
1900         (WebCore::WebGLRenderingContext::bindBuffer):
1901         (WebCore::WebGLRenderingContext::bindFramebuffer):
1902         (WebCore::WebGLRenderingContext::bindRenderbuffer):
1903         (WebCore::WebGLRenderingContext::bindTexture):
1904         (WebCore::WebGLRenderingContext::blendEquation):
1905         (WebCore::WebGLRenderingContext::blendEquationSeparate):
1906         (WebCore::WebGLRenderingContext::blendFunc):
1907         (WebCore::WebGLRenderingContext::blendFuncSeparate):
1908         (WebCore::WebGLRenderingContext::bufferData):
1909         (WebCore::WebGLRenderingContext::bufferSubData):
1910         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
1911         (WebCore::WebGLRenderingContext::clear):
1912         (WebCore::WebGLRenderingContext::compileShader):
1913         (WebCore::WebGLRenderingContext::compressedTexImage2D):
1914         (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
1915         (WebCore::WebGLRenderingContext::copyTexImage2D):
1916         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
1917         (WebCore::WebGLRenderingContext::createShader):
1918         (WebCore::WebGLRenderingContext::deleteObject):
1919         (WebCore::WebGLRenderingContext::depthRange):
1920         (WebCore::WebGLRenderingContext::detachShader):
1921         (WebCore::WebGLRenderingContext::disable):
1922         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
1923         (WebCore::WebGLRenderingContext::validateWebGLObject):
1924         (WebCore::WebGLRenderingContext::drawArrays):
1925         (WebCore::WebGLRenderingContext::drawElements):
1926         (WebCore::WebGLRenderingContext::enable):
1927         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
1928         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
1929         (WebCore::WebGLRenderingContext::framebufferTexture2D):
1930         (WebCore::WebGLRenderingContext::generateMipmap):
1931         (WebCore::WebGLRenderingContext::getActiveAttrib):
1932         (WebCore::WebGLRenderingContext::getActiveUniform):
1933         (WebCore::WebGLRenderingContext::getAttachedShaders):
1934         (WebCore::WebGLRenderingContext::getAttribLocation):
1935         (WebCore::WebGLRenderingContext::getBufferParameter):
1936         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
1937         (WebCore::WebGLRenderingContext::getParameter):
1938         (WebCore::WebGLRenderingContext::getProgramParameter):
1939         (WebCore::WebGLRenderingContext::getProgramInfoLog):
1940         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
1941         (WebCore::WebGLRenderingContext::getShaderParameter):
1942         (WebCore::WebGLRenderingContext::getShaderInfoLog):
1943         (WebCore::WebGLRenderingContext::getShaderSource):
1944         (WebCore::WebGLRenderingContext::getTexParameter):
1945         (WebCore::WebGLRenderingContext::getUniform):
1946         (WebCore::WebGLRenderingContext::getUniformLocation):
1947         (WebCore::WebGLRenderingContext::getVertexAttrib):
1948         (WebCore::WebGLRenderingContext::hint):
1949         (WebCore::WebGLRenderingContext::isEnabled):
1950         (WebCore::WebGLRenderingContext::linkProgram):
1951         (WebCore::WebGLRenderingContext::pixelStorei):
1952         (WebCore::WebGLRenderingContext::readPixels):
1953         (WebCore::WebGLRenderingContext::renderbufferStorage):
1954         (WebCore::WebGLRenderingContext::scissor):
1955         (WebCore::WebGLRenderingContext::shaderSource):
1956         (WebCore::WebGLRenderingContext::stencilFunc):
1957         (WebCore::WebGLRenderingContext::stencilFuncSeparate):
1958         (WebCore::WebGLRenderingContext::stencilMaskSeparate):
1959         (WebCore::WebGLRenderingContext::texImage2DBase):
1960         (WebCore::WebGLRenderingContext::texImage2DImpl):
1961         (WebCore::WebGLRenderingContext::texImage2D):
1962         (WebCore::WebGLRenderingContext::videoFrameToImage):
1963         (WebCore::WebGLRenderingContext::texParameter):
1964         (WebCore::WebGLRenderingContext::texSubImage2DBase):
1965         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
1966         (WebCore::WebGLRenderingContext::texSubImage2D):
1967         (WebCore::WebGLRenderingContext::uniform1f):
1968         (WebCore::WebGLRenderingContext::uniform1fv):
1969         (WebCore::WebGLRenderingContext::uniform1i):
1970         (WebCore::WebGLRenderingContext::uniform1iv):
1971         (WebCore::WebGLRenderingContext::uniform2f):
1972         (WebCore::WebGLRenderingContext::uniform2fv):
1973         (WebCore::WebGLRenderingContext::uniform2i):
1974         (WebCore::WebGLRenderingContext::uniform2iv):
1975         (WebCore::WebGLRenderingContext::uniform3f):
1976         (WebCore::WebGLRenderingContext::uniform3fv):
1977         (WebCore::WebGLRenderingContext::uniform3i):
1978         (WebCore::WebGLRenderingContext::uniform3iv):
1979         (WebCore::WebGLRenderingContext::uniform4f):
1980         (WebCore::WebGLRenderingContext::uniform4fv):
1981         (WebCore::WebGLRenderingContext::uniform4i):
1982         (WebCore::WebGLRenderingContext::uniform4iv):
1983         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
1984         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
1985         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
1986         (WebCore::WebGLRenderingContext::useProgram):
1987         (WebCore::WebGLRenderingContext::validateProgram):
1988         (WebCore::WebGLRenderingContext::vertexAttrib1f):
1989         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
1990         (WebCore::WebGLRenderingContext::vertexAttrib2f):
1991         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
1992         (WebCore::WebGLRenderingContext::vertexAttrib3f):
1993         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
1994         (WebCore::WebGLRenderingContext::vertexAttrib4f):
1995         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
1996         (WebCore::WebGLRenderingContext::vertexAttribPointer):
1997         (WebCore::WebGLRenderingContext::viewport):
1998         (WebCore::WebGLRenderingContext::forceLostContext):
1999         (WebCore::WebGLRenderingContext::loseContextImpl):
2000         (WebCore::WebGLRenderingContext::forceRestoreContext):
2001         (WebCore::WebGLRenderingContext::validateTextureBinding):
2002         (WebCore::WebGLRenderingContext::validateLocationLength):
2003         (WebCore::WebGLRenderingContext::validateSize):
2004         (WebCore::WebGLRenderingContext::validateString):
2005         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
2006         (WebCore::WebGLRenderingContext::validateTexFuncLevel):
2007         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
2008         (WebCore::WebGLRenderingContext::validateTexFuncData):
2009         (WebCore::WebGLRenderingContext::validateDrawMode):
2010         (WebCore::WebGLRenderingContext::validateStencilSettings):
2011         (WebCore::WebGLRenderingContext::validateStencilFunc):
2012         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
2013         (WebCore::WebGLRenderingContext::validateBlendEquation):
2014         (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
2015         (WebCore::WebGLRenderingContext::validateCapability):
2016         (WebCore::WebGLRenderingContext::validateUniformParameters):
2017         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
2018         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
2019         (WebCore::WebGLRenderingContext::validateHTMLImageElement):
2020         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
2021         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
2022         (WebCore::WebGLRenderingContext::maybeRestoreContext):
2023         (WebCore):
2024         (WebCore::WebGLRenderingContext::synthesizeGLError):
2025         * html/canvas/WebGLRenderingContext.h:
2026         (WebGLRenderingContext):
2027
2028 2012-01-31  Raymond Liu  <raymond.liu@intel.com>
2029
2030         Clean up m_processLock logic in AudioBasicProcessorNode and AudioGainNode
2031         https://bugs.webkit.org/show_bug.cgi?id=76772
2032
2033         Reviewed by Kenneth Russell.
2034
2035         No new tests required.
2036
2037         * webaudio/AudioBasicProcessorNode.cpp:
2038         (WebCore::AudioBasicProcessorNode::process):
2039         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
2040         * webaudio/AudioBasicProcessorNode.h:
2041         * webaudio/AudioGainNode.cpp:
2042         (WebCore::AudioGainNode::process):
2043         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
2044         * webaudio/AudioGainNode.h:
2045         (AudioGainNode):
2046
2047 2012-01-31  Adam Klein  <adamk@chromium.org>
2048
2049         ProcessingInstruction should not be a ContainerNode
2050         https://bugs.webkit.org/show_bug.cgi?id=75141
2051
2052         Reviewed by Darin Adler.
2053
2054         Per the DOM spec, ProcessingInstruction can't have any children.
2055         And the WebCore behavior already matches the spec by always returning
2056         false for childTypeAllowed(). This change simplifies
2057         ProcessingInstruction's implementation by making it subclass Node
2058         instead of ContainerNode.
2059
2060         Test: fast/dom/processing-instruction-appendChild-exceptions.xhtml
2061
2062         * dom/ContainerNode.cpp: Moved dispatchBeforeLoadEvent up to Node.
2063         * dom/ContainerNode.h:
2064         * dom/Node.cpp:
2065         (WebCore::Node::dispatchBeforeLoadEvent): Moved up from ContainerNode
2066         since it's used both by ProcessingInstruction and various Element
2067         subclasses.
2068         * dom/Node.h:
2069         * dom/ProcessingInstruction.cpp:
2070         (WebCore::ProcessingInstruction::ProcessingInstruction): Call Node constructor.
2071         (WebCore::ProcessingInstruction::insertedIntoDocument): Call Node impl.
2072         (WebCore::ProcessingInstruction::removedFromDocument): ditto.
2073         (WebCore::ProcessingInstruction::finishParsingChildren): ditto.
2074         * dom/ProcessingInstruction.h:
2075
2076 2012-01-31  Matthew Delaney  <mdelaney@apple.com>
2077
2078         Failing 2d.shadow.enable.off.2.html on Lion
2079         https://bugs.webkit.org/show_bug.cgi?id=77489
2080
2081         Reviewed by Dan Bernstein.
2082
2083         The canvas spec requires that shadows not be drawn under certain
2084         circumstances outlined here: http://www.whatwg.org/specs/web-apps/current-work/#shadows
2085         This patch adds in those checks which allows us to pass now (on Lion)
2086         the philip canvas test that was checking that constraint.
2087
2088         No new tests. Unskipping the test on Lion that this patch fixes.
2089
2090         * html/canvas/CanvasRenderingContext2D.cpp:
2091         (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
2092         (WebCore::CanvasRenderingContext2D::setShadow):
2093         (WebCore::CanvasRenderingContext2D::applyShadow):
2094         (WebCore::CanvasRenderingContext2D::shouldDrawShadows):
2095         * html/canvas/CanvasRenderingContext2D.h:
2096         (CanvasRenderingContext2D):
2097
2098 2012-01-31  Anders Carlsson  <andersca@apple.com>
2099
2100         TileCache::setNeedsDisplayInRect cleanup
2101         https://bugs.webkit.org/show_bug.cgi?id=77486
2102
2103         Reviewed by Andreas Kling.
2104
2105         * platform/graphics/ca/mac/TileCache.h:
2106         * platform/graphics/ca/mac/TileCache.mm:
2107         (WebCore::TileCache::setNeedsDisplayInRect):
2108         TileCache::tileLayerAtIndex can in the future return nil, so cope with that. Also, replace
2109         nested if statements with continue statements.
2110
2111         (WebCore::TileCache::getTileIndexRangeForRect):
2112         Rename this to better indicate that it returns a range of indices.
2113
2114 2012-01-31  Dana Jansens  <danakj@chromium.org>
2115
2116         Add contains() test to Region
2117         https://bugs.webkit.org/show_bug.cgi?id=72294
2118
2119         Reviewed by Anders Carlsson.
2120
2121         * platform/graphics/Region.cpp:
2122         (WebCore::Region::contains):
2123         (WebCore):
2124         * platform/graphics/Region.h:
2125         (Region):
2126         (Shape):
2127         (WebCore::operator==):
2128         (WebCore):
2129
2130 2012-01-31  Sami Kyostila  <skyostil@chromium.org>
2131
2132         [chromium] Compositor debug borders are not scaled correctly
2133         https://bugs.webkit.org/show_bug.cgi?id=77468
2134
2135         Use CCLayerImpl::contentBounds() instead of CCLayerImpl::bounds() to calculate debug
2136         border geometry so that the borders are properly scaled.
2137
2138         Reviewed by James Robinson.
2139
2140         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2141         (WebCore::CCLayerImpl::appendDebugBorderQuad):
2142
2143 2012-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2144
2145         Unreviewed, rolling out r106376.
2146         http://trac.webkit.org/changeset/106376
2147         https://bugs.webkit.org/show_bug.cgi?id=77481
2148
2149         Broke WebGLLayerChromiumTest in webkit_unit_tests (Requested
2150         by kbr_google on #webkit).
2151
2152         * platform/graphics/gpu/DrawingBuffer.cpp:
2153         (WebCore):
2154         (WebCore::DrawingBuffer::reset):
2155
2156 2012-01-31  Mihnea Ovidenie  <mihnea@adobe.com>
2157
2158         [CSSRegions]Reduce the cases when the box style in region is computed
2159         https://bugs.webkit.org/show_bug.cgi?id=77446
2160
2161         Reviewed by David Hyatt.
2162
2163         Covered by existing region style tests.
2164
2165         * rendering/RenderRegion.cpp:
2166         (WebCore::RenderRegion::setRegionBoxesRegionStyle):
2167         (WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):
2168
2169 2012-01-31  Anders Carlsson  <andersca@apple.com>
2170
2171         Put tiles in a HashMap
2172         https://bugs.webkit.org/show_bug.cgi?id=77480
2173
2174         Reviewed by Antti Koivisto.
2175
2176         Put tiles in a hash map keyed off the tile index.
2177
2178         * platform/graphics/ca/mac/TileCache.h:
2179         Shuffle member variables around so the order makes more sense.
2180         Add the tile map.
2181
2182         * platform/graphics/ca/mac/TileCache.mm:
2183         (WebCore::TileCache::TileCache):
2184         Update member initializers.
2185
2186         (WebCore::TileCache::setNeedsDisplayInRect):
2187         Call tileLayerAtIndex instead of tileLayerAtPosition.
2188
2189         (WebCore::TileCache::setAcceleratesDrawing):
2190         (WebCore::TileCache::setTileDebugBorderWidth):
2191         (WebCore::TileCache::setTileDebugBorderColor):
2192         Iterate over the hash map instead of the sublayers.
2193
2194         (WebCore::TileCache::resizeTileGrid):
2195         Add the created layers to the map.
2196
2197         (WebCore::TileCache::tileLayerAtIndex):
2198         Rename from tileLayerAtPoint to better reflect that this member function
2199         returns a tile layer at the given index and not the given point.
2200
2201 2012-01-31  Antti Koivisto  <antti@apple.com>
2202
2203         Make CSSOM style() return CSSStyleDeclaration*
2204         https://bugs.webkit.org/show_bug.cgi?id=77475
2205
2206         Reviewed by Anders Carlsson
2207
2208         CSSStyleRule::style() and some other places return CSSMutableStyleDeclaration. 
2209         They should return the plain CSSOM type instead.
2210         
2211         CSSMutableStyleDeclaration* should be available through non-CSSOM function.
2212
2213         * css/CSSFontFaceRule.h:
2214         (WebCore::CSSFontFaceRule::style):
2215         (WebCore::CSSFontFaceRule::declaration):
2216         * css/CSSFontSelector.cpp:
2217         (WebCore::CSSFontSelector::addFontFaceRule):
2218         * css/CSSStyleRule.h:
2219         (WebCore::CSSStyleRule::style):
2220         (WebCore::CSSStyleRule::declaration):
2221         * css/CSSStyleSelector.cpp:
2222         (WebCore::CSSStyleSelector::styleForKeyframe):
2223         * css/WebKitCSSKeyframeRule.h:
2224         (WebCore):
2225         (WebCore::WebKitCSSKeyframeRule::style):
2226         (WebCore::WebKitCSSKeyframeRule::declaration):
2227         (WebKitCSSKeyframeRule):
2228         * editing/EditingStyle.cpp:
2229         (WebCore::styleFromMatchedRulesForElement):
2230         * inspector/InspectorStyleSheet.cpp:
2231         (WebCore::InspectorStyleSheet::revalidateStyle):
2232         * page/PageSerializer.cpp:
2233         (WebCore::PageSerializer::retrieveResourcesForCSSRule):
2234         * svg/SVGFontFaceElement.cpp:
2235         (WebCore::SVGFontFaceElement::parseMappedAttribute):
2236         (WebCore::SVGFontFaceElement::fontFamily):
2237         (WebCore::SVGFontFaceElement::rebuildFontFace):
2238
2239 2012-01-31  Scott Graham  <scottmg@chromium.org>
2240
2241         [Chromium] Remove references to gyp cygwin build target
2242         https://bugs.webkit.org/show_bug.cgi?id=77253
2243
2244         Reviewed by Julien Chaffraix.
2245
2246         Target dependency is no longer required, it's done earlier in the
2247         build process.
2248
2249         * WebCore.gyp/WebCore.gyp:
2250
2251 2012-01-31  Jon Lee  <jonlee@apple.com>
2252
2253         Hidden form elements do not save their state prior to form submission
2254         https://bugs.webkit.org/show_bug.cgi?id=77391
2255         <rdar://problem/10563108>
2256
2257         Reviewed by Brady Eidson.
2258
2259         Test: fast/forms/state-restore-hidden.html
2260
2261         * html/HiddenInputType.cpp: Teach hidden inputs to save and restore their state.
2262         (WebCore::HiddenInputType::saveFormControlState):
2263         (WebCore::HiddenInputType::restoreFormControlState):
2264         * html/HiddenInputType.h:
2265         (HiddenInputType):
2266
2267 2012-01-31  Joshua Bell  <jsbell@chromium.org>
2268
2269         IndexedDB: IDBCursor.update() should raise exception if key changed
2270         https://bugs.webkit.org/show_bug.cgi?id=76952
2271
2272         Move the test from the async task to the synchronous call, per spec. Also re-ordered the tests
2273         done during the synchronous call and the asynchronous task to follow the spec order.
2274
2275         Reviewed by Tony Chang.
2276
2277         Tests: storage/indexeddb/cursor-update.html
2278
2279         * storage/IDBObjectStoreBackendImpl.cpp:
2280         (WebCore::IDBObjectStoreBackendImpl::put): Added check during update() call, order checks per spec.
2281         (WebCore::IDBObjectStoreBackendImpl::putInternal): Move effective key calculation inline.
2282         * storage/IDBObjectStoreBackendImpl.h: Removed selectKeyForPut method.
2283
2284 2012-01-31  Anders Carlsson  <andersca@apple.com>
2285
2286         Inform the tile cache whenever the visible rect changes
2287         https://bugs.webkit.org/show_bug.cgi?id=77470
2288
2289         Reviewed by Andreas Kling.
2290
2291         * platform/graphics/GraphicsLayer.h:
2292         (WebCore::GraphicsLayer::visibleRectChanged):
2293         Add empty function.
2294
2295         * platform/graphics/ca/GraphicsLayerCA.cpp:
2296         (WebCore::GraphicsLayerCA::visibleRectChanged):
2297         Call through to the PlatformCALayer.
2298
2299         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2300         (PlatformCALayer::visibleRectChanged):
2301         Call through to the underlying WebTileCacheLayer.
2302
2303         * platform/graphics/ca/mac/TileCache.mm:
2304         (WebCore::TileCache::visibleRectChanged):
2305         Add empty stub.
2306
2307         (WebCore::TileCache::visibleRect):
2308         Add new (currently unused) helper function that returns the visible rect of the
2309         tile cache layer.
2310
2311         * platform/graphics/ca/mac/WebTileCacheLayer.h:
2312         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
2313         (-[WebTileCacheLayer visibleRectChanged]):
2314         Call through to the TielCache object.
2315
2316         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2317         (PlatformCALayer::visibleRectChanged):
2318         Add stub.
2319
2320         * rendering/RenderLayerCompositor.cpp:
2321         (WebCore::RenderLayerCompositor::frameViewDidScroll):
2322         Call GraphicsLayer::visibleRectChanged.
2323
2324 2012-01-31  Antti Koivisto  <antti@apple.com>
2325
2326         Remove CSSStyleDeclaration isElementStyleDeclaration bit
2327         https://bugs.webkit.org/show_bug.cgi?id=77460
2328
2329         Reviewed by Andreas Kling.
2330
2331         Inline style declaration is now the only type of style declaration with element parent.
2332         We can remove the bit and the associated logic.
2333
2334         * bindings/js/JSDOMBinding.h:
2335         (WebCore::root):
2336         * css/CSSMutableStyleDeclaration.cpp:
2337         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2338         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
2339         * css/CSSMutableStyleDeclaration.h:
2340         (WebCore::CSSMutableStyleDeclaration::createInline):
2341         (CSSMutableStyleDeclaration):
2342         * css/CSSStyleDeclaration.cpp:
2343         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
2344         (WebCore):
2345         (WebCore::CSSStyleDeclaration::parentStyleSheet):
2346         * css/CSSStyleDeclaration.h:
2347         (WebCore::CSSStyleDeclaration::parentRule):
2348         (WebCore::CSSStyleDeclaration::clearParentRule):
2349         (WebCore::CSSStyleDeclaration::parentElement):
2350         (WebCore::CSSStyleDeclaration::clearParentElement):
2351         (CSSStyleDeclaration):
2352
2353 2012-01-31  Dana Jansens  <danakj@chromium.org>
2354
2355         [chromium] Compute occlusion during paint loop
2356         https://bugs.webkit.org/show_bug.cgi?id=76858
2357
2358         Reviewed by James Robinson.
2359
2360         New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp
2361
2362         * platform/graphics/FloatRect.cpp:
2363         (WebCore::enclosedIntRect):
2364         (WebCore):
2365         * platform/graphics/FloatRect.h:
2366         (WebCore):
2367         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2368         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2369         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2370         (Canvas2DLayerChromium):
2371         * platform/graphics/chromium/ContentLayerChromium.cpp:
2372         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2373         * platform/graphics/chromium/ContentLayerChromium.h:
2374         (ContentLayerChromium):
2375         * platform/graphics/chromium/ImageLayerChromium.cpp:
2376         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2377         * platform/graphics/chromium/ImageLayerChromium.h:
2378         (ImageLayerChromium):
2379         * platform/graphics/chromium/LayerChromium.cpp:
2380         (WebCore::LayerChromium::contentToScreenSpaceTransform):
2381         (WebCore):
2382         (WebCore::LayerChromium::addSelfToOccludedScreenSpace):
2383         (WebCore::LayerChromium::isPaintedAxisAlignedInScreen):
2384         * platform/graphics/chromium/LayerChromium.h:
2385         (WebCore):
2386         (WebCore::LayerChromium::paintContentsIfDirty):
2387         (LayerChromium):
2388         * platform/graphics/chromium/RenderSurfaceChromium.h:
2389         (RenderSurfaceChromium):
2390         * platform/graphics/chromium/TiledLayerChromium.cpp:
2391         (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
2392         * platform/graphics/chromium/TiledLayerChromium.h:
2393         (WebCore):
2394         ():
2395         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2396         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
2397         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
2398         (RenderSurfaceRegion):
2399         (WebCore):
2400         (WebCore::pushTargetRenderSurfaceRegion):
2401         (WebCore::popAndPushTargetRenderSurfaceRegion):
2402         (WebCore::CCLayerTreeHost::paintLayerContents):
2403         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2404         (WebCore):
2405         ():
2406         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2407
2408 2012-01-31  John Bates  <jbates@google.com>
2409
2410         [Chromium] Add chromium-style tracing support
2411         https://bugs.webkit.org/show_bug.cgi?id=76885
2412
2413         Reviewed by Darin Fisher.
2414
2415         This code enables WebKit trace events to pass through more data to the
2416         chromium platform tracing API and generally to use the full tracing
2417         API provided by chromium.
2418
2419         * bindings/v8/V8Proxy.cpp:
2420         (WebCore::V8Proxy::evaluate): Replace old tracing API.
2421         * page/Console.cpp:
2422         (WebCore::Console::time): Replace old tracing API.
2423         (WebCore::Console::timeEnd): Replace old tracing API.
2424         * platform/chromium/PlatformSupport.h:
2425         * platform/chromium/TraceEvent.h:
2426         (WebCore::TraceEvent::TraceID::TraceID):
2427         (WebCore::TraceEvent::TraceID::data):
2428         (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
2429         (WebCore::TraceEvent::TraceStringWithCopy::operator const char* ):
2430         (WebCore::TraceEvent::setTraceValue):
2431         (WebCore::TraceEvent::addTraceEvent):
2432         (WebCore::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
2433         (WebCore::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
2434         (WebCore::TraceEvent::TraceEndOnScopeClose::initialize):
2435         (WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
2436         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::TraceEndOnScopeCloseThreshold):
2437         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::~TraceEndOnScopeCloseThreshold):
2438         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::initialize):
2439         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::addEventIfEnabled):
2440
2441 2012-01-31  Ryosuke Niwa  <rniwa@webkit.org>
2442
2443         Crash in DeleteSelectionCommand::handleGeneralDelete when attempting to delete the start block
2444         https://bugs.webkit.org/show_bug.cgi?id=77077
2445
2446         Reviewed by Enrica Casucci.
2447
2448         The crash was caused by a missing null check after removing the position out of the start block.
2449         Fixed the bug by adding an early return.
2450
2451         Tests: editing/deleting/delete-start-block.html
2452                editing/selection/move-into-empty-root-inline-box.html
2453
2454         * editing/DeleteSelectionCommand.cpp:
2455         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2456
2457 2012-01-31  Rafael Brandao  <rafael.lobo@openbossa.org>
2458
2459         HTMLIsIndexElement should not expose HTMLInputElement properties
2460         https://bugs.webkit.org/show_bug.cgi?id=76095
2461
2462         Reviewed by Eric Seidel.
2463
2464         This is a buildfix for r106373.
2465
2466         * DerivedSources.pri: Removed reference to HTMLIsIndexElement.idl
2467
2468 2012-01-31  Yongsheng Zhu  <yongsheng.zhu@intel.com>
2469
2470         WebGL must allocate smaller drawing buffer when the allocation fails. 
2471         https://bugs.webkit.org/show_bug.cgi?id=76654
2472
2473         Reviewed by Kenneth Russell.
2474
2475         Test: fast/canvas/webgl/drawingbuffer-test.html
2476
2477         * platform/graphics/gpu/DrawingBuffer.cpp:
2478         (WebCore):
2479         (WebCore::DrawingBuffer::create):
2480         (WebCore::DrawingBuffer::reset):
2481
2482 2012-01-25  Eric Seidel  <eric@webkit.org>
2483
2484         HTMLIsIndexElement should not expose HTMLInputElement properties
2485         https://bugs.webkit.org/show_bug.cgi?id=76095
2486
2487         Reviewed by Adam Barth.
2488
2489         document.createElement("isindex") should produce an HTMLUnknownElement
2490         per the HTML5 spec.  The parser automagically translates <isindex> into
2491         a whole dom tree roughly representing what <isindex> used to do 15 years ago. :)
2492
2493         This patch just removes our support for HTMLIsIndexElement.  The parser
2494         support was already in.  Having support for HTMLIsIndexElement was causing
2495         one of the IE TestCenter tests to fail.
2496
2497         Test: fast/dom/HTMLIsIndexElement/prototype-chain.html
2498
2499         * DerivedSources.cpp:
2500         * DerivedSources.make:
2501         * DerivedSources.pri:
2502         * GNUmakefile.list.am:
2503         * Target.pri:
2504         * WebCore.exp.in:
2505         * WebCore.gypi:
2506         * WebCore.order:
2507         * WebCore.vcproj/WebCore.vcproj:
2508         * WebCore.xcodeproj/project.pbxproj:
2509         * bindings/gobject/GNUmakefile.am:
2510         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
2511         (WebKit::createHTMLElementWrapper):
2512         * bindings/objc/DOM.mm:
2513         (WebCore::createElementClassMap):
2514         * bindings/objc/DOMHTML.h:
2515         * bindings/objc/PublicDOMInterfaces.h:
2516         * html/HTMLElementsAllInOne.cpp:
2517         * html/HTMLIsIndexElement.cpp: Removed.
2518         * html/HTMLIsIndexElement.h: Removed.
2519         * html/HTMLIsIndexElement.idl: Removed.
2520         * html/HTMLTagNames.in:
2521         * page/DOMWindow.idl:
2522
2523 2012-01-31  Alexis Menard  <alexis.menard@openbossa.org>
2524
2525         Unreviewed include cleanup.
2526
2527         Tested locally on Qt and Chromium port.
2528
2529         * dom/Node.cpp:
2530
2531 2012-01-31  Arko Saha  <arko@motorola.com>
2532
2533         The spec renamed addTrack() to addTextTrack().
2534         https://bugs.webkit.org/show_bug.cgi?id=77381
2535
2536         Reviewed by Eric Carlson.
2537
2538         Renamed addTrack() to addTextTrack().
2539         Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#media-elements
2540
2541         * html/HTMLMediaElement.cpp:
2542         (WebCore::HTMLMediaElement::addTextTrack):
2543         * html/HTMLMediaElement.h:
2544         (WebCore::HTMLMediaElement::addTextTrack):
2545         * html/HTMLMediaElement.idl:
2546
2547 2012-01-31  Peter Rybin  <peter.rybin@gmail.com>
2548
2549         Web Inspector: CodeGeneratorInspector.py: reimplement generated array types
2550         https://bugs.webkit.org/show_bug.cgi?id=77289
2551
2552         Reviewed by Vsevolod Vlasov.
2553
2554         Arrays are now rendered as a single template class. Its type-specific
2555         details are provided by an additional ArrayItemHelper class that is
2556         defined using C++ specialization technique.
2557
2558         * inspector/CodeGeneratorInspector.py:
2559         (RawTypes.String):
2560         (RawTypes.String.get_array_item_raw_c_type_text):
2561         (RawTypes.Int):
2562         (RawTypes.Int.get_array_item_raw_c_type_text):
2563         (RawTypes.Number):
2564         (RawTypes.Number.get_array_item_raw_c_type_text):
2565         (RawTypes.Bool):
2566         (RawTypes.Bool.get_array_item_raw_c_type_text):
2567         (RawTypes.Object):
2568         (RawTypes.Object.get_array_item_raw_c_type_text):
2569         (RawTypes.Any):
2570         (RawTypes.Any.get_array_item_raw_c_type_text):
2571         (RawTypes.Array):
2572         (RawTypes.Array.get_array_item_raw_c_type_text):
2573         (RawTypes):
2574         (TypeBindings.create_type_declaration_.EnumBinding):
2575         (TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
2576         (TypeBindings.create_type_declaration_.PlainString):
2577         (TypeBindings.create_type_declaration_.PlainString.get_array_item_c_type_text):
2578         (TypeBindings.create_type_declaration_.TypedefString):
2579         (TypeBindings.create_type_declaration_.TypedefString.get_array_item_c_type_text):
2580         (StructItemTraits):
2581         (get_array_item_c_type_text):
2582         (PlainObjectBinding):
2583         (PlainObjectBinding.get_array_item_c_type_text):
2584         (AdHocTypeContext):
2585         (AdHocTypeContext.get_type_name_fix):
2586         (AdHocTypeContext.add_type):
2587         (ArrayBinding):
2588         (ArrayBinding.resolve_inner):
2589         (ArrayBinding.resolve_inner.ResolveData):
2590         (ArrayBinding.request_user_runtime_cast):
2591         (ArrayBinding.request_internal_runtime_cast):
2592         (ArrayBinding.get_code_generator):
2593         (ArrayBinding.get_code_generator.CodeGenerator):
2594         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
2595         (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
2596         (ArrayBinding.get_code_generator.CodeGenerator.register_use):
2597         (ArrayBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
2598         (ArrayBinding.get_validator_call_text):
2599         (ArrayBinding.get_in_c_type_text):
2600         (ArrayBinding.get_array_item_c_type_text):
2601         (ArrayBinding.get_setter_value_expression_pattern):
2602         (ArrayBinding.reduce_to_raw_type):
2603         (RawTypeBinding.get_array_item_c_type_text):
2604         (ArrayItemHelper):
2605         (typename):
2606         (ArrayOf):
2607         (Traits):
2608
2609 2012-01-31  Antti Koivisto  <antti@apple.com>
2610
2611         Parent SVGFontFaceElements style declaration to the rule
2612         https://bugs.webkit.org/show_bug.cgi?id=77421
2613
2614         Reviewed by Adam Roben.
2615
2616         For some reason the declaration is parented to the element which adds a bunch of unnecessary special case code.
2617         The invalidation on mutation is done explicitly by SVGFontFaceElement so that is not affected. The declaration
2618         is not exposed so the change is not observable with a test.
2619
2620         * css/CSSFontFaceRule.cpp:
2621         (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
2622         * css/CSSMutableStyleDeclaration.h:
2623         (WebCore::CSSMutableStyleDeclaration::createInline):
2624         * svg/SVGFontFaceElement.cpp:
2625         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
2626         (WebCore::SVGFontFaceElement::parseMappedAttribute):
2627         (WebCore::SVGFontFaceElement::fontFamily):
2628         (WebCore::SVGFontFaceElement::rebuildFontFace):
2629         * svg/SVGFontFaceElement.h:
2630         
2631             Remove the unnecessary m_styleDeclaration field, access through m_fontFaceRule instead.
2632
2633 2012-01-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2634
2635         Tap highlighting: Support better outlines for multiline inlines
2636         https://bugs.webkit.org/show_bug.cgi?id=77428
2637
2638         Reviewed by Simon Hausmann.
2639
2640         Covered by manual tests.
2641
2642         Do not use the linesBoundingBox anymore but draw a custom path
2643         with rounded corners. Inlines are drawn as max 3 rects, first
2644         line rect, joined middle rect and the rect for the last line.
2645
2646         * page/GestureTapHighlighter.cpp:
2647         * platform/graphics/Path.h: Make addBeziersForRoundedRect public.
2648
2649 2012-01-31  Alexei Filippov  <alexeif@chromium.org>
2650
2651         Web Inspector: show sizes in bytes instead of KB, MB in heap profiler.
2652         https://bugs.webkit.org/show_bug.cgi?id=77199
2653
2654         Reviewed by Pavel Feldman.
2655
2656         * inspector/front-end/DetailedHeapshotGridNodes.js:
2657         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2658         (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
2659         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
2660         (WebInspector.HeapSnapshotDiffNode.prototype.get data):
2661         * inspector/front-end/UIUtils.js:
2662         (Number.withThousandsSeparator):
2663
2664 2012-01-26  Hans Wennborg  <hans@chromium.org>
2665
2666         Speech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
2667         https://bugs.webkit.org/show_bug.cgi?id=77083
2668
2669         Reviewed by Darin Fisher.
2670
2671         Remove SpeechInputClientMock. The mock is moving to the DumpRenderTree
2672         implementation.
2673
2674         No new tests, just refactoring.
2675
2676         * GNUmakefile.list.am:
2677         * Target.pri:
2678         * WebCore.gypi:
2679         * WebCore.vcproj/WebCore.vcproj:
2680         * WebCore.xcodeproj/project.pbxproj:
2681         * platform/mock/SpeechInputClientMock.cpp: Removed.
2682         * platform/mock/SpeechInputClientMock.h: Removed.
2683
2684 2012-01-31  Pavel Feldman  <pfeldman@google.com>
2685
2686         Web Inspector: boost protocol version to 1.0
2687         https://bugs.webkit.org/show_bug.cgi?id=77408
2688
2689         Reviewed by Yury Semikhatsky.
2690
2691         * inspector/Inspector-1.0.json: Copied from Source/WebCore/inspector/Inspector.json.
2692         * inspector/Inspector.json:
2693
2694 2012-01-31  Roland Steiner  <rolandsteiner@chromium.org>
2695
2696         <style scoped>: Improve shortcut code for cases where <style scoped> isn't used
2697         https://bugs.webkit.org/show_bug.cgi?id=77410
2698
2699         Move shortcut from setupScopingElementStack(), do it at the calling sites instead
2700         (where a larger chunk of work can be skipped).
2701
2702         Reviewed by Antti Koivisto.
2703
2704         No new tests. (refactoring)
2705
2706         * css/CSSStyleSelector.cpp:
2707         (WebCore::CSSStyleSelector::setupScopingElementStack): remove shortcut code
2708         (WebCore::CSSStyleSelector::pushParent): add shortcut code
2709         (WebCore::CSSStyleSelector::matchScopedAuthorRules): factor matching scoped rules out from matchAuthorRules
2710         (WebCore::CSSStyleSelector::matchAuthorRules): add shortcut code
2711         * css/CSSStyleSelector.h:
2712         (CSSStyleSelector): add matchScopedAuthorRules
2713
2714 2012-01-31  Pavel Feldman  <pfeldman@google.com>
2715
2716         Web Inspector: DOMDebugger.setEventListenerBreakpoint should accept regular DOM event names.
2717         https://bugs.webkit.org/show_bug.cgi?id=77409
2718
2719         Reviewed by Yury Semikhatsky.
2720
2721         * inspector/Inspector.json:
2722         * inspector/InspectorDOMDebuggerAgent.cpp:
2723         (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
2724         (WebCore):
2725         (WebCore::InspectorDOMDebuggerAgent::setInstrumentationBreakpoint):
2726         (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
2727         (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
2728         (WebCore::InspectorDOMDebuggerAgent::removeInstrumentationBreakpoint):
2729         (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
2730         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
2731         * inspector/InspectorDOMDebuggerAgent.h:
2732         (InspectorDOMDebuggerAgent):
2733         * inspector/InspectorInstrumentation.cpp:
2734         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
2735         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
2736         (WebCore::InspectorInstrumentation::willHandleEventImpl):
2737         (WebCore::InspectorInstrumentation::willFireTimerImpl):
2738         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
2739         * inspector/InspectorInstrumentation.h:
2740         (InspectorInstrumentation):
2741         * inspector/front-end/BreakpointsSidebarPane.js:
2742         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
2743         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
2744
2745 2012-01-31  Pablo Flouret  <pablof@motorola.com>
2746
2747         Fix compilation errors on build-webkit --debug --no-workers on mac.
2748         https://bugs.webkit.org/show_bug.cgi?id=75869
2749
2750         Reviewed by Adam Barth.
2751
2752         * WebCore.exp.in:
2753
2754 2012-01-30  Konrad Piascik  <kpiascik@rim.com>
2755
2756         Web Inspector: [BlackBerry] Add BlackBerry UA Strings to the Inspector's UA switcher
2757         https://bugs.webkit.org/show_bug.cgi?id=77343
2758
2759         Reviewed by Yury Semikhatsky.
2760
2761         * inspector/front-end/SettingsScreen.js:
2762         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
2763
2764 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
2765
2766         Web Inspector: should be possible to step through all event listeners when event listener breakpoint is hit
2767         https://bugs.webkit.org/show_bug.cgi?id=77331
2768
2769         Inspector instrumentation is called before and after each event handler invokation.
2770         In case inspector front-end is closed it is no-op, otherwise it may stop execution
2771         on an event listener breakpoint.
2772
2773         Reviewed by Pavel Feldman.
2774
2775         Test: inspector/debugger/step-through-event-listeners.html
2776
2777         * dom/EventTarget.cpp:
2778         (WebCore::EventTarget::fireEventListeners):
2779         * inspector/InspectorInstrumentation.cpp:
2780         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
2781         (WebCore::InspectorInstrumentation::willHandleEventImpl):
2782         (WebCore):
2783         (WebCore::InspectorInstrumentation::didHandleEventImpl):
2784         (WebCore::InspectorInstrumentation::didDispatchEventImpl):
2785         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
2786         (WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
2787         * inspector/InspectorInstrumentation.h:
2788         (InspectorInstrumentation):
2789         (WebCore::InspectorInstrumentation::willHandleEvent):
2790         (WebCore):
2791         (WebCore::InspectorInstrumentation::didHandleEvent):
2792
2793 2011-01-30  Hayato Ito  <hayato@chromium.org>
2794
2795         Attach light children after removing a shadow root.
2796         https://bugs.webkit.org/show_bug.cgi?id=74267
2797
2798         Reviewed by Ryosuke Niwa.
2799
2800         Tests: fast/dom/shadow/dynamically-created-shadow-root-expected.html
2801                fast/dom/shadow/dynamically-created-shadow-root.html:
2802
2803         * dom/Element.cpp:
2804         (WebCore::Element::removeShadowRoot):
2805
2806 2012-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2807
2808         Unreviewed, rolling out r106324.
2809         http://trac.webkit.org/changeset/106324
2810         https://bugs.webkit.org/show_bug.cgi?id=77406
2811
2812         Broke CCLayerTreeHostTestLayerOcclusion.runMultiThread and
2813         runSingleThread (Requested by yuzo1 on #webkit).
2814
2815         * platform/graphics/FloatRect.cpp:
2816         * platform/graphics/FloatRect.h:
2817         (WebCore):
2818         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2819         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2820         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2821         (WebCore):
2822         (Canvas2DLayerChromium):
2823         * platform/graphics/chromium/ContentLayerChromium.cpp:
2824         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2825         * platform/graphics/chromium/ContentLayerChromium.h:
2826         (WebCore):
2827         (ContentLayerChromium):
2828         * platform/graphics/chromium/ImageLayerChromium.cpp:
2829         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2830         * platform/graphics/chromium/ImageLayerChromium.h:
2831         (WebCore):
2832         (ImageLayerChromium):
2833         * platform/graphics/chromium/LayerChromium.cpp:
2834         * platform/graphics/chromium/LayerChromium.h:
2835         (WebCore):
2836         (WebCore::LayerChromium::paintContentsIfDirty):
2837         (LayerChromium):
2838         * platform/graphics/chromium/RenderSurfaceChromium.h:
2839         * platform/graphics/chromium/TiledLayerChromium.cpp:
2840         * platform/graphics/chromium/TiledLayerChromium.h:
2841         (WebCore):
2842         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2843         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
2844         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
2845         (WebCore::CCLayerTreeHost::paintLayerContents):
2846         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2847         (WebCore):
2848         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2849         (WebCore::enclosedIntRect):
2850         (WebCore):
2851
2852 2012-01-30  Raymond Liu  <raymond.liu@intel.com>
2853
2854         Fix ASSERT fail within AudioBus::processWithGainFrom()
2855         https://bugs.webkit.org/show_bug.cgi?id=76685
2856
2857         Reviewed by Daniel Bates.
2858
2859         Test: webaudio/audionode-connect-order.html
2860
2861         * webaudio/AudioBasicProcessorNode.cpp:
2862         (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
2863
2864 2012-01-30  Roland Steiner  <rolandsteiner@chromium.org>
2865
2866         <style scoped>: Implement scoped stylesheets and basic application
2867         https://bugs.webkit.org/show_bug.cgi?id=73190
2868
2869         Implementing support for <style scoped>:
2870         Add a vector stack to CSSStyleSelector that keeps track of encountered scoping elements. This is
2871         used for O(1) access to all relevant style sheets for a given element.
2872         Adapt matching of author style sheets to also consult appropriate scoped sheets.
2873         Finally, prevent style sharing from crossing into/out of scoped style boundaries.
2874
2875         Reviewed by Antti Koivisto.
2876
2877         Tests: fast/css/style-scoped/style-scoped-attach.html
2878                fast/css/style-scoped/style-scoped-basic.html
2879                fast/css/style-scoped/style-scoped-detach.html
2880                fast/css/style-scoped/style-scoped-remove-scoped.html
2881                fast/css/style-scoped/style-scoped-set-scoped.html
2882
2883         * css/CSSStyleSelector.cpp:
2884         (RuleSet):
2885         (WebCore::CSSStyleSelector::CSSStyleSelector): add code for scoped style sheets
2886         (WebCore::CSSStyleSelector::collectFeatures): ditto
2887         (WebCore):
2888         (WebCore::CSSStyleSelector::determineScopingElement): determine whether an author sheet is scoped (and to which scope), or global
2889         (WebCore::CSSStyleSelector::scopedRuleSetForElement): returns the RuleSet for the <style scoped> contained by the passed-in element (if any), or 0
2890         (WebCore::CSSStyleSelector::appendAuthorStylesheets): add code for scoped style sheets
2891         (WebCore::CSSStyleSelector::setupScopingElementStack): determine scoping element ancestors of the given element
2892         (WebCore::CSSStyleSelector::pushParent): simplify and refactor SelectorChecker::pushParent, as code in CSStyleSelector needs partial access
2893         (WebCore::CSSStyleSelector::popParent): ditto
2894         (WebCore::CSSStyleSelector::sortAndTransferMatchedRules): helper function
2895         (WebCore::CSSStyleSelector::matchAuthorRules): use AuthorRuleSetIterator to iterate over all relevant RuleSets
2896         (WebCore::CSSStyleSelector::matchRules): adapt for scoped style rules
2897         (WebCore::CSSStyleSelector::matchAllRules): ditto
2898         (WebCore::CSSStyleSelector::locateCousinList): prevent style sharing across scope boundaries
2899         (WebCore::CSSStyleSelector::canShareStyleWithElement): ditto
2900         (WebCore::CSSStyleSelector::locateSharedStyle): ditto
2901         (WebCore::CSSStyleSelector::pseudoStyleForElement): changed call to matchAuthorRules
2902         (WebCore::CSSStyleSelector::styleForPage): add comment
2903         (WebCore::CSSStyleSelector::checkRegionStyle): add global scope parameter
2904         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): changed call to matchAuthorRules
2905         (WebCore::RuleSet::addRulesFromSheet): adapt for scoped style rules
2906         * css/CSSStyleSelector.h:
2907         (CSSStyleSelector):
2908         (WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame): struct holding an Element pointer and a RuleSet pointer, to be used in a Vector
2909         (WebCore::CSSStyleSelector::scopingElementStackIsConsistent): returns if the last seen parent matches the passed-in element
2910         * css/SelectorChecker.cpp:
2911         (WebCore::SelectorChecker::setupParentStack): set up the parent stack (refactoring)
2912         (WebCore::SelectorChecker::pushParent): simplify and refactor
2913         * css/SelectorChecker.h:
2914         (WebCore::SelectorChecker::popParent): ditto
2915         (WebCore::SelectorChecker::parentStackIsEmpty): ditto
2916         (WebCore::SelectorChecker::parentStackIsConsistent): make parameter const
2917
2918 2012-01-30  Dana Jansens  <danakj@chromium.org>
2919
2920         [chromium] Compute occlusion during paint loop
2921         https://bugs.webkit.org/show_bug.cgi?id=76858
2922
2923         Reviewed by James Robinson.
2924
2925         New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp
2926
2927         * platform/graphics/FloatRect.cpp:
2928         (WebCore::enclosedIntRect):
2929         (WebCore):
2930         * platform/graphics/FloatRect.h:
2931         (WebCore):
2932         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2933         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2934         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2935         (Canvas2DLayerChromium):
2936         * platform/graphics/chromium/ContentLayerChromium.cpp:
2937         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2938         * platform/graphics/chromium/ContentLayerChromium.h:
2939         (ContentLayerChromium):
2940         * platform/graphics/chromium/ImageLayerChromium.cpp:
2941         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2942         * platform/graphics/chromium/ImageLayerChromium.h:
2943         (ImageLayerChromium):
2944         * platform/graphics/chromium/LayerChromium.cpp:
2945         (WebCore::LayerChromium::contentToScreenSpaceTransform):
2946         (WebCore):
2947         (WebCore::LayerChromium::addSelfToOccludedScreenSpace):
2948         (WebCore::LayerChromium::isPaintedAxisAlignedInScreen):
2949         * platform/graphics/chromium/LayerChromium.h:
2950         (WebCore):
2951         (WebCore::LayerChromium::paintContentsIfDirty):
2952         (LayerChromium):
2953         * platform/graphics/chromium/RenderSurfaceChromium.h:
2954         (RenderSurfaceChromium):
2955         * platform/graphics/chromium/TiledLayerChromium.cpp:
2956         (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
2957         * platform/graphics/chromium/TiledLayerChromium.h:
2958         (WebCore):
2959         ():
2960         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2961         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
2962         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
2963         (RenderSurfaceRegion):
2964         (WebCore):
2965         (WebCore::pushTargetRenderSurfaceRegion):
2966         (WebCore::popAndPushTargetRenderSurfaceRegion):
2967         (WebCore::CCLayerTreeHost::paintLayerContents):
2968         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2969         (WebCore):
2970         ():
2971         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2972
2973 2012-01-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2974
2975         Add ElementAttributeData class to replace internal uses of NamedNodeMap
2976         https://bugs.webkit.org/show_bug.cgi?id=77233
2977
2978         Reviewed by Andreas Kling.
2979
2980         Move part of non-DOM functionality of NamedNodeMap into a separate class. This is
2981         the first step toward the goal of separating NamedNodeMap from internal attribute
2982         storage, as described in https://bugs.webkit.org/show_bug.cgi?id=75069.
2983
2984         The internal attribute storage is exposed as attributeData() in Element, and when
2985         necessary (because it has no back pointer to Element) via methods in Element.
2986
2987         No new tests. Except from setClass() change this is just moving the code, no new
2988         feature was added.
2989
2990         * CMakeLists.txt:
2991         * GNUmakefile.list.am:
2992         * Target.pri:
2993         * WebCore.gypi:
2994         * WebCore.xcodeproj/project.pbxproj:
2995         * dom/DOMAllInOne.cpp:
2996         * dom/Element.cpp:
2997         (WebCore::Element::idAttributeChanged):
2998         * dom/Element.h:
2999         (WebCore::Element::attributeData):
3000         (WebCore::Element::ensureAttributeData):
3001         (Element):
3002         (WebCore::Element::idForStyleResolution):
3003         * dom/ElementAttributeData.cpp: Added.
3004         (WebCore):
3005         (WebCore::ElementAttributeData::setClass): the only caller of this function
3006         already deal with the case when the element has no class, so don't do it here.
3007         * dom/ElementAttributeData.h: Added.
3008         (WebCore):
3009         (ElementAttributeData):
3010         (WebCore::ElementAttributeData::clearClass):
3011         (WebCore::ElementAttributeData::classNames):
3012         (WebCore::ElementAttributeData::idForStyleResolution):
3013         (WebCore::ElementAttributeData::setIdForStyleResolution):
3014         (WebCore::ElementAttributeData::ElementAttributeData):
3015         * dom/NamedNodeMap.cpp:
3016         (WebCore::NamedNodeMap::clearAttributes):
3017         * dom/NamedNodeMap.h:
3018         (WebCore::NamedNodeMap::attributeData):
3019         (NamedNodeMap):
3020         * dom/StyledElement.cpp:
3021         (WebCore::StyledElement::classAttributeChanged):
3022         * dom/StyledElement.h:
3023         (WebCore::StyledElement::classNames):
3024         * html/ClassList.cpp:
3025         (WebCore::ClassList::classNames):
3026
3027 2012-01-30  Gregg Tavares  <gman@chromium.org>
3028
3029         Add Plumming to get graphics error messages to JS Console
3030         https://bugs.webkit.org/show_bug.cgi?id=77238
3031
3032         Reviewed by Kenneth Russell.
3033
3034         No new tests. No change in behavior.
3035
3036         * html/canvas/WebGLRenderingContext.cpp:
3037         (WebGLRenderingContextErrorMessageCallback):
3038         (WebCore::WebGLRenderingContextErrorMessageCallback::WebGLRenderingContextErrorMessageCallback):
3039         (WebCore::WebGLRenderingContextErrorMessageCallback::onErrorMessage):
3040         (WebCore::WebGLRenderingContextErrorMessageCallback::~WebGLRenderingContextErrorMessageCallback):
3041         (WebCore):
3042         (WebCore::WebGLRenderingContext::create):
3043         (WebCore::WebGLRenderingContext::initializeNewContext):
3044         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
3045         * html/canvas/WebGLRenderingContext.h:
3046         (WebGLRenderingContext):
3047         * platform/graphics/GraphicsContext3D.h:
3048         (ErrorMessageCallback):
3049         (WebCore::GraphicsContext3D::ErrorMessageCallback::~ErrorMessageCallback):
3050         (GraphicsContext3D):
3051         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
3052         (WebCore::GraphicsContext3D::setErrorMessageCallback):
3053         (WebCore):
3054         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
3055         (WebCore::GraphicsContext3D::setErrorMessageCallback):
3056         (WebCore):
3057         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3058         (WebCore::GraphicsContext3D::setErrorMessageCallback):
3059         (WebCore):
3060
3061 2012-01-30  Anders Carlsson  <andersca@apple.com>
3062
3063         Simplify RenderLayerCompositor::frameViewDidScroll
3064         https://bugs.webkit.org/show_bug.cgi?id=77398
3065
3066         Reviewed by Sam Weinig.
3067
3068         Remove the scrollPosition parameter from RenderLayerCompositor::frameViewDidScroll; we can just get it
3069         from the associated FrameView object.
3070
3071         * page/FrameView.cpp:
3072         (WebCore::FrameView::scrollPositionChanged):
3073         * rendering/RenderLayerCompositor.cpp:
3074         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
3075         Call frameViewDidScroll() here instead of setting the scroll layer position explicitly.
3076
3077         (WebCore::RenderLayerCompositor::frameViewDidScroll):
3078         (WebCore::RenderLayerCompositor::ensureRootLayer):
3079         * rendering/RenderLayerCompositor.h:
3080         (RenderLayerCompositor):
3081
3082 2012-01-30  Pablo Flouret  <pablof@motorola.com>
3083
3084         Don't select the next selectable index when deselecting an option in select elements with size set to a value greater than one.
3085         https://bugs.webkit.org/show_bug.cgi?id=76389
3086
3087         Reviewed by Kent Tamura.
3088
3089         This behavior matches the rest of the browsers.
3090
3091         Test: fast/forms/select/option-selecting.html
3092
3093         * html/HTMLSelectElement.cpp:
3094         (WebCore::HTMLSelectElement::optionSelectionStateChanged):
3095
3096 2012-01-30  Anders Carlsson  <andersca@apple.com>
3097
3098         Scrollbars don't show when scrolling on the scrolling thread
3099         https://bugs.webkit.org/show_bug.cgi?id=77396
3100         <rdar://problem/10710736>
3101
3102         Reviewed by Sam Weinig.
3103
3104         Use ScrollAnimator::scrollToOffsetWithoutAnimation when updating the frame view scroll offset,
3105         since that function will end up invalidating the scrollbars correctly.
3106
3107         * page/ScrollingCoordinator.cpp:
3108         (WebCore::ScrollingCoordinator::didUpdateMainFrameScrollPosition):
3109
3110 2012-01-30  Anders Carlsson  <andersca@apple.com>
3111
3112         Show repaint counters in individual tiles
3113         https://bugs.webkit.org/show_bug.cgi?id=77390
3114         <rdar://problem/10767967>
3115
3116         Reviewed by Darin Adler.
3117
3118         * platform/graphics/ca/mac/TileCache.h:
3119         * platform/graphics/ca/mac/TileCache.mm:
3120         (WebCore::TileCache::setNeedsDisplayInRect):
3121         Make sure to invalidate the repaint counter rect if necessary.
3122
3123         (WebCore::TileCache::drawLayer):
3124         Draw the repaint counter.
3125
3126         (WebCore::TileCache::showRepaintCounter):
3127         New function that determines whether we should show repaint counters for the given tile cache.
3128
3129         * platform/graphics/ca/mac/WebTileLayer.h:
3130         * platform/graphics/ca/mac/WebTileLayer.mm:
3131         (-[WebTileLayer incrementRepaintCount]):
3132         Add method for getting the repaint count.
3133
3134 2012-01-30  Dan Bernstein  <mitz@apple.com>
3135
3136         <rdar://problem/10778045> REGRESSION (r91935): text-combine fails
3137         https://bugs.webkit.org/show_bug.cgi?id=77373
3138
3139         Reviewed by Darin Adler.
3140
3141         Removed tests that were failing because of this bug from the Lion skipped
3142         list.
3143
3144         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
3145         (WebCore::GlyphPage::fill): Changed to use CTFontGetGlyphsForCharacters,
3146         rather than wkGetVerticalGlyphsForCharacters, for non-fullwidth fonts.
3147
3148 2012-01-30  Christopher Hutten-Czapski  <chutten@rim.com>
3149
3150         BlackBerry - Support Proxy-Authenticate headers when a proxy is configured
3151         https://bugs.webkit.org/show_bug.cgi?id=77361
3152
3153         Though we have a proxy configured, we might not have the auth
3154         credentials it requires. Support Proxy-Authenticate for that case.
3155
3156         Reviewed by George Staikos.
3157
3158         * platform/network/blackberry/NetworkJob.cpp:
3159         (WebCore::NetworkJob::handleNotifyHeaderReceived):
3160         (WebCore::NetworkJob::handleAuthHeader):
3161         (WebCore::NetworkJob::sendRequestWithCredentials):
3162         * platform/network/blackberry/NetworkJob.h:
3163         * platform/network/blackberry/NetworkManager.cpp:
3164         (WebCore::NetworkManager::startJob):
3165
3166 2012-01-27  James Robinson  <jamesr@chromium.org>
3167
3168         [chromium] Remove unnecessary retry logic in LayerRendererChromium initialization for accelerated painting
3169         https://bugs.webkit.org/show_bug.cgi?id=77247
3170
3171         Reviewed by Kenneth Russell.
3172
3173         The accelerate painting setting is done differently from other capability-dependent settings for no good reason,
3174         requiring that we retry initialization with different settings. For all other settings we set the capabilities
3175         bit to true if the setting is requested and if the required capabilities exist on the underlying context.
3176
3177         * platform/graphics/chromium/LayerRendererChromium.cpp:
3178         (WebCore::LayerRendererChromium::create):
3179         (WebCore::LayerRendererChromium::initialize):
3180         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3181         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
3182
3183 2012-01-30  Brady Eidson  <beidson@apple.com>
3184
3185         <rdar://problem/10707072>
3186         Crashes in WebProcess at WebCore::Node::rendererIsNeeded
3187
3188         Reviewed by Darin Adler.
3189
3190         In specific circumstances a plugin element can be without a render style at the point in time where
3191         the page navigated and enters the page cache.
3192
3193         When this is the cash, the element should not enter into the "custom style for renderer" mode and should
3194         instead use the default render style machinery.
3195
3196         Test: plugins/crash-restoring-pluging-page-from-page-cache.html
3197
3198         * html/HTMLPlugInImageElement.cpp:
3199         (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache): Only setHasCustomStyleForRenderer and 
3200           forceRecalc if there actually is a custom style to be used.
3201         (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache): Only clearHasCustomStyleForRenderer if there
3202           actually was a custom style to be cleared.
3203         (WebCore::HTMLPlugInImageElement::customStyleForRenderer): This should only be called if there actually is a 
3204           custom style to be used. Otherwise the element would have to fallback to the "normal" RenderStyle which might
3205           not exist.
3206
3207 2012-01-30  Anders Carlsson  <andersca@apple.com>
3208
3209         Show debug borders for individual tile cache tiles
3210         https://bugs.webkit.org/show_bug.cgi?id=77388
3211
3212         Reviewed by Sam Weinig.
3213
3214         * platform/graphics/GraphicsLayer.cpp:
3215         (WebCore::GraphicsLayer::updateDebugIndicators):
3216         Give tile cache tiles a thin dark blue border.
3217
3218         * platform/graphics/ca/mac/TileCache.h:
3219         (WebCore::TileCache::tileDebugBorderWidth):
3220         (WebCore::TileCache::tileDebugBorderColor):
3221         Add getters and member variables for the tile debug border width and color.
3222
3223         * platform/graphics/ca/mac/TileCache.mm:
3224         (WebCore::TileCache::TileCache):
3225         Initialize m_tileDebugBorderWidth.
3226
3227         (WebCore::TileCache::setTileDebugBorderWidth):
3228         Update the border width of each tile layer.
3229
3230         (WebCore::TileCache::setTileDebugBorderColor):
3231         Update the border color of each tile layer.
3232
3233         (WebCore::TileCache::createTileLayer):
3234         Set the border color and border width.
3235
3236         * platform/graphics/ca/mac/WebTileCacheLayer.h:
3237         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
3238         (-[WebTileCacheLayer borderColor]):
3239         (-[WebTileCacheLayer setBorderColor:]):
3240         (-[WebTileCacheLayer borderWidth]):
3241         (-[WebTileCacheLayer setBorderWidth:]):
3242         Call through to the TileCache.
3243
3244         * platform/graphics/mac/WebLayer.mm:
3245         (drawLayerContents):
3246         Don't draw the repaint counter for tile cache layers, each tile will maintain its own repaint counter.
3247
3248 2012-01-30  Rakesh KN  <rakesh.kn@motorola.com>
3249
3250         single-file input elements should refuse multi-file drags
3251         https://bugs.webkit.org/show_bug.cgi?id=25913
3252
3253         Reviewed by Eric Seidel.
3254
3255         Refuse the multiple file drags onto a single file input element.
3256
3257         No new tests: Covered by existing tests, updated the expected results.
3258
3259         * page/DragController.cpp:
3260         (WebCore::DragController::tryDocumentDrag):
3261         Setting the dragSession.numberOfItemsToBeAccepted to 0 so that drag operation is none if the
3262         file input element under mouse is single input type and number of files dragged onto that
3263         input element are more than 1.
3264
3265 2012-01-30  Dana Jansens  <danakj@chromium.org>
3266
3267         [chromium] Use region reported painted opaque for draw culling
3268         https://bugs.webkit.org/show_bug.cgi?id=76015
3269
3270         Reviewed by James Robinson.
3271
3272         New unit tests in CCTiledLayerImplTest.cpp, CCQuadCullerTest.cpp, CCLayerTreeHostImplTest.cpp
3273
3274         * platform/graphics/chromium/LayerChromium.cpp:
3275         (WebCore::LayerChromium::setOpaque):
3276         * platform/graphics/chromium/TiledLayerChromium.cpp:
3277         (UpdatableTile):
3278         (WebCore::TiledLayerChromium::pushPropertiesTo):
3279         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
3280         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
3281         (WebCore::CCDrawQuad::opaqueRect):
3282         (WebCore):
3283         * platform/graphics/chromium/cc/CCDrawQuad.h:
3284         (CCDrawQuad):
3285         (WebCore::CCDrawQuad::needsBlending):
3286         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
3287         (WebCore::CCQuadCuller::cullOccludedQuads):
3288         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
3289         (WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
3290         * platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
3291         (WebCore::CCTileDrawQuad::create):
3292         (WebCore::CCTileDrawQuad::CCTileDrawQuad):
3293         * platform/graphics/chromium/cc/CCTileDrawQuad.h:
3294         (CCTileDrawQuad):
3295         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3296         (DrawableTile):
3297         (WebCore::DrawableTile::opaqueRect):
3298         (WebCore::DrawableTile::setOpaqueRect):
3299         (WebCore::CCTiledLayerImpl::appendQuads):
3300         (WebCore::CCTiledLayerImpl::pushTileProperties):
3301         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
3302         (CCTiledLayerImpl):
3303
3304 2012-01-30  Ryosuke Niwa  <rniwa@webkit.org>
3305
3306         Crash in previousLinePosition when moving into a root inline box without leaves
3307         https://bugs.webkit.org/show_bug.cgi?id=76812
3308
3309         Reviewed by Enrica Casucci.
3310
3311         The crash was caused by us assuming that every root inline box has at least one leaf,
3312         which isn't true when we create inline boxes for an empty text run with margin, border, etc...
3313
3314         Test: editing/selection/move-into-empty-root-inline-box.html
3315
3316         * editing/visible_units.cpp:
3317         (WebCore::previousLinePosition):
3318         (WebCore::nextLinePosition):
3319
3320 2012-01-30  Levi Weintraub  <leviw@chromium.org>
3321
3322         !m_insideRegionPaint assertion in RenderRegion.cpp is invalid
3323         https://bugs.webkit.org/show_bug.cgi?id=77372
3324
3325         Reviewed by David Hyatt.
3326
3327         Removing the !m_insideRegionPaint assertion that's in three functions in
3328         RenderRegion. It's triggering in numerous layout tests and isn't valid.
3329
3330         No new tests as this just removes assertions.
3331
3332         * rendering/RenderRegion.cpp:
3333         (WebCore::RenderRegion::setRenderBoxRegionInfo):
3334         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
3335         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
3336
3337 2012-01-30  Adrienne Walker  <enne@google.com>
3338
3339         [chromium] Always pre-reserve scrollbar and scroll corner textures
3340         https://bugs.webkit.org/show_bug.cgi?id=77251
3341
3342         Reviewed by James Robinson.
3343
3344         Add a flag to LayerChromium that says that a layer's textures should
3345         always be reserved. Prior to painting layers, find all layers marked
3346         as such and reserve their textures. This will prevent texture memory
3347         limits from being hit before the root layer's scrollbars are reserved
3348         and painted.
3349
3350         * platform/graphics/chromium/LayerChromium.cpp:
3351         (WebCore::LayerChromium::LayerChromium):
3352         * platform/graphics/chromium/LayerChromium.h:
3353         (LayerChromium):
3354         (WebCore::LayerChromium::reserveTextures):
3355         (WebCore::LayerChromium::setAlwaysReserveTextures):
3356         (WebCore::LayerChromium::alwaysReserveTextures):
3357         * platform/graphics/chromium/TiledLayerChromium.cpp:
3358         (WebCore::TiledLayerChromium::reserveTextures):
3359         * platform/graphics/chromium/TiledLayerChromium.h:
3360         ():
3361         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3362         (WebCore::CCLayerTreeHost::updateLayers):
3363         (WebCore::CCLayerTreeHost::reserveTextures):
3364         (WebCore):
3365         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3366         ():
3367
3368 2012-01-30  Beth Dakin  <bdakin@apple.com>
3369
3370         Speculative 32-bit build-fix.
3371
3372         * WebCore.exp.in:
3373
3374 2012-01-30  Mihnea Ovidenie  <mihnea@adobe.com>
3375
3376         [CSSRegions]Add support for background-color in region styling
3377         https://bugs.webkit.org/show_bug.cgi?id=71488
3378
3379         Reviewed by David Hyatt.
3380
3381         Based on work by Alexandru Chiculita (achicu@adobe.com).
3382         Previous patches for region styling were touching RenderObject::style() method. After several attempts to avoid regressions
3383         (including caching of RenderObject::style() pointer in most used methods), we decided to attempt a different approach:
3384         Step1: before each region is repainted, we compute the style for each box that falls into the region
3385         Step2: before paint, we store the box original style
3386         Step3: paint the region contents using the style in region
3387         Step4: after paint is finished, we restore the box original style (and store the box style in region for future region paint)
3388
3389         Tests for region styling are also enabled with this patch.
3390
3391         * WebCore.exp.in:
3392         * rendering/RenderFlowThread.cpp:
3393         (WebCore::RenderFlowThread::clearRenderBoxCustomStyle):
3394         (WebCore::RenderFlowThread::setRegionRangeForBox):
3395         * rendering/RenderFlowThread.h:
3396         ():
3397         * rendering/RenderLayer.cpp:
3398         (WebCore::RenderLayer::paint):
3399         (WebCore::RenderLayer::hitTest):
3400         * rendering/RenderObject.cpp:
3401         * rendering/RenderObject.h:
3402         (WebCore::RenderObject::style):
3403         (RenderObject):
3404         * rendering/RenderObjectChildList.cpp:
3405         (WebCore::RenderObjectChildList::removeChildNode):
3406         * rendering/RenderRegion.cpp:
3407         (WebCore::RenderRegion::RenderRegion):
3408         (WebCore::RenderRegion::setRegionBoxesRegionStyle):
3409         (WebCore):
3410         (WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):
3411         (WebCore::RenderRegion::paintReplaced):
3412         (WebCore::RenderRegion::setRenderBoxRegionInfo):
3413         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
3414         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
3415         (WebCore::RenderRegion::renderBoxRegionStyle):
3416         (WebCore::RenderRegion::computeStyleInRegion):
3417         (WebCore::RenderRegion::clearBoxStyleInRegion):
3418         * rendering/RenderRegion.h:
3419         (RenderRegion):
3420         * rendering/RenderView.cpp:
3421         (WebCore::RenderView::RenderView):
3422         * rendering/RenderView.h:
3423         (WebCore):
3424         (RenderView):
3425
3426 2012-01-30  Jessie Berlin  <jberlin@apple.com>
3427
3428         WebCore build exceeds address space on 32-bit Windows builders (again).
3429         https://bugs.webkit.org/show_bug.cgi?id=77357
3430
3431         Reviewed by Adam Roben.
3432
3433         Add an Inspector All-In-One file, but only use it in Release and Production builds.
3434         This differs from our other All-In-One files, but it is a better approach because it makes
3435         debugging possible in the Debug configuration (the symbols will be in the correct .obj file
3436         for the original .cpp files).
3437
3438         * WebCore.vcproj/WebCore.vcproj:
3439         Also, let VS have its way with the vcproj file.
3440         * inspector/InspectorAllInOne.cpp: Added.
3441
3442 2012-01-28  Matthew Delaney  <mdelaney@apple.com>
3443
3444         Limit periodic flushing inside ImageBufferCG to just Lion
3445         https://bugs.webkit.org/show_bug.cgi?id=77353
3446         <rdar://problem/10328309>
3447
3448         Reviewed by Chris Marrin.
3449
3450         * platform/graphics/cg/ImageBufferCG.cpp:
3451         * platform/graphics/cg/ImageBufferDataCG.h:
3452
3453 2012-01-30  Tommy Widenflycht  <tommyw@google.com>
3454
3455         Memory leak caused by PeerConnection add a NULL media stream
3456         https://bugs.webkit.org/show_bug.cgi?id=76150
3457
3458         It was my missunderstanding that the IDL keyword [StrictTypeChecking] also protects against
3459         null or undefined arguments, it doesn't. Added checks for null pointers.
3460
3461         Reviewed by Adam Barth.
3462
3463         Test: fast/mediastream/peerconnection-addstream.html
3464
3465         * mediastream/PeerConnection.cpp:
3466         (WebCore::PeerConnection::addStream):
3467         (WebCore::PeerConnection::removeStream):
3468
3469 2012-01-26  Andy Estes  <aestes@apple.com>
3470
3471         [Windows] Optionally invert colors when drawing to a WebView's backing store.
3472         https://bugs.webkit.org/show_bug.cgi?id=77168
3473
3474         Reviewed by Sam Weinig.
3475
3476         * css/CSSPrimitiveValueMappings.h: Assert that CompositeDifference is
3477         not converted to a CSS value. Exposing a new compositing operation to
3478         CSS is outside the scope of this patch.
3479         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3480         * platform/graphics/GraphicsTypes.h: Add CompositeDifference as a
3481         CompositeOperator. Also, remove an outdated comment.
3482         * platform/graphics/cg/GraphicsContextCG.cpp:
3483         (WebCore::GraphicsContext::setPlatformCompositeOperation): Map
3484         CompositeDifference to kCGBlendModeDifference.
3485
3486 2012-01-28  Matthew Delaney  <mdelaney@apple.com>
3487
3488         Limit the shadow offset CG hack to just SL and Lion
3489         https://bugs.webkit.org/show_bug.cgi?id=77348
3490         <rdar://problem/10158016>
3491
3492         Reviewed by Chris Marrin.
3493
3494         No new tests, current tests cover this.
3495
3496         * platform/graphics/cg/GraphicsContextCG.cpp:
3497         (WebCore::GraphicsContext::setPlatformShadow):
3498
3499 2012-01-30  Beth Dakin  <bdakin@apple.com>
3500
3501         https://bugs.webkit.org/show_bug.cgi?id=77263
3502         PlatformScreenMac should not rely on NSWindow for important bits of data
3503
3504         Reviewed by Geoff Garen.
3505
3506         The main problem is that we cannot rely on the NSWindow for information about 
3507         the deviceScaleFactor because we cannot access an NSWindow from within 
3508         WebCore for WebKit2 windows. Instead, we can fetch it from 
3509         WebCore::deviceScaleFactor(), but we need a Frame to call that. So 
3510         screenAvailableRect and screenRect both now take a FrameView* instead of a 
3511         Widget*. All existing call sites actually sent a FrameView in anyway, so this 
3512         is not a big change, but it does require touching a lot of platforms.
3513         * WebCore.exp.in:
3514         * platform/PlatformScreen.h:
3515         (WebCore):
3516         * platform/blackberry/PlatformScreenBlackBerry.cpp:
3517         (WebCore::screenAvailableRect):
3518         (WebCore::screenRect):
3519         * platform/chromium/PlatformScreenChromium.cpp:
3520         (WebCore::screenRect):
3521         (WebCore::screenAvailableRect):
3522         * platform/chromium/PlatformSupport.h:
3523         (WebCore):
3524         (PlatformSupport):
3525         ():
3526         * platform/efl/PlatformScreenEfl.cpp:
3527         (WebCore::screenRect):
3528         (WebCore::screenAvailableRect):
3529         * platform/gtk/PlatformScreenGtk.cpp:
3530         (WebCore::screenRect):
3531         (WebCore::screenAvailableRect):
3532         * platform/qt/PlatformScreenQt.cpp:
3533         (WebCore::screenRect):
3534         (WebCore::screenAvailableRect):
3535         * platform/win/PlatformScreenWin.cpp:
3536         (WebCore::screenRect):
3537         (WebCore::screenAvailableRect):
3538         * platform/wx/ScreenWx.cpp:
3539         (WebCore::screenRect):
3540         (WebCore::screenAvailableRect):
3541
3542         The Mac-only functions toUserSpace() and toDeviceSpace() were also updated to 
3543         take a parameter for the deviceScaleFactor.
3544         * platform/mac/PlatformScreenMac.mm:
3545         (WebCore::screenRect):
3546         (WebCore::screenAvailableRect):
3547         (WebCore::toUserSpace):
3548         (WebCore::toDeviceSpace):
3549
3550 2012-01-30  Antti Koivisto  <antti@apple.com>
3551
3552         Kill CSSMutableStyleDeclarationConstIterator
3553         https://bugs.webkit.org/show_bug.cgi?id=77342
3554
3555         Reviewed by Sam Weinig.
3556
3557         CSSMutableStyleDeclaration is an array and should be iterated using an index. This simplifies the code.
3558
3559         * css/CSSMutableStyleDeclaration.cpp:
3560         (WebCore::CSSMutableStyleDeclaration::copyPropertiesFrom):
3561         (WebCore::CSSMutableStyleDeclaration::removeProperty):
3562         (WebCore::CSSMutableStyleDeclaration::setProperty):
3563         (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
3564         (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
3565         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
3566         (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
3567         (WebCore::CSSMutableStyleDeclaration::merge):
3568         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
3569         * css/CSSMutableStyleDeclaration.h:
3570         (WebCore):
3571         (WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
3572         (CSSMutableStyleDeclaration):
3573         * css/CSSStyleDeclaration.cpp:
3574         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
3575         * css/CSSStyleDeclaration.h:
3576         (CSSStyleDeclaration):
3577         ():
3578         * css/CSSStyleSelector.cpp:
3579         (WebCore::CSSStyleSelector::styleForKeyframe):
3580         (WebCore::CSSStyleSelector::applyDeclaration):
3581         * editing/EditingStyle.cpp:
3582
3583 2012-01-30  Michael Saboff  <msaboff@apple.com>
3584
3585         Dromaeo tests call parseSimpleLengthValue() on 8 bit strings
3586         https://bugs.webkit.org/show_bug.cgi?id=76649
3587
3588         Reviewed by Geoffrey Garen.
3589
3590         No functionality change, therefore no new tests.
3591
3592         Added 8 bit patch for parseSimpleLengthValue().
3593
3594         * css/CSSParser.cpp:
3595         (WebCore::parseSimpleLengthValue):
3596
3597 2012-01-30  Michael Saboff  <msaboff@apple.com>
3598
3599         WebCore decodeEscapeSequences unnecessarily converts 8 bit strings to 16 bit when decoding.
3600         https://bugs.webkit.org/show_bug.cgi?id=76648
3601
3602         Reviewed by Geoffrey Garen.
3603
3604         Using new overloaded append(String&, offset, length)  member to build result string.
3605         The new member properly handles 8/16 bit-ness of strings.
3606
3607         Functionality not changed, therefore no new tests.
3608
3609         * platform/text/DecodeEscapeSequences.h:
3610         (WebCore::decodeEscapeSequences):
3611
3612 2012-01-30  Pavel Feldman  <pfeldman@google.com>
3613
3614         Not reviewed: follow up to r105625, use proper event categoty in inspector frontend.
3615
3616         * inspector/front-end/BreakpointsSidebarPane.js:
3617         (WebInspector.EventListenerBreakpointsSidebarPane):
3618
3619 2012-01-30  Parag Radke  <nrqv63@motorola.com>
3620
3621         REGRESSION (r82580): Reproducible crash in CSSPrimitiveValue::computeLengthDouble
3622         https://bugs.webkit.org/show_bug.cgi?id=61989
3623
3624         Reviewed by Simon Fraser.
3625
3626         According to css3 specs when font-size is specified in 'rems' for an element implies the font-size
3627         of the root element. In this case as HTML element has a property 'display:none' and hence renderer 
3628         is NULL causes this crash.
3629
3630         Test: fast/css/fontsize-unit-rems-crash.html
3631
3632         * css/CSSPrimitiveValue.cpp:
3633         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3634         Added a null check for the root element's RenderStyle as it can be null in case of html has a property
3635         hidden or display:none.
3636
3637 2012-01-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3638
3639         [Qt] WKTR: Use a software rendering pipiline when running tests.
3640         https://bugs.webkit.org/show_bug.cgi?id=76708
3641
3642         Reviewed by Kenneth Rohde Christiansen.
3643
3644         * platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
3645         (WebCore::TextureMapperQt::setGraphicsContext):
3646         * platform/graphics/qt/TextureMapperQt.h:
3647         (WebCore::TextureMapperQt::initialize):
3648
3649 2012-01-27  Enrica Casucci  <enrica@apple.com>
3650
3651         Remove all references to NSPasteboard objects from the Pasteboard
3652         class interface on Mac.
3653         https://bugs.webkit.org/show_bug.cgi?id=77261
3654         
3655         This is cleanup work needed as first step in the direction of
3656         removing access to NSPasteboard from the WebProcess.
3657         This way all access to the NSPasteboard object are internal to
3658         the class.
3659         Removed static methods taking NSPasteboard as paramenter and changed
3660         the constructor of the class to take the pasteboard name instead of
3661         the NSPasteboard object.
3662
3663         Reviewed by Alexey Proskuryakov.
3664
3665         No new tests. There is no change in behavior.
3666
3667         * editing/Editor.cpp: Removed ununsed private method writeSelectionToPasteboard.
3668         (WebCore):
3669         * editing/Editor.h: Ditto.
3670         (Editor):
3671         ():
3672         * editing/mac/EditorMac.mm:
3673         (WebCore::Editor::writeSelectionToPasteboard):
3674         (WebCore::Editor::readSelectionFromPasteboard):
3675         * platform/Pasteboard.h:
3676         (Pasteboard):
3677         * platform/mac/ClipboardMac.mm:
3678         (WebCore::ClipboardMac::writeRange):
3679         (WebCore::ClipboardMac::writePlainText):
3680         (WebCore::ClipboardMac::writeURL):
3681         * platform/mac/DragDataMac.mm:
3682         (WebCore::DragData::asPlainText):
3683         (WebCore::DragData::asURL):
3684         (WebCore::DragData::asFragment):
3685         * platform/mac/PasteboardMac.mm:
3686         (WebCore::Pasteboard::generalPasteboard):
3687         (WebCore::Pasteboard::Pasteboard):
3688         (WebCore::Pasteboard::writeSelectionForTypes): Added.
3689         (WebCore::Pasteboard::writePlainText):
3690         (WebCore::Pasteboard::writeSelection):
3691         (WebCore::Pasteboard::writeURLForTypes): Added.
3692         (WebCore::Pasteboard::writeURL):
3693         (WebCore::Pasteboard::writeImage):
3694
3695 2012-01-29  Antti Koivisto  <antti@apple.com>
3696
3697         Reduce non-CSSOM API of CSSStyleDeclaration
3698         https://bugs.webkit.org/show_bug.cgi?id=77299
3699
3700         Reviewed by Andreas Kling.
3701
3702         CSSStyleDeclaration should expose the CSSOM API only. Subclasses should expose the internal API only. 
3703         This will move us closer to being able to split the CSSOM API from the internal implementation.
3704         
3705         - Make CSSStyleDeclaration CSSOM functions virtual, internal functions non-virtual.
3706         - Move implementations to subclasses (CSSComputedStyleDeclaration, CSSMutableStyleDeclaration).
3707         - Make CSSOM functions in the subclasses private (making it harder to invoke them internally).
3708         - Switch a bunch of places to use internal API instead of CSSOM.
3709
3710         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3711         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
3712         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
3713         
3714             Switch to *Internal versions of the CSSOM functions.
3715         
3716         * css/CSSComputedStyleDeclaration.cpp:
3717         (WebCore):
3718         (WebCore::CSSComputedStyleDeclaration::length):
3719         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
3720         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
3721         
3722             Move copyPropertiesInSet to subclasses, devirtualize.
3723             
3724         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3725         (WebCore::CSSComputedStyleDeclaration::getPropertyValue):
3726         (WebCore::CSSComputedStyleDeclaration::getPropertyPriority):
3727         (WebCore::CSSComputedStyleDeclaration::getPropertyShorthand):
3728         (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit):
3729         (WebCore::CSSComputedStyleDeclaration::setProperty):
3730         (WebCore::CSSComputedStyleDeclaration::removeProperty):
3731         * css/CSSComputedStyleDeclaration.h:
3732         (CSSComputedStyleDeclaration):
3733         * css/CSSFontFaceRule.cpp:
3734         (WebCore::CSSFontFaceRule::cssText):
3735         * css/CSSMutableStyleDeclaration.cpp:
3736         (WebCore::CSSMutableStyleDeclaration::length):
3737         (WebCore::CSSMutableStyleDeclaration::asText):
3738         (WebCore::CSSMutableStyleDeclaration::cssText):
3739         (WebCore):
3740         (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
3741         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
3742         (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
3743         (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
3744         (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
3745         (WebCore::CSSMutableStyleDeclaration::setProperty):
3746         (WebCore::CSSMutableStyleDeclaration::removeProperty):
3747         (WebCore::CSSMutableStyleDeclaration::copyPropertiesInSet):
3748         
3749             Move copyPropertiesInSet to subclasses, devirtualize.
3750         
3751         (WebCore::CSSMutableStyleDeclaration::cssPropertyMatches):
3752         (WebCore::CSSMutableStyleDeclaration::removeEquivalentProperties):
3753         
3754             Move diff() to CSSMutableStyleDeclaration, rename to removeEquivalentProperties, switch to mutate
3755             this object instead of the argument object.
3756     
3757         * css/CSSMutableStyleDeclaration.h:
3758         (CSSMutableStyleDeclaration):
3759         (WebCore::CSSMutableStyleDeclaration::propertyCount):
3760         (WebCore::CSSMutableStyleDeclaration::isEmpty):
3761         (WebCore::CSSMutableStyleDeclaration::propertyAt):
3762         
3763             Expose properties and property count internally (iterator should be removed in favor of these).
3764         
3765         * css/CSSStyleDeclaration.cpp:
3766         (WebCore):
3767         * css/CSSStyleDeclaration.h:
3768         (CSSStyleDeclaration):
3769         (WebCore::CSSStyleDeclaration::getPropertyCSSValueInternal):
3770         (WebCore::CSSStyleDeclaration::getPropertyValueInternal):
3771         (WebCore::CSSStyleDeclaration::setPropertyInternal):
3772         
3773             Add *Internal versions of some CSSOM APIs to support some editing and bindings uses.
3774             These take propertyIDs instead of strings names.
3775
3776         * css/CSSStyleRule.cpp:
3777         (WebCore::CSSStyleRule::cssText):
3778         * css/CSSStyleSelector.cpp:
3779         (WebCore::leftToRightDeclaration):
3780         (WebCore::rightToLeftDeclaration):
3781         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3782         (WebCore::CSSStyleSelector::matchPageRulesForList):
3783         * css/WebKitCSSKeyframeRule.cpp:
3784         (WebCore::WebKitCSSKeyframeRule::cssText):
3785         * dom/StyledElement.cpp:
3786         (WebCore::StyledElement::updateStyleAttribute):
3787         * editing/ApplyStyleCommand.cpp:
3788         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3789         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
3790         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
3791         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
3792         (WebCore::ApplyStyleCommand::addBlockStyle):
3793         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3794         * editing/EditingStyle.cpp:
3795         ():
3796         (WebCore::copyEditingProperties):
3797         (WebCore):
3798         (WebCore::propertyCSSValue):
3799         (WebCore::getRGBAFontColor):
3800         (WebCore::EditingStyle::overrideWithStyle):
3801         (WebCore::EditingStyle::removeStyleAddedByNode):
3802         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
3803         (WebCore::EditingStyle::triStateOfStyle):
3804         (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
3805         (WebCore::EditingStyle::prepareToApplyAt):
3806         (WebCore::removePropertiesInStyle):
3807         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
3808         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
3809         (WebCore::StyleChange::StyleChange):
3810         (WebCore::fontWeightIsBold):
3811         (WebCore::getPropertiesNotIn):
3812         (WebCore::getIdentifierValue):
3813         (WebCore::hasTransparentBackgroundColor):
3814         * editing/EditingStyle.h:
3815         
3816             Adapt to changes.
3817     
3818         (WebCore):
3819         * editing/ReplaceSelectionCommand.cpp:
3820         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
3821         (WebCore::handleStyleSpansBeforeInsertion):
3822         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
3823         * editing/mac/EditorMac.mm:
3824         (WebCore::styleForSelectionStart):
3825         * editing/markup.cpp:
3826         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
3827         (WebCore::StyledMarkupAccumulator::appendElement):
3828         * html/ImageDocument.cpp:
3829         (WebCore::ImageDocument::resizeImageToFit):
3830         (WebCore::ImageDocument::restoreImageSize):
3831         (WebCore::ImageDocument::windowSizeChanged):
3832         * html/canvas/CanvasRenderingContext2D.cpp:
3833         (WebCore::CanvasRenderingContext2D::setFont):
3834         * html/canvas/CanvasStyle.cpp:
3835         (WebCore::currentColor):
3836         * inspector/InspectorStyleSheet.cpp:
3837         (WebCore::InspectorStyleSheet::revalidateStyle):
3838         * page/PageSerializer.cpp:
3839         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
3840         * rendering/RenderTreeAsText.cpp:
3841         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
3842         * svg/SVGStyledElement.cpp:
3843         (WebCore::SVGStyledElement::getPresentationAttribute):
3844
3845 2012-01-30  Pavel Feldman  <pfeldman@google.com>
3846
3847         Web Inspector: protocol validator should fail if one of response fields turns optional
3848         https://bugs.webkit.org/show_bug.cgi?id=76452
3849
3850         Reviewed by Yury Semikhatsky.
3851
3852         * inspector/Inspector-0.1.json:
3853         * inspector/Inspector.json:
3854         * inspector/generate-inspector-protocol-version:
3855         (compare_commands):
3856         (compare_events):
3857         (compare_params_list):
3858         (compare_types):
3859         (self_test):
3860
3861 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
3862
3863         Web Inspector: keyboard navigation through comparison view in heap profiler should update retainers view
3864         https://bugs.webkit.org/show_bug.cgi?id=77326
3865
3866         Keyboard navigation in the detailed heap snapshot view now updates retainers view.
3867
3868         Reviewed by Pavel Feldman.
3869
3870         * inspector/front-end/DataGrid.js: Added SelectedNode/DeselectedNode events to DataGrid.
3871         (WebInspector.DataGridNode.prototype.select):
3872         (WebInspector.DataGridNode.prototype.deselect):
3873         * inspector/front-end/DetailedHeapshotView.js:
3874         (WebInspector.DetailedHeapshotView.prototype._selectionChanged):
3875         (WebInspector.DetailedHeapshotView.prototype._setRetainmentDataGridSource):
3876
3877 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
3878
3879         Unreviewed. Fix inspector front-end compilation.
3880
3881         * inspector/front-end/RemoteObject.js:
3882         (WebInspector.RemoteObject):
3883         (WebInspector.RemoteObject.fromPayload):
3884
3885 2012-01-30  Roland Steiner  <rolandsteiner@chromium.org>
3886
3887         Node::parentOrHostElement(): Node::shadowHost() already returns an Element*
3888         https://bugs.webkit.org/show_bug.cgi?id=77332
3889
3890         Reviewed by Kent Tamura.
3891
3892         No new tests. (simple refactoring)
3893
3894         * dom/Node.cpp:
3895         (WebCore::Node::parentOrHostElement):
3896
3897 2012-01-30  Carlos Garcia Campos  <cgarcia@igalia.com>
3898
3899         Unreviewed. Fix make distcheck.
3900
3901         * GNUmakefile.am: Add idl files in Source/WebCore/html/shadow/ to
3902         EXTRA_DIST.
3903         * GNUmakefile.list.am: Add missing files.
3904
3905 2012-01-27  Vsevolod Vlasov  <vsevik@chromium.org>
3906
3907         Web Inspector: TabbedEditorContainer should save open tabs.
3908         https://bugs.webkit.org/show_bug.cgi?id=76912
3909
3910         Reviewed by Pavel Feldman.
3911
3912         Test: inspector/tabbed-editors-history.html
3913
3914         * inspector/front-end/ScriptsPanel.js:
3915         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
3916         (WebInspector.ScriptsPanel.prototype._reset):
3917         (WebInspector.ScriptsPanel.prototype._showFile):
3918         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
3919         (WebInspector.ScriptsPanel.prototype._editorSelected):
3920         (WebInspector.EditorContainer.prototype.uiSourceCodeAdded):
3921         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showFile):
3922         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
3923         * inspector/front-end/TabbedEditorContainer.js:
3924         (WebInspector.TabbedEditorContainer):
3925         (WebInspector.TabbedEditorContainer.prototype.showFile):
3926         (WebInspector.TabbedEditorContainer.prototype._editorClosedByUserAction):
3927         (WebInspector.TabbedEditorContainer.prototype._editorSelectedByUserAction):
3928         (WebInspector.TabbedEditorContainer.prototype._updateHistory.tabIdToURL):
3929         (WebInspector.TabbedEditorContainer.prototype._updateHistory):
3930         (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
3931         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
3932         (WebInspector.TabbedEditorContainer.prototype._tabSelected):
3933         (WebInspector.TabbedEditorContainer.prototype.reset):
3934         (WebInspector.TabbedEditorContainer.History):
3935         (WebInspector.TabbedEditorContainer.History.prototype.index):
3936         (WebInspector.TabbedEditorContainer.History.prototype.update):
3937         (WebInspector.TabbedEditorContainer.History.prototype.remove):
3938         (WebInspector.TabbedEditorContainer.History.prototype.save):
3939         * inspector/front-end/TabbedPane.js:
3940         (WebInspector.TabbedPane.prototype.appendTab):
3941         (WebInspector.TabbedPane.prototype.closeTab):
3942         (WebInspector.TabbedPane.prototype._innerCloseTab):
3943         (WebInspector.TabbedPane.prototype.closeAllTabs):
3944         (WebInspector.TabbedPane.prototype.lastOpenedTabIds):
3945         (WebInspector.TabbedPane.prototype._tabsSelectChanged):
3946
3947 2012-01-30  Alexander Pavlov  <apavlov@chromium.org>
3948
3949         Web Inspector: [Styles] Unable to paste and subsequently edit multiple properties in the Styles pane
3950         https://bugs.webkit.org/show_bug.cgi?id=77209
3951
3952         Reviewed by Pavel Feldman.
3953
3954         Check if the property value contains a ";" before kicking the freeflow text update.
3955
3956         * inspector/front-end/StylesSidebarPane.js:
3957         (WebInspector.StylePropertyTreeElement.prototype):
3958
3959 2012-01-30  Vsevolod Vlasov  <vsevik@chromium.org>
3960
3961         Web Inspector: Change Open Resource and Go To function shortcuts in scripts panel.
3962         https://bugs.webkit.org/show_bug.cgi?id=77321
3963
3964         Reviewed by Pavel Feldman.
3965
3966         * inspector/front-end/FilteredItemSelectionDialog.js:
3967         (WebInspector.JavaScriptOutlineDialog.createShortcut):
3968         (WebInspector.OpenResourceDialog.createShortcut):
3969         * inspector/front-end/ScriptsPanel.js:
3970
3971 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
3972
3973         Web Inspector: hide function popover in heap snapshot view before navigating to the function definition
3974         https://bugs.webkit.org/show_bug.cgi?id=77330
3975
3976         Reviewed by Pavel Feldman.
3977
3978         * inspector/front-end/DetailedHeapshotView.js:
3979         (WebInspector.DetailedHeapshotView.prototype.willHide):
3980
3981 2012-01-30  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
3982
3983         [BlackBerry] Credential backing store implementation
3984         https://bugs.webkit.org/show_bug.cgi?id=76761
3985
3986         Reviewed by Antonio Gomes.
3987
3988         Implemented credential backing store database and related
3989         operations in class CredentialBackingStore.
3990
3991         * platform/network/blackberry/CredentialBackingStore.cpp:
3992         (WebCore::CredentialBackingStore::~CredentialBackingStore):
3993         (WebCore::CredentialBackingStore::open):
3994         (WebCore::CredentialBackingStore::close):
3995         (WebCore::CredentialBackingStore::addLogin):
3996         (WebCore::CredentialBackingStore::updateLogin):
3997         (WebCore::CredentialBackingStore::hasLogin):
3998         (WebCore::CredentialBackingStore::getLogin):
3999         (WebCore::CredentialBackingStore::removeLogin):
4000         (WebCore::CredentialBackingStore::clear):
4001
4002 2012-01-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4003
4004         Only send resize events when layout size changes.
4005         https://bugs.webkit.org/show_bug.cgi?id=77212
4006
4007         When using fixed layout the widget size is the size of content, therefore
4008         resize checks must check against layoutsize and not widget size.
4009
4010         Reviewed by Kenneth Rohde Christiansen.
4011
4012         Needs to be manual tests because the test framework does not currently
4013         support testing fixed layout.
4014
4015         Tests: ManualTests/resize-events.html
4016
4017         * page/FrameView.cpp:
4018         (WebCore::FrameView::layout):
4019         (WebCore::FrameView::performPostLayoutTasks):
4020
4021 2012-01-30  Pavel Feldman  <pfeldman@google.com>
4022
4023         Web Inspector: TimelinePanel does not respect InspectorFrontendHost.canSaveAs
4024         https://bugs.webkit.org/show_bug.cgi?id=77301
4025
4026         Reviewed by Vsevolod Vlasov.
4027
4028         * inspector/front-end/TimelinePanel.js:
4029         (WebInspector.TimelinePanel.prototype._registerShortcuts):
4030
4031 2012-01-30  Nikolas Zimmermann  <nzimmermann@rim.com>
4032
4033         Not reviewed. Fix Clang build for real after r106218.
4034
4035         * inspector/CodeGeneratorInspector.py:
4036         (Generator.go): Add virtual destructor to the ABCs.
4037
4038 2012-01-30  Shinya Kawanaka  <shinyak@google.com>
4039
4040         No need to keep anonymous RenderBlock in DETAILS.
4041         https://bugs.webkit.org/show_bug.cgi?id=77322
4042
4043         Reviewed by Hajime Morita.
4044
4045         Anonymous RenderBlock of DETAILS element was not squashed when detaching them.
4046         However, it should be removed.
4047
4048         No new tests. Should be covered by existing tests.
4049
4050         * rendering/RenderBlock.cpp:
4051         (WebCore::canMergeContiguousAnonymousBlocks):
4052
4053 2012-01-30  Zoltan Herczeg  <zherczeg@webkit.org>
4054
4055         Custom written CSS lexer
4056         https://bugs.webkit.org/show_bug.cgi?id=70107
4057
4058         Rubber Stamped by Csaba Osztrogon√°c.
4059
4060         Do not advance pointer at the end of input, just
4061         keep returning with END_TOKEN.
4062
4063         * css/CSSParser.cpp:
4064         (WebCore::CSSParser::lex):
4065
4066 2012-01-30  Shinya Kawanaka  <shinyak@google.com>
4067
4068         The query selector for HTMLContentElement should follow the shadow dom spec.
4069         https://bugs.webkit.org/show_bug.cgi?id=75946
4070
4071         Reviewed by Hajime Morita.
4072
4073         Checks the query selector of HTMLContentElement is valid.
4074         If not valid, the selector won't match anything, and shows fallback element.
4075
4076         Test: fast/dom/shadow/content-selector-query.html
4077
4078         * html/shadow/ContentSelectorQuery.cpp:
4079         (WebCore::ContentSelectorQuery::ContentSelectorQuery):
4080         (WebCore::ContentSelectorQuery::isValidSelector):
4081         (WebCore::ContentSelectorQuery::matches):
4082           When a select query is not valid, any element won't be matched.
4083         (WebCore::validateSubSelector):
4084         (WebCore::validateSelector):
4085         (WebCore::ContentSelectorQuery::validateSelectorList):
4086           Validate selectors.
4087         * html/shadow/ContentSelectorQuery.h:
4088         * html/shadow/HTMLContentElement.cpp:
4089         (WebCore::HTMLContentElement::isSelectValid):
4090           Returns true if select attribute is valid.
4091         * html/shadow/HTMLContentElement.h:
4092         * testing/Internals.cpp:
4093         (WebCore::Internals::isValidContentSelect):
4094         * testing/Internals.h:
4095         * testing/Internals.idl:
4096
4097 2012-01-30  Hans Wennborg  <hans@chromium.org>
4098
4099         Unreviewed, rolling out r106219.
4100         http://trac.webkit.org/changeset/106219
4101         https://bugs.webkit.org/show_bug.cgi?id=77083
4102
4103         This broke Chromium's test_shell.
4104
4105         * GNUmakefile.list.am:
4106         * Target.pri:
4107         * WebCore.gypi:
4108         * WebCore.vcproj/WebCore.vcproj:
4109         * WebCore.xcodeproj/project.pbxproj:
4110         * platform/mock/SpeechInputClientMock.cpp: Added.
4111         (WebCore):
4112         (WebCore::SpeechInputClientMock::SpeechInputClientMock):
4113         (WebCore::SpeechInputClientMock::setListener):
4114         (WebCore::SpeechInputClientMock::startRecognition):
4115         (WebCore::SpeechInputClientMock::stopRecording):
4116         (WebCore::SpeechInputClientMock::cancelRecognition):
4117         (WebCore::SpeechInputClientMock::addRecognitionResult):