Remove empty inline RenderStyle destructor.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-12-24  Andreas Kling  <awesomekling@apple.com>
2
3         Remove empty inline RenderStyle destructor.
4         <http://webkit.org/b/75188>
5
6         Rubber-stamped by Anders "Ordvits" Carlsson.
7
8         * rendering/style/RenderStyle.h:
9
10 2011-12-24  Andreas Kling  <awesomekling@apple.com>
11
12         RenderStyle: Inline the destructor.
13         <http://webkit.org/b/75188>
14
15         Reviewed by Kenneth Rohde Christiansen.
16
17         The (empty) RenderStyle destructor gets a little hot sometimes, reaching up
18         to 0.4% when loading the full HTML5 spec. Inline it to remove the pointless
19         function call.
20
21         * rendering/style/RenderStyle.cpp:
22         * rendering/style/RenderStyle.h:
23         (WebCore::RenderStyleBitfields::~RenderStyle):
24
25 2011-12-23  Noel Gordon  <noel.gordon@gmail.com>
26
27         JPEG decoders should only save color profile markers if color management is enabled
28         https://bugs.webkit.org/show_bug.cgi?id=75182
29
30         Reviewed by Adam Barth.
31
32         No new tests. Covered by existing tests.
33             fast/images/ycbcr-with-cmyk-color-profile.html
34             fast/images/gray-scale-jpeg-with-color-profile.html
35             fast/images/cmyk-jpeg-with-color-profile.html
36             fast/images/color-jpeg-with-color-profile.html
37
38         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
39         (WebCore::JPEGImageReader::JPEGImageReader):  Store color profile (JPEG_APP0 + 2) markers
40         using the iccjpeg helper setup_read_icc_profile() if color management is enabled.
41
42 2011-12-23  Alice Boxhall  <aboxhall@chromium.org>
43
44         Fix crash when adding paragraph in contenteditable with role=textbox.
45         https://bugs.webkit.org/show_bug.cgi?id=75159
46
47         Reviewed by Ryosuke Niwa.
48
49         Test: accessibility/textbox-role-on-contenteditable-crash.html
50
51         * accessibility/AccessibilityRenderObject.cpp:
52         (WebCore::AccessibilityRenderObject::childrenChanged): Use rendererIsEditable() rather than isContentEditable()
53         as this method is called during render layouts, and isContentEditable() triggers a layout update, which crashes.
54
55 2011-12-23  Noel Gordon  <noel.gordon@gmail.com>
56
57         [chromium] JPEG image with CMYK ICC color profile renders color-inverted and squashed
58         https://bugs.webkit.org/show_bug.cgi?id=74400
59
60         Reviewed by Adam Barth.
61
62         Use color profiles for GRAYSCALE, RGB, YCbCr, CMYK and YCCK jpeg images only if their
63         embedded color profile is from an RGB color space input device.
64
65         Test:
66            fast/images/ycbcr-with-cmyk-color-profile.html
67                - YCbCr image, with CMYK output device color profile.
68         Existing Tests:
69            fast/images/gray-scale-jpeg-with-color-profile.html
70                - YCbCr image, with GRAY input device color profile.
71            fast/images/cmyk-jpeg-with-color-profile.html
72                - YCCK image, with CMYK output device color profile.
73            fast/images/color-jpeg-with-color-profile.html
74                - YCbCr image, with RGB input device color profile.
75
76         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
77         (WebCore::rgbColorProfile): Return true if the profile has an RGB color space.
78         (WebCore::inputDeviceColorProfile): Return true if the profile is from an input device.
79         (WebCore::readColorProfile): Ignore the embedded color profile unless if it is from
80         an RGB color space input device.
81         (WebCore::JPEGImageReader::decode):
82
83 2011-12-23  Dan Bernstein  <mitz@apple.com>
84
85         Print dlerror() when dyld functions fail unexpectedly
86         https://bugs.webkit.org/show_bug.cgi?id=75185
87
88         Reviewed by Sam Weinig.
89
90         * platform/mac/SoftLinking.h:
91
92 2011-12-23  Sam Weinig  <sam@webkit.org>
93
94         Start extracting platform specific bits out of PlatformEvents
95         https://bugs.webkit.org/show_bug.cgi?id=75063
96
97         Reviewed by Anders Carlsson.
98
99         * WebCore.exp.in:
100         Update exports.
101
102         * WebCore.xcodeproj/project.pbxproj:
103         Add factory, remove implementation files for mac PlatformWheelEvent
104         and PlatformMouseEvent.
105
106         * page/mac/EventHandlerMac.mm:
107         (WebCore::EventHandler::wheelEvent):
108         (WebCore::EventHandler::keyEvent):
109         (WebCore::EventHandler::currentPlatformMouseEvent):
110         Switch to use the factory.
111
112         * platform/PlatformEvent.h:
113         (WebCore::PlatformEvent::shiftKey):
114         (WebCore::PlatformEvent::ctrlKey):
115         (WebCore::PlatformEvent::altKey):
116         (WebCore::PlatformEvent::metaKey):
117         (WebCore::PlatformEvent::modifiers):
118         (WebCore::PlatformEvent::PlatformEvent):
119         Switch to storing the modifiers as bits on an unsigned
120         instead of as individual bools.
121
122         * platform/PlatformGestureEvent.h:
123         Remove unused timestamp member.
124
125         * platform/PlatformKeyboardEvent.h:
126         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
127         (WebCore::PlatformKeyboardEvent::keyIdentifier):
128         (WebCore::PlatformKeyboardEvent::macCharCode):
129         (WebCore::PlatformKeyboardEvent::isSystemKey):
130         Give this class a more consistent interface across platforms,
131         and remove constructor that took an NSEvent.
132
133         * platform/PlatformMouseEvent.h:
134         Remove constructor that took an NSEvent (and an unused constructor that took
135         many arguments) as well as some free functions for point conversion.
136
137         * platform/PlatformWheelEvent.h:
138         Remove constructor that took an NSEvent and an unnecessary override of the timestamp()
139         function.
140
141         * platform/mac/KeyEventMac.mm:
142         Removed constructor and moved helpers to PlatformEventFactory.
143
144         * platform/mac/PlatformEventFactory.h: Added.
145         * platform/mac/PlatformEventFactory.mm: Added.
146         (WebCore::globalPoint):
147         (WebCore::globalPointForEvent):
148         (WebCore::pointForEvent):
149         (WebCore::mouseButtonForEvent):
150         (WebCore::mouseEventTypeForEvent):
151         (WebCore::clickCountForEvent):
152         (WebCore::momentumPhaseForEvent):
153         (WebCore::phaseForEvent):
154         (WebCore::gestureEventTypeForEvent):
155         (WebCore::textFromEvent):
156         (WebCore::unmodifiedTextFromEvent):
157         (WebCore::keyIdentifierForKeyEvent):
158         (WebCore::isKeypadEvent):
159         (WebCore::windowsKeyCodeForKeyEvent):
160         (WebCore::isKeyUpEvent):
161         (WebCore::modifiersForEvent):
162         (WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
163         (WebCore::PlatformEventFactory::createPlatformMouseEvent):
164         (WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
165         (WebCore::PlatformEventFactory::createPlatformWheelEvent):
166         (WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
167         (WebCore::PlatformEventFactory::createPlatformKeyboardEvent):
168         (WebCore::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
169         (WebCore::PlatformEventFactory::createPlatformGestureEvent):
170         Consolidate platform event creation logic and add factory functions.
171
172         * platform/mac/PlatformMouseEventMac.mm: Removed.
173         * platform/mac/WheelEventMac.mm: Removed.
174
175         * platform/mac/WebCoreSystemInterface.h:
176         * platform/mac/WebCoreSystemInterface.mm:
177         Expose wkGetNSEventKeyChar in WebCore.
178
179         * platform/gtk/PlatformKeyboardEventGtk.cpp:
180         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
181         * platform/gtk/PlatformMouseEventGtk.cpp:
182         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
183         * platform/gtk/PlatformWheelEventGtk.cpp:
184         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
185         * platform/qt/PlatformKeyboardEventQt.cpp:
186         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
187         * platform/qt/PlatformMouseEventQt.cpp:
188         (WebCore::mouseEventModifiersFromQtKeyboardModifiers):
189         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
190         * platform/qt/PlatformTouchEventQt.cpp:
191         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
192         * platform/win/KeyEventWin.cpp:
193         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
194         * platform/win/WheelEventWin.cpp:
195         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
196         Update for new variables/names.
197
198 2011-12-22  Andreas Kling  <kling@webkit.org>
199
200         CSSParser: Avoid creating dummy declaration in parseColor() slow path.
201         <http://webkit.org/b/75104>
202
203         Reviewed by Darin Adler.
204
205         We only needed the dummy declaration to trigger the instantiation of
206         a CSSValuePool. Added an ensureCSSValuePool() method and have parseColor()
207         call that instead.
208
209         Also renamed the fast-path parseColor() to fastParseColor() and reordered
210         the arguments for consistency with the slow-path parseColor().
211
212         * css/CSSParser.cpp:
213         (WebCore::parseColorValue):
214         (WebCore::CSSParser::parseColor):
215         (WebCore::CSSParser::ensureCSSValuePool):
216         (WebCore::CSSParser::fastParseColor):
217         (WebCore::CSSParser::parseColorFromValue):
218         * css/CSSParser.h:
219
220 2011-12-21  Andreas Kling  <kling@webkit.org>
221
222         Automate elements' registration as document namedItem/extraNamedItem.
223         <http://webkit.org/b/74991>
224
225         Reviewed by Antti Koivisto.
226
227         Remove caching of the "id" and "name" attributes on applet, embed, form,
228         image and object elements. We were caching them to keep the document's
229         map of named and "extra named" (named by id) item counts in sync.
230
231         Instead, add a hook to Element::willModifyAttribute() that detects when
232         the attributes are being changed and handle the registration/unregistration
233         automatically if the element returns true for shouldRegisterAsNamedItem()
234         or shouldRegisterAsExtraNamedItem() respectively.
235
236         This shrinks the elements by two AtomicStrings (8 or 16 bytes) each.
237
238         IFrame elements retain the old mechanism for now, as there are some subtle
239         differences to how that's handled.
240
241         * dom/Node.h:
242         (WebCore::Node::hasName):
243         (WebCore::Node::setHasName):
244
245             Cache whether we have a "name" attribute or not (1 bit on Node.)
246             This is done in order to minimize the overhead added to Element's
247             insertedIntoDocument() and removeFromDocument().
248
249         * dom/StyledElement.cpp:
250         (WebCore::StyledElement::attributeChanged):
251
252             Update the Node's has-name flag as appropriate.
253
254         * dom/Element.cpp:
255         (WebCore::Element::updateNamedItemRegistration):
256         (WebCore::Element::updateExtraNamedItemRegistration):
257
258             Added. Called when the "name" and "id" attributes are changed.
259             Updates the document's named item maps accordingly.
260
261         (WebCore::Element::insertedIntoDocument):
262         (WebCore::Element::removedFromDocument):
263
264             Make sure updateName() is called in addition to updateId() when applicable.
265
266         * dom/Element.h:
267         (WebCore::Element::shouldRegisterAsNamedItem):
268         (WebCore::Element::shouldRegisterAsExtraNamedItem):
269
270             Added. If an element returns true for these, it will be automatically
271             registered with the document when the name/id attribute changes.
272
273         (WebCore::Element::updateId):
274         (WebCore::Element::updateName):
275
276             Register/unregister from the document's named item maps as appropriate.
277
278         (WebCore::Element::willModifyAttribute):
279
280             Add updateName() hook in addition to the existing updateId() hook.
281
282         * dom/NamedNodeMap.cpp:
283         (WebCore::NamedNodeMap::setAttributes):
284
285             Make sure updateName() is called when we're cloning the attributes
286             from another element.
287
288         * html/HTMLAppletElement.cpp:
289         (WebCore::HTMLAppletElement::parseMappedAttribute):
290         * html/HTMLAppletElement.h:
291         * html/HTMLEmbedElement.cpp:
292         (WebCore::HTMLEmbedElement::parseMappedAttribute):
293         (WebCore::HTMLEmbedElement::insertedIntoDocument):
294         * html/HTMLEmbedElement.h:
295         * html/HTMLFormElement.cpp:
296         (WebCore::HTMLFormElement::insertedIntoDocument):
297         (WebCore::HTMLFormElement::removedFromDocument):
298         (WebCore::HTMLFormElement::parseMappedAttribute):
299         * html/HTMLFormElement.h:
300         * html/HTMLImageElement.cpp:
301         (WebCore::HTMLImageElement::parseMappedAttribute):
302         (WebCore::HTMLImageElement::insertedIntoDocument):
303         * html/HTMLImageElement.h:
304         * html/HTMLObjectElement.cpp:
305         (WebCore::HTMLObjectElement::parseMappedAttribute):
306         (WebCore::HTMLObjectElement::insertedIntoDocument):
307         (WebCore::HTMLObjectElement::removedFromDocument):
308         * html/HTMLObjectElement.h:
309         * html/HTMLPlugInElement.h:
310
311             Remove duplicated code that is now handled by Element.
312
313         * html/HTMLObjectElement.cpp:
314         (WebCore::HTMLObjectElement::updateDocNamedItem):
315         (WebCore::HTMLObjectElement::formControlName):
316
317             Use fastGetAttribute() since we no longer cache the name.
318
319 2011-12-23  Anders Carlsson  <andersca@apple.com>
320
321         Add two (currently unused) new member functions to ScrollElasticityControllerClient
322         https://bugs.webkit.org/show_bug.cgi?id=75179
323
324         Reviewed by Dan Bernstein.
325
326         This is so we'll be able to move more code to ScrollElasticityController.
327
328         * platform/mac/ScrollAnimatorMac.h:
329         * platform/mac/ScrollAnimatorMac.mm:
330         (WebCore::ScrollAnimatorMac::pinnedInDirection):
331         (WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
332         * platform/mac/ScrollElasticityController.h:
333
334 2011-12-23  Simon Fraser  <simon.fraser@apple.com>
335
336         Blur filter doesn't invalidate enough
337         https://bugs.webkit.org/show_bug.cgi?id=74891
338
339         Reviewed by Darin Adler.
340         
341         Take the effects of filters into account for repainting; we need
342         to inflate the repaint rect by the outsets provided by the filter.
343         
344         Test: css3/filters/filter-repaint.html
345
346         * rendering/RenderBox.cpp:
347         (WebCore::RenderBox::computeRectForRepaint):
348         * rendering/RenderInline.cpp:
349         (WebCore::RenderInline::computeRectForRepaint):
350
351 2011-12-23  Simon Fraser  <simon.fraser@apple.com>
352
353         Filters should apply to inline elements
354         https://bugs.webkit.org/show_bug.cgi?id=75152
355
356         Reviewed by Darin Adler.
357         
358         Filters need to cause creation of RenderLayers for inlines, just like
359         opacity and masks do.
360
361         Test: css3/filters/filtered-inline.html
362
363         * rendering/RenderInline.h:
364         (WebCore::RenderInline::requiresLayer):
365         * rendering/RenderTableRow.h: Remove an obviously incorrect comment.
366
367 2011-12-23  Jarred Nicholls  <jarred@sencha.com>
368
369         Synchronous XHR in window context should not support new XHR responseTypes for HTTP(S) requests
370         https://bugs.webkit.org/show_bug.cgi?id=72154
371
372         Per the latest W3C editor draft: http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html
373         This is a spec-mandated attempt to thwart and otherwise discourage the use of synchronous XHR
374         in the window context by deliberately not exposing newer functionality. Here we are disabling
375         the use of responseType in synchronous HTTP(S) XHR requests from the window context.
376
377         When a user attempts this action, an InvalidAccessError exception is thrown and a message is
378         printed to the console to further explain.
379
380         Renamed reportUnsafeUsage to a more generic name, and hoisted it up so it would be defined
381         earlier and thus referenceable by setResponseType.
382
383         Reviewed by Alexey Proskuryakov.
384
385         Test: fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request.html
386
387         * xml/XMLHttpRequest.cpp:
388         (WebCore::logConsoleError):
389         reportUnsafeUsage -> logConsoleError
390         (WebCore::XMLHttpRequest::setResponseType):
391         (WebCore::XMLHttpRequest::setRequestHeader):
392         reportUnsafeUsage -> logConsoleError
393         (WebCore::XMLHttpRequest::getResponseHeader):
394         reportUnsafeUsage -> logConsoleError
395         (WebCore::XMLHttpRequest::didFail):
396         reportUnsafeUsage -> logConsoleError
397
398 2011-12-23  Alexander Pavlov  <apavlov@chromium.org>
399
400         Web Inspector: Implement a worker for parsing out JavaScript function data
401         https://bugs.webkit.org/show_bug.cgi?id=75166
402
403         Reviewed by Pavel Feldman.
404
405         Test: inspector/debugger/script-extract-outline.html
406
407         * inspector/front-end/ScriptFormatter.js:
408         (WebInspector.ScriptFormatter.prototype.formatContent):
409         * inspector/front-end/ScriptFormatterWorker.js:
410         (onmessage):
411         (format):
412         (getChunkCount):
413         ():
414         (Array.prototype.keySet):
415
416 2011-12-23  Ilya Tikhonovsky  <loislo@chromium.org>
417
418         Unreviewed, rolling out r103624.
419         http://trac.webkit.org/changeset/103624
420         https://bugs.webkit.org/show_bug.cgi?id=68916
421
422         Broke Snow Leopard builders
423
424         * CMakeLists.txt:
425         * DerivedSources.cpp:
426         * DerivedSources.pri:
427         * GNUmakefile.list.am:
428         * WebCore.gypi:
429         * WebCore.xcodeproj/project.pbxproj:
430         * bindings/js/JSDirectoryEntryCustom.cpp:
431         (WebCore::JSDirectoryEntry::getFile):
432         (WebCore::JSDirectoryEntry::getDirectory):
433         * bindings/js/JSDirectoryEntrySyncCustom.cpp:
434         (WebCore::getFlags):
435         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
436         (WebCore::V8DirectoryEntry::getDirectoryCallback):
437         (WebCore::V8DirectoryEntry::getFileCallback):
438         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
439         (WebCore::getFlags):
440         * fileapi/WebKitFlags.idl: Added.
441         * page/DOMWindow.idl:
442         * workers/WorkerContext.idl:
443
444 2011-12-23  Eric Uhrhane  <ericu@chromium.org>
445
446        [fileapi] WebKitFlags should not be constructable per Directories & System spec
447        https://bugs.webkit.org/show_bug.cgi?id=68916
448
449        Reviewed by Eric Seidel.
450
451        Remove IDL for the object and all DOM references to it.
452        * fileapi/WebKitFlags.idl: Removed.
453        * page/DOMWindow.idl:
454        * workers/WorkerContext.idl:
455        Remove references to the JSC/V8 objects compiled from the IDL.
456        * bindings/js/JSDirectoryEntryCustom.cpp:
457        (WebCore::JSDirectoryEntry::getFile):
458        (WebCore::JSDirectoryEntry::getDirectory):
459        * bindings/js/JSDirectoryEntrySyncCustom.cpp:
460        (WebCore::getFlags):
461        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
462        (WebCore::V8DirectoryEntry::getDirectoryCallback):
463        (WebCore::V8DirectoryEntry::getFileCallback):
464        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
465        (WebCore::getFlags):
466        Fix up build files.
467        * WebCore.gypi:
468        * WebCore.vcproj/WebCore.vcproj:
469        * WebCore.xcodeproj/project.pbxproj:
470        * WebCore/CMakeLists.txt:
471        * WebCore/CodeGenerators.pri:
472        * WebCore/DerivedSources.cpp:
473        * WebCore/GNUmakefile.list.am:
474
475 2011-12-23  Pavel Feldman  <pfeldman@google.com>
476
477         Web Inspector: Migrate to native Function.prototype.bind; fix front-end compilation with the
478         version of compiler that respects Function.prototype.bind.
479         https://bugs.webkit.org/show_bug.cgi?id=75170
480
481         Reviewed by Yury Semikhatsky.
482
483         * inspector/front-end/ApplicationCacheModel.js:
484         * inspector/front-end/CSSKeywordCompletions.js:
485         (WebInspector.CSSKeywordCompletions.colors):
486         * inspector/front-end/CSSStyleModel.js:
487         * inspector/front-end/CompilerSourceMapping.js:
488         * inspector/front-end/DOMAgent.js:
489         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
490         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
491         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
492         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
493         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
494         (WebInspector.DOMAgent.prototype.querySelector):
495         (WebInspector.DOMAgent.prototype.querySelectorAll):
496         * inspector/front-end/DebuggerModel.js:
497         * inspector/front-end/DebuggerPresentationModel.js:
498         * inspector/front-end/ExtensionAPI.js:
499         (injectedExtensionAPI.InspectorExtensionAPI):
500         (injectedExtensionAPI):
501         * inspector/front-end/ExtensionPanel.js:
502         * inspector/front-end/NetworkManager.js:
503         (WebInspector.NetworkManager.prototype.enableResourceTracking):
504         (WebInspector.NetworkManager.prototype.disableResourceTracking):
505         * inspector/front-end/Script.js:
506         * inspector/front-end/Settings.js:
507         * inspector/front-end/TextPrompt.js:
508         (WebInspector.TextPrompt.prototype.complete):
509         * inspector/front-end/utilities.js:
510
511 2011-12-23  Leo Yang  <leo.yang@torchmobile.com.cn>
512
513         [BlackBerry] Add the BlackBerry specific pauseLoad(bool) to ResourceHandle
514         https://bugs.webkit.org/show_bug.cgi?id=75162
515
516         Reviewed by George Staikos.
517
518         The porting can be built now, no new tests so far.
519
520         * platform/network/ResourceHandle.h:
521
522 2011-12-23  Karl Koscher  <supersat@chromium.org>
523
524         Give embedders a chance to handle postMessage calls
525         https://bugs.webkit.org/show_bug.cgi?id=73883
526
527         To support cross-process postMessage calls in Chromium (bug 73337), we need to intercept 
528         postMessage calls to proxy windows. Originally we were just going to add a native event
529         listener on the Chromium side, but that required more changes to WebKit and was a bit of
530         a hack. See bug 73359 for a discuss about moving to this approach.
531
532         Reviewed by Adam Barth.
533
534         Test: platform/chromium/fast/events/intercept-postmessage.html
535
536         * loader/FrameLoaderClient.h:
537         (WebCore::FrameLoaderClient::willCheckAndDispatchPostMessage): new method to allow the
538             embedder to intercept postMessage calls
539         * page/DOMWindow.cpp:
540         (WebCore::DOMWindow::postMessageTimerFired): add a call to
541             FrameLoaderClient::willCheckAndDispatchPostMessage
542
543 2011-12-23  Tom Sepez  <tsepez@chromium.org>
544
545         XSLT-created HTML documents do not inherit content-security-policy from originally loaded XML.
546         https://bugs.webkit.org/show_bug.cgi?id=75043
547
548         Reviewed by Adam Barth.
549
550         Test: http/tests/security/contentSecurityPolicy/xsl-img-blocked.php
551
552         * page/ContentSecurityPolicy.cpp:
553         (WebCore::ContentSecurityPolicy::copyStateFrom):
554         (WebCore::ContentSecurityPolicy::didReceiveHeader):
555         * page/ContentSecurityPolicy.h:
556         * xml/XSLTProcessor.cpp:
557         (WebCore::XSLTProcessor::createDocumentFromSource):
558
559 2011-12-23  Darin Adler  <darin@apple.com>
560
561         REGRESSION (r97533): Optgroup label is not disabled
562         https://bugs.webkit.org/show_bug.cgi?id=74869
563
564         Reviewed by Alexey Proskuryakov.
565
566         * rendering/RenderMenuList.cpp:
567         (WebCore::RenderMenuList::itemIsEnabled): Added back a line of code that was
568         accidentally deleted as part of the refactoring in r97533. This line of code
569         ensures that any items that are not option elements are disabled.
570
571 2011-12-19  Alexander Pavlov  <apavlov@chromium.org>
572
573         Web Inspector: Add CSSStyleSelector instrumentation calls towards implementing a CSS selector profiler
574         https://bugs.webkit.org/show_bug.cgi?id=74863
575
576         Performance checks run on PerformanceTest/Parser/html5-full-render.html did not result in any noticeable
577         perf regression, as the instrumentation calls are inline and bail out early if there are no
578         Web Inspector frontends open.
579
580         Reviewed by Antti Koivisto.
581
582         No new tests, as the functionality is not bound to any user-visible outputs.
583
584         * css/CSSStyleSelector.cpp:
585         (WebCore::CSSStyleSelector::matchRulesForList):
586         (WebCore::CSSStyleSelector::applyDeclaration):
587         * inspector/InspectorInstrumentation.cpp:
588         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
589         (WebCore::InspectorInstrumentation::didMatchRuleImpl):
590         (WebCore::InspectorInstrumentation::willProcessRuleImpl):
591         (WebCore::InspectorInstrumentation::didProcessRuleImpl):
592         * inspector/InspectorInstrumentation.h:
593         (WebCore::InspectorInstrumentation::willMatchRule):
594         (WebCore::InspectorInstrumentation::didMatchRule):
595         (WebCore::InspectorInstrumentation::willProcessRule):
596         (WebCore::InspectorInstrumentation::didProcessRule):
597
598 2011-12-23  Ivan Briano  <ivan@profusion.mobi>
599
600         [EFL] Fix building with Glib support disabled
601         https://bugs.webkit.org/show_bug.cgi?id=70990
602
603         Reviewed by Martin Robinson.
604
605         Add forward declaration for cairo_surface_t, missing when building
606         the EFL port with Glib disabled.
607
608         * platform/cairo/WidgetBackingStore.h:
609
610 2011-12-23  Adam Klein  <adamk@chromium.org>
611
612         Minimize callsites and duplication of before/after advice for attribute mutations
613         https://bugs.webkit.org/show_bug.cgi?id=75054
614
615         Reviewed by Ryosuke Niwa.
616
617         r103452 helpfully made before and after advice regarding attribute
618         changes symmetrical. This change finishes that work, by pulling
619         together all the before/after work, not just the crumbs previously
620         covered. This includes incrementing Document::domTreeVersion()
621         when an attribute is about to be changed, Inspector instrumentation,
622         and MutationEvent dispatch. This is in addition to the previous code,
623         which handled enqueueing MutationRecords for MutationObservers and
624         updating the Document's list of IDs.
625
626         The only change in behavior should be in InspectorInstrumentation,
627         which causes DOM breakpoints to occur for more cases of Attribute
628         mutation. This seems like more correct behavior, and a test has
629         been included to exercise it.
630
631         Hopefully the last Attribute-related refactor for awhile.
632
633         * dom/Attr.cpp:
634         (WebCore::Attr::setValue): Update to call didModifyAttribute instead
635         of attributeChanged.
636         * dom/Element.cpp:
637         (WebCore::Element::removeAttribute): Got rid of
638         removeAttributeInternal as most of that logic moved back into
639         NamedNodeMap::removeAttribute.
640         (WebCore::Element::setAttributeInternal): Reorganized to read better
641         now that only some cases result in calls to will/didModifyAttribute.
642         (WebCore::Element::willModifyAttribute): Un-inlined and added
643         incDOMTreeVersion and InspectorInstrumentation calls.
644         (WebCore::Element::didModifyAttribute): New method which encapsulates
645         calling attributeChanged, InspectorInstrumentation, and MutationEvents.
646         (WebCore::Element::didRemoveAttribute): New method which encapsulates
647         calling attributeChanged, InspectorInstrumentation, and MutationEvents.
648         Separate from didModifyAttribute because it has special handling of
649         the removed Attribute's value.
650         * dom/Element.h:
651         (WebCore::Element::willRemoveAttribute): New method which delegates to
652         willModifyAttribute as appropriate.
653         * dom/NamedNodeMap.cpp:
654         (WebCore::NamedNodeMap::setNamedItem): Simplified.
655         (WebCore::NamedNodeMap::removeNamedItem): Simplified.
656         (WebCore::NamedNodeMap::addAttribute): Added calls to will/didModifyAttribute.
657         (WebCore::NamedNodeMap::removeAttribute): ditto.
658         (WebCore::NamedNodeMap::replaceAttribute): ditto.
659         * svg/properties/SVGAnimatedPropertySynchronizer.h: Reverted changes
660         made in r103452 now that addAttribute/removeAttribute once again
661         call attributeChanged appropriately.
662
663 2011-12-22  Matt Falkenhagen  <falken@chromium.org>
664
665         Map 'lang' and xml:lang attributes to '-webkit-locale' CSS property for use with font fallback and text-transform
666         https://bugs.webkit.org/show_bug.cgi?id=67586
667
668         Original patch by Jungshik Shin <jshin@chromium.org>
669
670         Reviewed by Darin Adler.
671
672         Tests: fast/text/lang-mapped-to-webkit-locale.xhtml
673                fast/text/xml-lang-ignored-in-html.html
674
675         * html/HTMLElement.cpp:
676         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
677         (WebCore::HTMLElement::parseMappedAttribute): Map 'lang' and 'xml:lang' to -webkit-locale.
678         * html/HTMLElement.h:
679
680 2011-12-22  Ryosuke Niwa  <rniwa@webkit.org>
681
682         WinCE build fix after r103539.
683
684         * rendering/svg/RenderSVGResource.cpp:
685         (WebCore::RenderSVGResource::removeFromFilterCache):
686
687 2011-12-22  Chris Marrin  <cmarrin@apple.com>
688
689         Crash and incorrect behavior when switching between hardware and software CSS filters
690         https://bugs.webkit.org/show_bug.cgi?id=75130
691
692         Reviewed by Simon Fraser.
693
694         Test: css3/filters/crash-hw-sw-switch.html
695
696         Backing store on layer gets fixed up (added or removed) after style change is evaluated
697         so the state of the m_filter variable might not match the current filter state. Added
698         updateOrRemoveFilterEffect() call to ensureBacking() and clearBacking() to get the
699         m_filter property in the right state. Also added an ASSERT() where the crash was
700         occuring.
701
702         * rendering/RenderLayer.cpp:
703         (WebCore::RenderLayer::paintLayer):
704         (WebCore::RenderLayer::ensureBacking):
705         (WebCore::RenderLayer::clearBacking):
706
707 2011-12-22  Jon Lee  <jonlee@apple.com>
708
709         Radio buttons cut in download movie sheet
710         https://bugs.webkit.org/show_bug.cgi?id=75128
711         <rdar://problem/9399450>
712
713         Reviewed by Dan Bernstein.
714
715         Test: compositing/overflow/theme-affects-visual-overflow.html
716
717         The clipping comes from the fact the visual overflow rect of the radio button's
718         RenderBlock is not expanded to accommodate for the size of the button on the Mac
719         platform. We use the existing RenderTheme::adjustRepaintRect() to make the
720         appropriate adjustment. This, consequently, makes it unnecessary to have to
721         recalculate it for repaint.
722
723         * rendering/RenderBlock.cpp:
724         (WebCore::RenderBlock::computeOverflow): As part of the overflow computation, we
725         make a call to addVisualOverflowFromTheme().
726         (WebCore::RenderBlock::addVisualOverflowFromTheme): Ask the theme to inflate the
727         RenderBlock's rect if necessary, and add that to the visual overflow rect.
728         * rendering/RenderBlock.h: Added addVisualOverflowFromTheme().
729         * rendering/RenderBox.cpp:
730         (WebCore::RenderBox::clippedOverflowRectForRepaint): Remove the call to
731         adjustRepaintRect() since the rectangle r already uses the new visual overflow
732         rect.
733         * rendering/RenderReplaced.cpp:
734         (WebCore::RenderReplaced::clippedOverflowRectForRepaint): Remove the call to
735         adjustRepaintRect() since the rectangle r already uses the new visual overflow
736         rect.
737
738 2011-12-22  Chris Rogers  <crogers@google.com>
739
740         Fix mac build breakage - add SincResampler files to WebCore.xcodeproj
741         https://bugs.webkit.org/show_bug.cgi?id=75139
742
743         Unreviewed build fix.
744
745         * WebCore.xcodeproj/project.pbxproj:
746
747 2011-12-22  Simon Fraser  <simon.fraser@apple.com>
748
749         Animating some CSS filter values is wrong
750         https://bugs.webkit.org/show_bug.cgi?id=75122
751
752         Reviewed by Chris Marrin.
753         
754         Fix some reversed filter animation behavior for brightness,
755         contrast and drop-shadow filters.
756
757         Test: css3/filters/filter-animation-from-none.html
758
759         * platform/graphics/filters/FilterOperation.cpp:
760         (WebCore::BasicComponentTransferFilterOperation::blend): Just use the global blend() function.
761         (WebCore::BasicComponentTransferFilterOperation::passthroughAmount): Add CONTRAST and BRIGHTNESS to the sswitch.
762         (WebCore::GammaFilterOperation::blend): Fix the ordering.
763         (WebCore::DropShadowFilterOperation::blend): Fix the ordering.
764
765 2011-12-22  Chris Rogers  <crogers@google.com>
766
767         Fix mac build caused by improper include of "Locker.h"
768         https://bugs.webkit.org/show_bug.cgi?id=75134
769
770         Unreviewed build fix.
771
772         * webaudio/MediaElementAudioSourceNode.cpp:
773
774 2011-12-22  Anders Carlsson  <andersca@apple.com>
775
776         More ScrollAnimatorMac cleanup
777         https://bugs.webkit.org/show_bug.cgi?id=75127
778
779         Reviewed by Andreas Kling.
780
781         Introduce a immediateScrollByWithoutContentEdgeConstraints and use it whenever we want to scroll by an
782         offset instead of doing the setConstrainsScrollingToContentEdge dance.
783
784         * platform/mac/ScrollAnimatorMac.h:
785         * platform/mac/ScrollAnimatorMac.mm:
786         (WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
787         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
788         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
789
790 2011-12-22  Chris Rogers  <crogers@google.com>
791
792         Implement MediaElementAudioSourceNode::setFormat() so numberOfChannels and sampleRate are accounted for
793         https://bugs.webkit.org/show_bug.cgi?id=75057
794
795         Reviewed by Eric Carlson.
796
797         * GNUmakefile.list.am:
798         * WebCore.gypi:
799         * WebCore.xcodeproj/project.pbxproj:
800         Add MultiChannelResampler source files to makefiles.
801         * platform/audio/MultiChannelResampler.cpp: Added.
802         (WebCore::MultiChannelResampler::MultiChannelResampler):
803         (WebCore::MultiChannelResampler::process):
804         * platform/audio/MultiChannelResampler.h: Added.
805         Add MultiChannelResampler implementation which uses one SincResampler per channel.
806         * webaudio/MediaElementAudioSourceNode.cpp:
807         (WebCore::MediaElementAudioSourceNode::create):
808         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
809         (WebCore::MediaElementAudioSourceNode::setFormat):
810         (WebCore::MediaElementAudioSourceNode::process):
811         Implement MediaElementAudioSourceNode::setFormat() so that we can
812         properly setup a sample-rate converter and set the number of channels
813         of the MediaElementAudioSourceNode output.
814         * webaudio/MediaElementAudioSourceNode.h:
815
816 2011-12-22  Chris Fleizach  <cfleizach@apple.com>
817
818         AX: WebKit should ignore ARIA role=presentation on focusable elements
819         https://bugs.webkit.org/show_bug.cgi?id=75101
820
821         Reviewed by Darin Adler.
822
823         If an element is focusable, the presentational role must be ignored, lest the user not be able
824         to interact with something important.
825
826         Test: accessibility/presentational-elements-with-focus.html
827
828         * accessibility/AccessibilityRenderObject.cpp:
829         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
830         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
831         (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
832
833 2011-12-22  Anders Carlsson  <andersca@apple.com>
834
835         Use immediateScrollBy instead of immediateScrollTo where possible
836         https://bugs.webkit.org/show_bug.cgi?id=75124
837
838         Reviewed by Sam Weinig.
839
840         Instead of computing the position to scroll to, just compute the delta and use scrollBy instead.
841
842         * platform/mac/ScrollAnimatorMac.mm:
843         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
844         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
845
846 2011-12-22  Anders Carlsson  <andersca@apple.com>
847
848         Remove a private ScrollAnimatorMac getter/setter and just update the member variable directly
849         https://bugs.webkit.org/show_bug.cgi?id=75121
850
851         Reviewed by Sam Weinig.
852
853         * platform/mac/ScrollAnimatorMac.h:
854         * platform/mac/ScrollAnimatorMac.mm:
855         (WebCore::ScrollAnimatorMac::setIsActive):
856         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
857
858 2011-12-22  Anders Carlsson  <andersca@apple.com>
859
860         Simplify ScrollAnimatorMac scrollByDelta functions
861         https://bugs.webkit.org/show_bug.cgi?id=75120
862
863         Reviewed by Sam Weinig.
864
865         Merge immediateScrollByDeltaX and immediateScrollByDeltaY to a single function and rename it
866         to immediateScrollBy. Also, rename immediateScrollToPoint to immediateScrollTo.
867         
868         * platform/mac/ScrollAnimatorMac.h:
869         * platform/mac/ScrollAnimatorMac.mm:
870         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
871         (WebCore::ScrollAnimatorMac::immediateScrollTo):
872         (WebCore::ScrollAnimatorMac::immediateScrollBy):
873         (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):
874         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
875         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
876
877 2011-12-22  Anders Carlsson  <andersca@apple.com>
878
879         Make some ScrollAnimatorMac member functions private
880         https://bugs.webkit.org/show_bug.cgi?id=75117
881
882         Reviewed by Sam Weinig.
883
884         Make virtual member functions and functions that are only called from ScrollAnimatorMac private.
885
886         * platform/mac/ScrollAnimatorMac.h:
887
888 2011-12-22  Anders Carlsson  <andersca@apple.com>
889
890         Move some member variables out of ScrollElasticityController
891         https://bugs.webkit.org/show_bug.cgi?id=75115
892
893         Reviewed by Adam Roben.
894
895         Move a couple of member variables that aren't related to rubberbanding out from
896         ScrollElasticityController and back into ScrollAnimatorMac and remove now unneeded
897         ScrollElasticityControllerClient member functions as well.
898
899         * platform/mac/ScrollAnimatorMac.h:
900         * platform/mac/ScrollAnimatorMac.mm:
901         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
902         (WebCore::ScrollAnimatorMac::handleWheelEvent):
903         (WebCore::ScrollAnimatorMac::beginScrollGesture):
904         * platform/mac/ScrollElasticityController.h:
905         * platform/mac/ScrollElasticityController.mm:
906         (WebCore::ScrollElasticityController::ScrollElasticityController):
907         (WebCore::ScrollElasticityController::beginScrollGesture):
908
909 2011-12-22  Balazs Kelemen  <kbalazs@webkit.org>
910
911         Fix debug build with assertions disabled
912         https://bugs.webkit.org/show_bug.cgi?id=75075
913
914         Reviewed by Darin Adler.
915
916         Check whether assertions are disabled instead of NDEBUG
917         where appropriate to avoid "defined but not used" warnings.
918
919         No change in behaviour so no new tests.
920
921         * loader/cache/MemoryCache.cpp:
922         (WebCore::MemoryCache::insertInLRUList):
923         (WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
924         (WebCore::MemoryCache::insertInLiveDecodedResourcesList):
925         * rendering/RenderBlock.cpp:
926         (WebCore::RenderBlock::layoutBlockChild):
927         * rendering/RenderLayer.cpp:
928         (WebCore::RenderLayer::updateLayerPositions):
929
930 2011-12-22  Anders Carlsson  <andersca@apple.com>
931
932         Get rid of didStartAnimatedScroll and didCompleteAnimatedScroll
933         https://bugs.webkit.org/show_bug.cgi?id=75107
934
935         Reviewed by Adam Roben.
936
937         This is another step towards removing the display throttling in WebKit2.
938
939         * page/ChromeClient.h:
940         * page/FrameView.cpp:
941         * page/FrameView.h:
942         * platform/ScrollableArea.h:
943         * platform/mac/ScrollAnimatorMac.mm:
944         (WebCore::ScrollAnimatorMac::scroll):
945         (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):
946
947 2011-12-22  Anders Carlsson  <andersca@apple.com>
948
949         Remove didStartRubberBand and didCompleteRubberBand callbacks
950         https://bugs.webkit.org/show_bug.cgi?id=75102
951
952         Reviewed by Adam Roben.
953
954         The code to do display throttling in WebKit2 is complex and doesn't really help us except
955         on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead.
956
957         * page/ChromeClient.h:
958         * page/FrameView.cpp:
959         * page/FrameView.h:
960         * platform/ScrollView.cpp:
961         * platform/ScrollView.h:
962         * platform/ScrollableArea.h:
963         * platform/mac/ScrollAnimatorMac.mm:
964         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
965         * rendering/RenderLayer.cpp:
966         * rendering/RenderLayer.h:
967
968 2011-12-22  Vsevolod Vlasov  <vsevik@chromium.org>
969
970         Web Inspector: [Regression] Network item view is not displayed.
971         https://bugs.webkit.org/show_bug.cgi?id=75100
972
973         Not reviewed, one line css fix.
974
975         * inspector/front-end/networkPanel.css:
976         (.network-item-view.visible):
977
978 2011-12-22  Andreas Kling  <kling@webkit.org>
979
980         NamedNodeMap: Get rid of declCount().
981         <http://webkit.org/b/74948>
982
983         Reviewed by Darin Adler.
984
985         We already have the number of mapped attribute declarations in the map
986         stored in m_mappedAttributeCount (updated by declAdded()/declRemoved())
987         so compare that in mappedMapsEquivalent() to skip one loop over the map.
988
989         * dom/NamedNodeMap.cpp:
990         (WebCore::NamedNodeMap::mappedMapsEquivalent):
991         * dom/NamedNodeMap.h:
992
993 2011-12-22  Andreas Kling  <kling@webkit.org>
994
995         SnowLeopard crashes due to thread-unsafe EventListenerIterator ASSERTs
996         <http://webkit.org/b/74260>
997
998         Reviewed by Darin Adler.
999
1000         Guard EventListenerMap::m_activeIteratorCount with a mutex.
1001
1002         * dom/EventListenerMap.cpp:
1003         (WebCore::activeIteratorCountMutex):
1004         (WebCore::EventListenerMap::assertNoActiveIterators):
1005         (WebCore::EventListenerMap::clear):
1006         (WebCore::EventListenerMap::add):
1007         (WebCore::EventListenerMap::remove):
1008         (WebCore::EventListenerMap::find):
1009         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
1010         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
1011         (WebCore::EventListenerIterator::EventListenerIterator):
1012         (WebCore::EventListenerIterator::~EventListenerIterator):
1013         * dom/EventListenerMap.h:
1014         (WebCore::EventListenerMap::assertNoActiveIterators):
1015
1016 2011-12-22  Vsevolod Vlasov  <vsevik@chromium.org>
1017
1018         Web Inspector: TabbedPane should support closeable tabs, hiding tabs into drop down menu.
1019         https://bugs.webkit.org/show_bug.cgi?id=75085
1020
1021         Reviewed by Pavel Feldman.
1022
1023         Test: inspector/tabbed-pane-tabs-to-show.html
1024
1025         * WebCore.gypi:
1026         * WebCore.vcproj/WebCore.vcproj:
1027         * inspector/front-end/ScriptsNavigator.js:
1028         (WebInspector.ScriptsNavigator):
1029         * inspector/front-end/TabbedPane.js:
1030         (WebInspector.TabbedPane):
1031         (WebInspector.TabbedPane.prototype.set shrinkableTabs):
1032         (WebInspector.TabbedPane.prototype.set closeableTabs):
1033         (WebInspector.TabbedPane.prototype.appendTab):
1034         (WebInspector.TabbedPane.prototype.closeTab):
1035         (WebInspector.TabbedPane.prototype.selectTab):
1036         (WebInspector.TabbedPane.prototype.onResize):
1037         (WebInspector.TabbedPane.prototype._updateTabElements):
1038         (WebInspector.TabbedPane.prototype._showTabElement):
1039         (WebInspector.TabbedPane.prototype._hideTabElement):
1040         (WebInspector.TabbedPane.prototype._createDropDownButton):
1041         (WebInspector.TabbedPane.prototype._updateTabsDropDown):
1042         (WebInspector.TabbedPane.prototype._populateDropDownFromIndex):
1043         (WebInspector.TabbedPane.prototype._tabsSelectChanged):
1044         (WebInspector.TabbedPane.prototype._measureDropDownButton):
1045         (WebInspector.TabbedPane.prototype._updateWidths):
1046         (WebInspector.TabbedPane.prototype._calculateMaxWidth.var):
1047         (WebInspector.TabbedPane.prototype._calculateMaxWidth):
1048         (WebInspector.TabbedPane.prototype._hideCurrentTab):
1049         (WebInspector.TabbedPaneTab):
1050         (WebInspector.TabbedPaneTab.prototype.get id):
1051         (WebInspector.TabbedPaneTab.prototype.get tabElement):
1052         (WebInspector.TabbedPaneTab.prototype.get measuredWidth):
1053         (WebInspector.TabbedPaneTab.prototype.get width):
1054         (WebInspector.TabbedPaneTab.prototype.set width):
1055         (WebInspector.TabbedPaneTab.prototype._createTabElement):
1056         (WebInspector.TabbedPaneTab.prototype._measure):
1057         (WebInspector.TabbedPaneTab.prototype._tabSelected):
1058         (WebInspector.TabbedPaneTab.prototype._tabClosed):
1059         * inspector/front-end/WebKit.qrc:
1060         * inspector/front-end/inspector.css:
1061         * inspector/front-end/scriptsPanel.css:
1062         (#scripts-navigator-tabbed-pane .tabbed-pane-header-contents):
1063         * inspector/front-end/tabbedPane.css: Added.
1064
1065 2011-12-22  Chris Fleizach  <cfleizach@apple.com>
1066
1067         AX: attributed strings do not include AXHeading information when a link is contained within the heading
1068         https://bugs.webkit.org/show_bug.cgi?id=75059
1069
1070         Reviewed by Darin Adler.
1071
1072         An attributed string should contain the heading level of an ancestor node if it exists.
1073         This change allows the ancestor to be higher up in the hierarchy than just the direct parent.
1074
1075         Test: platform/mac/accessibility/heading-and-link-attributed-string.html
1076
1077         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1078           (AXAttributeStringSetHeadingLevel):
1079
1080 2011-12-22  Chris Fleizach  <cfleizach@apple.com>
1081
1082         AX: Title attribute should not be used in AXTitle
1083         https://bugs.webkit.org/show_bug.cgi?id=75027
1084
1085         Reviewed by Darin Adler.
1086
1087         Accessibility has been incorrectly exposing the title attribute through AXTitle. The title
1088         attribute better corresponds with a help tag for accessibility clients.
1089
1090         Test: platform/mac/accessibility/title-attribute-not-used-as-axtitle.html
1091
1092         * accessibility/AccessibilityRenderObject.cpp:
1093         (WebCore::AccessibilityRenderObject::title):
1094             Don't use the title attribute.
1095         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
1096             Change the semantics around when a checkbox or radio button combines it's title ui element. The change
1097             makes it so that we will expose the title ui element when the control already has a label. Otherwise
1098             the title ui element is hidden, and it's text is used as the AXTitle for the control.
1099         (WebCore::AccessibilityRenderObject::titleUIElement):
1100             Change this method so it always returns the title ui element, and then leave it up to exposesTitleUIElement
1101             to determine whether it should be shown.
1102         * accessibility/AccessibilityTableCell.h:
1103         (WebCore::AccessibilityTableCell::exposesTitleUIElement):
1104             There's no special logic for table cells that have title ui elements, and we don't want to use
1105             the logic in AccessibilityRenderObject, hence the override here.
1106         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1107         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1108
1109 2011-12-22  Chris Fleizach  <cfleizach@apple.com>
1110
1111         AX: aria-describedby should not be part of AXDescription (should be a part of AXHelp)
1112         https://bugs.webkit.org/show_bug.cgi?id=75052
1113
1114         Reviewed by Darin Adler.
1115
1116         According to the ARIA spec, aria-describedby is a more detailed description that is akin to help, rather
1117         than a description describing the actual object.
1118
1119         As such, it makes more sense for this attribute to be exposed under help text.
1120
1121         * accessibility/AccessibilityRenderObject.cpp:
1122         (WebCore::AccessibilityRenderObject::helpText):
1123         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
1124
1125 2011-12-22  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
1126
1127         [EFL] Missing plugins support for efl port
1128         https://bugs.webkit.org/show_bug.cgi?id=44505
1129
1130         Reviewed by Anders Carlsson.
1131
1132         Basic functionality of plugins for efl port.
1133
1134         Template version, so no new tests are needed.
1135
1136         * PlatformEfl.cmake:
1137         * plugins/PluginView.h:
1138         * plugins/efl/PluginDataEfl.cpp: Added. Copied from plugins/gtk/PluginDataGtk.cpp.
1139         (WebCore::PluginData::initPlugins): Fill mime/description/extension maps for plugins.
1140         (WebCore::PluginData::refresh): Refresh plugin's database.
1141         * plugins/efl/PluginPackageEfl.cpp: Added. Copied from plugins/gtk/PluginPackageGtk.cpp.
1142         (WebCore::PluginPackage::fetchInfo): Get info from plugin's library about name and mime supported.
1143         (WebCore::PluginPackage::NPVersion):
1144         (WebCore::PluginPackage::load): Load plugin.
1145         * plugins/efl/PluginViewEfl.cpp: Added. Copied from plugins/gtk/PluginViewGtk.cpp.
1146         (WebCore::PluginView::dispatchNPEvent):
1147         (WebCore::PluginView::handleFocusInEvent):
1148         (WebCore::PluginView::handleFocusOutEvent):
1149         (WebCore::PluginView::handleKeyboardEvent):
1150         (WebCore::PluginView::handleMouseEvent):
1151         (WebCore::PluginView::updatePluginWidget):
1152         (WebCore::PluginView::setFocus):
1153         (WebCore::PluginView::show):
1154         (WebCore::PluginView::hide):
1155         (WebCore::PluginView::paint):
1156         (WebCore::PluginView::setParent):
1157         (WebCore::PluginView::setNPWindowRect):
1158         (WebCore::PluginView::setNPWindowIfNeeded):
1159         (WebCore::PluginView::setParentVisible):
1160         (WebCore::PluginView::handlePostReadFile):
1161         (WebCore::PluginView::platformGetValueStatic):
1162         (WebCore::PluginView::platformGetValue):
1163         (WebCore::PluginView::invalidateRect):
1164         (WebCore::PluginView::invalidateRegion):
1165         (WebCore::PluginView::forceRedraw):
1166         (WebCore::PluginView::platformStart):
1167         (WebCore::PluginView::platformDestroy):
1168
1169 2011-12-22  Pavel Podivilov  <podivilov@chromium.org>
1170
1171         Web Inspector: add "install source map" to JS source frame context menu.
1172         https://bugs.webkit.org/show_bug.cgi?id=74181
1173
1174         Reviewed by Pavel Feldman.
1175
1176         Add "install source map" to source frame context menu when source map url is auto detected.
1177
1178         * English.lproj/localizedStrings.js:
1179         * inspector/front-end/CompilerSourceMapping.js:
1180         (WebInspector.ClosureCompilerSourceMapping.prototype.load):
1181         (WebInspector.ClosureCompilerSourceMapping.prototype._parseSections):
1182         * inspector/front-end/DebuggerPresentationModel.js:
1183         (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
1184         * inspector/front-end/JavaScriptSourceFrame.js:
1185         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
1186         (WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
1187         * inspector/front-end/RawSourceCode.js:
1188         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
1189         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
1190         (WebInspector.RawSourceCode.prototype._createSourceMapping):
1191         (WebInspector.RawSourceCode.prototype._createUISourceCode):
1192         * inspector/front-end/UISourceCode.js:
1193         (WebInspector.UISourceCode):
1194
1195 2011-12-22  Branimir Lambov  <blambov@google.com>
1196
1197         SVG: "filter" race condition may prevent SVG elements from being re-drawn
1198         https://bugs.webkit.org/show_bug.cgi?id=53088
1199
1200         Reviewed by Nikolas Zimmermann.
1201
1202         Added code to explicitly invalidate data cached by filters applied to
1203         an invalidated object or one of its parents.
1204
1205         Test: svg/filters/filter-refresh.svg
1206
1207         * rendering/svg/RenderSVGResource.cpp:
1208         (WebCore::RenderSVGResource::removeFromFilterCache):
1209         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
1210         Added code to invalidate any filters applied to any of the parents.
1211         * rendering/svg/RenderSVGResource.h:
1212         * rendering/svg/RenderSVGResourceContainer.cpp:
1213         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
1214         Replaced a duplicate of RenderSVGResource::
1215         markForLayoutAndParentResourceInvalidation with a call to the method.
1216         * rendering/svg/SVGResourcesCache.cpp:
1217         (WebCore::SVGResourcesCache::clientLayoutChanged):
1218         Removed filter invalidation code as this function would not be called if
1219         the filter isn't already invalidated.
1220         (WebCore::SVGResourcesCache::clientStyleChanged):
1221         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
1222         Replaced filter invalidation with a markForLayoutAndParentResourceInvalidation
1223         call as all filters in the ancestor chain need to be invalidated.
1224
1225 2011-12-22  Leo Yang  <leo.yang@torchmobile.com.cn>
1226
1227         [BlackBerry] Upstream the BlackBerry change to ResourceHandle.h
1228         https://bugs.webkit.org/show_bug.cgi?id=75061
1229
1230         Reviewed by George Staikos.
1231
1232         No functionality change to the existing code, no new tests.
1233
1234         * platform/network/ResourceHandle.h:
1235
1236 2011-12-22  Alexandru Chiculita  <achicu@adobe.com>
1237
1238         [CSS Shaders] Follow up bug to fix issues mentioned in comment 23 from bug 73317
1239         https://bugs.webkit.org/show_bug.cgi?id=74840
1240         
1241         Some comments were added on bug 73317 after the patch was reviewed and committed.
1242         This patch is fixing those issues, mostly about coding style and some missing comments.
1243         
1244         The initial patch had no explanation about the feature in the ChangeLog, so I'm including the description
1245         in this patch:
1246         
1247         CSS Shaders allow a designer to use a pair of WebGL vertex and fragment shaders to alter the final
1248         rendering of a specific element. The navigator will render the element inside a texture and map it
1249         to a mesh. The mesh is formed by equal sized quads, that depending on the mesh style, attached or detached,
1250         can be stitched or separated. The number of quads can be changed from CSS.
1251         
1252         Usually the vertex shader is changing the vertices of the mesh, while the fragment shader affects only the color
1253         that is rendered to screen (for example lighting effects).
1254         
1255         More info about CSS Shaders can be found in the specification
1256         https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html
1257         
1258         Also a good tutorial is published here
1259         http://www.adobe.com/devnet/html5/articles/css-shaders.html
1260         
1261         Initially we are using the software filter effects pipeline. It uploads the image to the GPU, applies
1262         the shaders, reads it back to CPU and continues the rendering. The advantage of using the software pipeline is that
1263         it can be enabled on all the platforms that have WebGL support. The obvious disadvantage is performance: copies from CPU
1264         memory to GPU memory and the CPU will need to wait the GPU to finish before it could continue. In following 
1265         patches the shaders will be integrated in the hardware accelerated pipeline, so that no copies and, most 
1266         important, no waits will be required.
1267         
1268         Also, the new syntax counts total number of the lines and the columns, not just the
1269         additional lines and columns, so the minimum accepted and the default value is now 1 by 1.
1270
1271         Reviewed by Nikolas Zimmermann.
1272
1273         Some tests were updated for the default mesh size change.
1274
1275         * css/CSSParser.cpp:
1276             Only accept non-zero positive int values for mesh sizes.
1277             
1278         (WebCore::CSSParser::parseCustomFilter):
1279         * css/CSSStyleSelector.cpp:
1280             Updated the default mesh size to be 1 column with 1 line.
1281             
1282         (WebCore::CSSStyleSelector::createCustomFilterOperation):
1283         * loader/cache/CachedShader.cpp:
1284         (WebCore::CachedShader::shaderString):
1285             Corrected the CachedShader to use a StringBuilder. Also there was an incorrect 
1286             cast to bool, which resulted from a copy/paste from CachedScript which still has
1287             both same issues.
1288             
1289         (WebCore::CachedShader::data):
1290         * loader/cache/CachedShader.h:
1291         * platform/graphics/filters/CustomFilterMesh.cpp:
1292         (WebCore::MeshGenerator::MeshGenerator):
1293         (WebCore::MeshGenerator::verticesCount):
1294         (WebCore::MeshGenerator::generateAttachedMesh):
1295         (WebCore::MeshGenerator::generateDetachedMesh):
1296         (WebCore::CustomFilterMesh::CustomFilterMesh):
1297         * platform/graphics/filters/CustomFilterMesh.h:
1298         (WebCore::CustomFilterMesh::create):
1299         * platform/graphics/filters/CustomFilterShader.cpp:
1300         (WebCore::CustomFilterShader::CustomFilterShader):
1301             Exploded the body of the constructor into smaller helper functions.
1302             
1303         (WebCore::CustomFilterShader::compileShader):
1304         (WebCore::CustomFilterShader::linkProgram):
1305         (WebCore::CustomFilterShader::initializeParameterLocations):
1306         * platform/graphics/filters/CustomFilterShader.h:
1307         * platform/graphics/filters/FECustomFilter.cpp:
1308         (WebCore::orthogonalProjectionMatrix):
1309             Passing a TransformationMatrix by reference to be filled with the result matrix, instead
1310             of returning it by value. Also changed the name of the method.
1311             
1312         (WebCore::FECustomFilter::FECustomFilter):
1313         (WebCore::FECustomFilter::platformApplySoftware):
1314             Created some helper functions to make this method shorter.
1315             
1316         (WebCore::FECustomFilter::initializeContext):
1317         (WebCore::FECustomFilter::resizeContext):
1318         (WebCore::FECustomFilter::bindVertexAttribute):
1319         (WebCore::FECustomFilter::bindProgramAndBuffers):
1320         * platform/graphics/filters/FECustomFilter.h:
1321
1322 2011-12-12  Pavel Podivilov  <podivilov@chromium.org>
1323
1324         Web Inspector: fix source map url resolving.
1325         https://bugs.webkit.org/show_bug.cgi?id=74305
1326
1327         Reviewed by Pavel Feldman.
1328
1329         Also fix the bug with repeated source urls in mapping sections.
1330
1331         * inspector/front-end/CompilerSourceMapping.js:
1332         (WebInspector.ClosureCompilerSourceMapping):
1333         (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
1334         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
1335         (WebInspector.ClosureCompilerSourceMapping.prototype._resolveSourceMapURL):
1336         * inspector/front-end/DebuggerPresentationModel.js:
1337         (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
1338         * inspector/front-end/utilities.js:
1339         (String.prototype.asParsedURL):
1340
1341 2011-12-09  Pavel Podivilov  <podivilov@chromium.org>
1342
1343         Web Inspector: auto detect source map url.
1344         https://bugs.webkit.org/show_bug.cgi?id=74088
1345
1346         Reviewed by Pavel Feldman.
1347
1348         Check to see if "X-SourceMap" HTTP response header was sent with script resource.
1349         Header value will be used as auto suggestion for source map url in UI.
1350
1351         * inspector/Inspector.json:
1352         * inspector/InspectorDebuggerAgent.cpp:
1353         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
1354         (WebCore::InspectorDebuggerAgent::didParseSource):
1355         * inspector/InspectorDebuggerAgent.h:
1356         * inspector/front-end/DebuggerModel.js:
1357         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1358         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
1359         * inspector/front-end/RawSourceCode.js:
1360         (WebInspector.RawSourceCode):
1361         * inspector/front-end/Script.js:
1362         (WebInspector.Script):
1363
1364 2011-12-22  Kentaro Hara  <haraken@chromium.org>
1365
1366         Change the build flow of AppleWebKit to use the [Supplemental] IDL
1367         https://bugs.webkit.org/show_bug.cgi?id=74900
1368
1369         Reviewed by Adam Barth.
1370
1371         This is the final step for bug 74599. This patch changes the build flow
1372         of DerivedSources.make as follows, and thus enable the [Supplemental] IDL.
1373
1374         - Previous build flow:
1375             foreach $idl (all IDL files) {
1376                 generate-bindings.pl depends on $idl;
1377                 generate-bindings.pl reads $idl;
1378                 generate-bindings.pl generates .h and .cpp files for $idl;
1379             }
1380
1381         - New build flow (See the discussions in bug 72138 for more details):
1382             resolve-supplemental.pl depends on all IDL files;
1383             resolve-supplemental.pl reads all IDL files;
1384             resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
1385             resolve-supplemental.pl outputs supplemental_dependency.tmp;
1386             foreach $idl (all IDL files) {
1387                 generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
1388                 generate-bindings.pl reads $idl;
1389                 generate-bindings.pl reads supplemental_dependency.tmp;
1390                 generate-bindings.pl generates .h and .cpp files for $idl,
1391                     including all attributes in the IDL files that are implementing $idl;
1392             }
1393
1394         Tests: Confirm that build succeeds.
1395                http/tests/websocket/tests/*
1396
1397         * DerivedSources.make: Described the build flow as described above.
1398         Added a list of IDL files. Instead, removed a list of JS*.h and JS*.cpp
1399         which are generated by the IDL files.
1400
1401 2011-12-22  Eric Uhrhane  <ericu@chromium.org>
1402
1403         [filesystem] Remove old filesystem naming restrictions
1404         https://bugs.webkit.org/show_bug.cgi?id=62813
1405
1406         Reviewed by David Levin.
1407
1408         * fileapi/DOMFilePath.cpp:
1409         (WebCore::DOMFilePath::isValidPath): Replace strict restrictions with
1410         minimal safety [no files named "." or "..", no use of '\\' or '\0' in
1411         paths, no use of '/' in file names].
1412
1413 2011-12-22  Greg Billock  <gbillock@google.com>
1414
1415         [Coverity] Address use-after-free report in MemoryCache
1416         https://bugs.webkit.org/show_bug.cgi?id=74970
1417
1418         Reviewed by Eric Seidel.
1419
1420         * loader/cache/MemoryCache.cpp:
1421         (WebCore::MemoryCache::revalidationSucceeded):
1422
1423 2011-12-22  Tom Sepez  <tsepez@chromium.org>
1424
1425         XSLT-created HTML documents do not inherit first party for cookies from originally loaded XML.
1426         https://bugs.webkit.org/show_bug.cgi?id=74757
1427
1428         Reviewed by Alexey Proskuryakov.
1429
1430         Tests: http/tests/security/cookies/first-party-cookie-allow-xslt.xml
1431                http/tests/security/cookies/third-party-cookie-blocking-xslt.xml
1432
1433         * xml/XSLTProcessor.cpp:
1434         (WebCore::XSLTProcessor::createDocumentFromSource):
1435
1436 2011-12-22  Daniel Jalkut  <jalkut@red-sweater.com>
1437
1438         WebKit editing throws exception when monochrome color dragged onto text
1439         https://bugs.webkit.org/show_bug.cgi?id=74775
1440
1441         Reviewed by Ryosuke Niwa.
1442
1443         Handle non-RGB colorspace colors in the Mac platform drag manager. Fixes NSException thrown 
1444         when dragging monochrome colors to contentEditable regions.
1445
1446         Manual test added to trunk/ManualTests/drag-color-to-contenteditable.html
1447
1448         * platform/mac/DragDataMac.mm:
1449         (WebCore::DragData::asColor):
1450
1451 2011-12-22  Peter Rybin  <peter.rybin@gmail.com>
1452
1453         Web Inspector: CodeGeneratorInspector.py: generate anonymous types.
1454         https://bugs.webkit.org/show_bug.cgi?id=74890
1455
1456         Reviewed by Yury Semikhatsky.
1457
1458         Anonymous types are generated. Forward declarations are generated.
1459
1460         In general it now generates C++ types for anonymous object types from
1461         JSON. It takes a name from the type declaration site, usually a
1462         parameter name. This all is explained in comments in generated file. Also
1463         all generated types now refer to other generated types in setter
1464         methods -- but this is commented out in generated code for now. All
1465         necessary forward declarations are also added. Anonymous enums are
1466         generated, but they are in comments too, because we didn't have
1467         solution about form the enums should have in C++ API.
1468
1469         Internally:
1470         The change reorganizes type bindings — a polymorphous "code generator"
1471         object is factored out from binding.
1472         A helper class Writer is added to allow generating code with ajustable
1473         indentations and to support insertion points where additional code can
1474         be inserted retroactively.
1475         ForwardListener class is used for preparing necessary forward
1476         declarations.
1477         AdHocTypeContext conception is a speculative abstract class that is
1478         needed wherever anonymous type can emerge.
1479
1480         * inspector/CodeGeneratorInspector.py:
1481         (fix_type_name.Result.output_comment):
1482         (Writer.__init__):
1483         (Writer.newline):
1484         (Writer.append):
1485         (Writer.newline_multiline):
1486         (Writer.append_multiline):
1487         (Writer.get_indented):
1488         (Writer):
1489         (Writer.insert_writer):
1490         (TypeBindings.create_named_type_declaration.Helper.write_doc):
1491         (TypeBindings.create_named_type_declaration.Helper):
1492         (TypeBindings.create_named_type_declaration.Helper.add_to_forward_listener):
1493         (TypeBindings.create_named_type_declaration):
1494         (TypeBindings.create_ad_hoc_type_declaration.Helper.write_doc):
1495         (TypeBindings.create_ad_hoc_type_declaration.Helper):
1496         (TypeBindings.create_ad_hoc_type_declaration.Helper.add_to_forward_listener):
1497         (TypeBindings.create_ad_hoc_type_declaration):
1498         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
1499         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator):
1500         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.register_use):
1501         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
1502         (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.generate_type_builder.String):
1503         (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.generate_type_builder):
1504         (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator):
1505         (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.register_use):
1506         (TypeBindings.create_type_declaration_.PlainString.get_code_generator):
1507         (TypeBindings.create_type_declaration_.PlainString.get_in_c_type_text.name):
1508         (TypeBindings.create_type_declaration_.PlainString):
1509         (TypeBindings.create_type_declaration_):
1510         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
1511         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator):
1512         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
1513         (AdHocTypeContextImpl.__init__):
1514         (AdHocTypeContextImpl.get_type_name_fix.NameFix):
1515         (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
1516         (AdHocTypeContextImpl.get_type_name_fix):
1517         (AdHocTypeContextImpl):
1518         (AdHocTypeContextImpl.call_generate_type_builder):
1519         (generate_forward_declaration):
1520         (register_use):
1521         (get_in_c_type_text):
1522         (reduce_to_raw_type):
1523         (PlainObjectBinding.get_code_generator):
1524         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
1525         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
1526         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
1527         (CodeGenerator.generate_type_builder.AdHocTypeContext):
1528         (CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
1529         (CodeGenerator.generate_type_builder):
1530         (CodeGenerator):
1531         (CodeGenerator.register_use):
1532         (RawTypesBinding.get_code_generator):
1533         (RawTypesBinding.get_in_c_type_text):
1534         (RawTypesBinding):
1535         (RawTypesBinding.reduce_to_raw_type):
1536         (TypeData.__init__):
1537         (TypeData.get_json_type):
1538         (resolve_param_type):
1539         (Generator.go):
1540         (Generator.process_event.NoOpForwardListener):
1541         (Generator.process_event.NoOpForwardListener.add_type_data):
1542         (Generator.process_event.AdHocTypeContext.get_type_name_fix.NameFix):
1543         (Generator.process_event.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
1544         (Generator.process_event.AdHocTypeContext.get_type_name_fix):
1545         (Generator.process_event.AdHocTypeContext):
1546         (Generator.process_event.AdHocTypeContext.call_generate_type_builder):
1547         (Generator.process_event):
1548         (Generator.process_types.ForwardListener):
1549         (Generator.process_types.ForwardListener.add_type_data):
1550         (Generator.process_types.generate_all_domains_code.namespace_lazy_generator):
1551         (Generator.process_types.generate_all_domains_code):
1552         (Generator.process_types.call_type_builder):
1553         (Generator.process_types.generate_forward_callback):
1554         (Generator):
1555         (Generator.process_types):
1556         (flatten_list.fill_recursive):
1557         (flatten_list):
1558
1559 2011-12-22  Hans Muller  <hmuller@adobe.com>
1560
1561         Onloadend event is not supported in XMLHttpRequest
1562         https://bugs.webkit.org/show_bug.cgi?id=40952
1563
1564         Reviewed by Julien Chaffraix.
1565
1566         Added support for the loadend ProgressEvent to XMLHttpRequest and XMLHttpRequestUpload.
1567         A new method, dispatchEventAndLoadEnd(), was added to XMLHttpRequestProgressEventThrottle
1568         and XMLHttpRequestUpload to foolproof the common case of dispatching a load, abort,
1569         or error event followed by a loadend event.
1570
1571         Tests: http/tests/xmlhttprequest/onloadend-event-after-abort.html
1572                http/tests/xmlhttprequest/onloadend-event-after-error.html
1573                http/tests/xmlhttprequest/onloadend-event-after-load.html
1574                http/tests/xmlhttprequest/onloadend-event-after-sync-requests.html
1575                http/tests/xmlhttprequest/upload-onloadend-event-after-abort.html
1576                http/tests/xmlhttprequest/upload-onloadend-event-after-load.html
1577                http/tests/xmlhttprequest/upload-onloadend-event-after-sync-requests.html
1578
1579         * xml/XMLHttpRequest.cpp:
1580         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1581         (WebCore::XMLHttpRequest::abort):
1582         (WebCore::XMLHttpRequest::networkError):
1583         (WebCore::XMLHttpRequest::abortError):
1584         (WebCore::XMLHttpRequest::didSendData):
1585         * xml/XMLHttpRequest.h:
1586         * xml/XMLHttpRequest.idl:
1587         * xml/XMLHttpRequestProgressEventThrottle.cpp:
1588         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadEnd):
1589         * xml/XMLHttpRequestProgressEventThrottle.h:
1590         * xml/XMLHttpRequestUpload.cpp:
1591         (WebCore::XMLHttpRequestUpload::dispatchEventAndLoadEnd):
1592         * xml/XMLHttpRequestUpload.h:
1593         * xml/XMLHttpRequestUpload.idl:
1594
1595 2011-12-22  Mark Pilgrim  <pilgrim@chromium.org>
1596
1597         [FileSystem API] Entry.getMetadata successCallback is required
1598         https://bugs.webkit.org/show_bug.cgi?id=69638
1599
1600         Reviewed by Eric Seidel.
1601
1602         Test: fast/filesystem/simple-required-arguments-getmetadata.html
1603
1604         * fileapi/Entry.idl: remove [Optional] flag from successCallback parameter
1605
1606 2011-12-22  Ilya Tikhonovsky  <loislo@chromium.org>
1607
1608         Unreviewed, rolling out r103405.
1609         http://trac.webkit.org/changeset/103405
1610         https://bugs.webkit.org/show_bug.cgi?id=74088
1611
1612         it broke WorkerDevToolsSanityTest.InspectSharedWorker
1613
1614         * inspector/Inspector.json:
1615         * inspector/InspectorDebuggerAgent.cpp:
1616         (WebCore::InspectorDebuggerAgent::didParseSource):
1617         * inspector/InspectorDebuggerAgent.h:
1618         * inspector/front-end/DebuggerModel.js:
1619         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1620         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
1621         * inspector/front-end/RawSourceCode.js:
1622         (WebInspector.RawSourceCode):
1623         * inspector/front-end/Script.js:
1624         (WebInspector.Script):
1625         (WebInspector.Script.prototype.searchInContent):
1626
1627 2011-12-21  Darin Adler  <darin@apple.com>
1628
1629         Make ~CSSParserSelector use Vector<OwnPtr>
1630         https://bugs.webkit.org/show_bug.cgi?id=73782
1631
1632         Reviewed by Alexey Proskuryakov.
1633
1634         * css/CSSParserValues.cpp:
1635         (WebCore::CSSParserSelector::~CSSParserSelector): Use Vector<OwnPtr>
1636         so we don't have to call leakPtr or deleteAllValues.
1637
1638 2011-12-21  Yosifumi Inoue  <yosin@chromium.org>
1639
1640         [Forms] Selection change by type-ahead doesn't fire 'change' event
1641         https://bugs.webkit.org/show_bug.cgi?id=74590
1642
1643         Reviewed by Kent Tamura.
1644
1645         This patch changes when onchange event fired in select element for:
1646         1 Fire onchange event for type ahead selection.
1647         2 Don't fire onchange event for Enter key. We've already fired onchange event for cursor key
1648           and type ahead selection. So, onchange for Enter key is redundant. This behavior is 
1649           compatible to IE(9.0.8112.16421) and Opera(9.80) on Windows. FF(8.01) doesn't fire onchange
1650           by cursor key selection change and type ahead. FF requires Enter key press to fire onchange
1651           event.
1652
1653         Test: fast/forms/select/menulist-type-ahead-find.html
1654
1655         * html/HTMLSelectElement.cpp:
1656         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't fire onchange event for Entry key.
1657         (WebCore::HTMLSelectElement::typeAheadFind): Add DispatchChangeEvent when
1658         calling selectOption method.
1659
1660 2011-12-21  Darin Adler  <darin@apple.com>
1661
1662         Tweak and comment some transform-related code
1663         https://bugs.webkit.org/show_bug.cgi?id=68670
1664
1665         Reviewed by Daniel Bates.
1666
1667         * platform/mac/ScrollbarThemeMac.mm:
1668         (WebCore::ScrollbarThemeMac::paint): Added a FIXME about additional overhead paid here
1669         when the scale factor is 2x.
1670         * rendering/RenderBoxModelObject.cpp:
1671         (WebCore::RenderBoxModelObject::paintBoxShadow): Added a FIXME about this check possibly
1672         being wrong, and also changed the local vairable name so the check need not stretch over
1673         multiple lines.
1674
1675 2011-12-21  Kent Tamura  <tkent@chromium.org>
1676
1677         Change the item type of Document::m_formElementsWithState from Element*
1678         to HTMLFormControlElementWithState*.
1679         https://bugs.webkit.org/show_bug.cgi?id=74998
1680
1681         Reviewed by Andreas Kling.
1682
1683         No new tests. Just refactoring.
1684
1685         * dom/Document.cpp:
1686         (WebCore::Document::formElementsState): Use HTMLFormControlElementWithState*.
1687         * dom/Document.h:
1688         (WebCore::Document::registerFormElementWithState): Change the argument type.
1689         (WebCore::Document::unregisterFormElementWithState): ditto.
1690         (WebCore::Document::formElements): Renamed from getFormElements().
1691         * dom/Element.h:
1692         Removed shouldSaveAndRestoreFormControlState(), saveFormControlState(),
1693         and restoreFormControlState() because they are not called for Element
1694         anymore.
1695         * html/HTMLFormControlElement.h:
1696         - Make formControlName() and formControlType() public.
1697          They are called from Document class.
1698         - Make shouldSaveAndRestoreFormControlState() public, and non-virtual.
1699          This is called from Document class, and no other classes override this.
1700         (WebCore::HTMLFormControlElementWithState::saveFormControlState):
1701         Moved from Element.
1702         (WebCore::HTMLFormControlElementWithState::restoreFormControlState): ditto.
1703         * html/HTMLInputElement.cpp:
1704         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
1705         Use HTMLFormControlElementWithState* instead of Element*.
1706
1707 2011-12-21  Alexandre Elias  <aelias@google.com>
1708
1709         [chromium] Always use border texels on platforms using pageScaleDelta
1710         https://bugs.webkit.org/show_bug.cgi?id=74226
1711
1712         Reviewed by James Robinson.
1713
1714         On platforms where the root layer can be zoomed in at draw time
1715         (pageScaleDelta), we want to turn on border texels in order for
1716         scaling to use GL_LINEAR instead of GL_NEAREST.
1717
1718         No new tests. (Flag flip.)
1719
1720         * platform/graphics/chromium/TiledLayerChromium.cpp:
1721         (WebCore::TiledLayerChromium::prepareToUpdate):
1722
1723 2011-12-21  Dale Curtis  <dalecurtis@chromium.org>
1724
1725         [chromium] Scale audio, video tags in MediaDocument to fit in window.
1726         https://bugs.webkit.org/show_bug.cgi?id=73948
1727
1728         Add CSS max-height: 100%, max-width: 100% settings to the audio and
1729         video tags when in MediaDocuments.
1730
1731         Reviewed by Eric Seidel.
1732
1733         Test: media/video-scales-in-media-document.html
1734
1735         * css/mediaControlsChromium.css:
1736         (audio:-webkit-full-page-media, video:-webkit-full-page-media):
1737
1738 2011-12-21  Konrad Piascik  <kpiascik@rim.com>
1739
1740         Implement the JavaScriptCore bindings for eventListenerHandlerLocation
1741         https://bugs.webkit.org/show_bug.cgi?id=74313
1742
1743         Reviewed by Eric Seidel.
1744
1745         Implemented the JavaScriptCore binding to allow Web Inspector to
1746         show the function name and line number for an event listener in
1747         the Elements panel.
1748
1749         Tested by opening up a page which has a registered event listener in Safari
1750         and checking if the Elements panel script name and line number are present
1751         and clickable.
1752
1753         * ForwardingHeaders/runtime/Executable.h: Added.
1754         * ForwardingHeaders/wtf/SegmentedVector.h: Added.
1755         * bindings/js/ScriptEventListener.cpp:
1756         (WebCore::eventListenerHandlerLocation):
1757
1758 2011-12-21  Chris Guan  <chris.guan@torchmobile.com.cn>
1759
1760         Upstream the Multipart feature in Blackberry port
1761         https://bugs.webkit.org/show_bug.cgi?id=73533
1762
1763         Reviewed by Rob Buis.
1764
1765         I refactored Multipart code of Blackberry port. Moved Multipart into
1766         Blackerry network layer and removed the dependence of std::string.
1767
1768         Initial upstream, no new test cases.
1769
1770         * platform/network/blackberry/DeferredData.cpp:
1771         (WebCore::DeferredData::deferMultipartHeaderReceived):
1772         (WebCore::DeferredData::processHeaders):
1773         (WebCore::DeferredData::processDeferredData):
1774         * platform/network/blackberry/DeferredData.h:
1775         (WebCore::DeferredData::hasDeferredData):
1776         * platform/network/blackberry/NetworkJob.cpp:
1777         (WebCore::NetworkJob::notifyMultipartHeaderReceived):
1778         (WebCore::NetworkJob::handleNotifyMultipartHeaderReceived):
1779         (WebCore::NetworkJob::handleNotifyDataReceived):
1780         (WebCore::NetworkJob::handleNotifyClose):
1781         (WebCore::NetworkJob::startNewJobWithRequest):
1782         (WebCore::NetworkJob::sendResponseIfNeeded):
1783         (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
1784         * platform/network/blackberry/NetworkJob.h:
1785
1786 2011-12-21  Eric Carlson  <eric.carlson@apple.com>
1787
1788         Fix text track cue font size and colors
1789         https://bugs.webkit.org/show_bug.cgi?id=75051
1790
1791         Reviewed by Darin Adler.
1792
1793         No new tests, updated media/track/track-cue-rendering.html for the changes.
1794
1795         * css/mediaControls.css:
1796         (video::-webkit-media-text-track-container): Match WebVTT spec.
1797         (video::-webkit-media-text-track-display): Ditto.
1798
1799         * html/shadow/MediaControlElements.cpp:
1800         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Change font size from  4% of the
1801             video height to 5% as per the spec. Don't enforce a minimum size.
1802
1803 2011-12-21  Andreas Kling  <kling@webkit.org>
1804
1805         Unreviewed, rolling out r103473.
1806         http://trac.webkit.org/changeset/103473
1807         https://bugs.webkit.org/show_bug.cgi?id=74991
1808
1809         Overestimated my superpowers a bit here.
1810
1811         * dom/Element.cpp:
1812         (WebCore::Element::attributeChanged):
1813         (WebCore::Element::insertedIntoDocument):
1814         (WebCore::Element::removedFromDocument):
1815         * dom/Element.h:
1816         (WebCore::Element::updateId):
1817         (WebCore::Element::willModifyAttribute):
1818         * dom/NamedNodeMap.cpp:
1819         (WebCore::NamedNodeMap::setAttributes):
1820         * dom/Node.h:
1821         * html/HTMLAppletElement.cpp:
1822         (WebCore::HTMLAppletElement::parseMappedAttribute):
1823         (WebCore::HTMLAppletElement::insertedIntoDocument):
1824         (WebCore::HTMLAppletElement::removedFromDocument):
1825         * html/HTMLAppletElement.h:
1826         * html/HTMLEmbedElement.cpp:
1827         (WebCore::HTMLEmbedElement::parseMappedAttribute):
1828         (WebCore::HTMLEmbedElement::insertedIntoDocument):
1829         (WebCore::HTMLEmbedElement::removedFromDocument):
1830         * html/HTMLEmbedElement.h:
1831         * html/HTMLFormElement.cpp:
1832         (WebCore::HTMLFormElement::insertedIntoDocument):
1833         (WebCore::HTMLFormElement::removedFromDocument):
1834         (WebCore::HTMLFormElement::parseMappedAttribute):
1835         * html/HTMLFormElement.h:
1836         * html/HTMLImageElement.cpp:
1837         (WebCore::HTMLImageElement::parseMappedAttribute):
1838         (WebCore::HTMLImageElement::insertedIntoDocument):
1839         (WebCore::HTMLImageElement::removedFromDocument):
1840         * html/HTMLImageElement.h:
1841         * html/HTMLObjectElement.cpp:
1842         (WebCore::HTMLObjectElement::parseMappedAttribute):
1843         (WebCore::HTMLObjectElement::insertedIntoDocument):
1844         (WebCore::HTMLObjectElement::removedFromDocument):
1845         (WebCore::HTMLObjectElement::updateDocNamedItem):
1846         (WebCore::HTMLObjectElement::formControlName):
1847         * html/HTMLObjectElement.h:
1848         * html/HTMLPlugInElement.h:
1849
1850 2011-12-21  Simon Fraser  <simon.fraser@apple.com>
1851
1852         Clean up RenderLayer code that applies filters and transforms
1853         https://bugs.webkit.org/show_bug.cgi?id=75032
1854         
1855         This also fixes:
1856             Nested filters not working as expected
1857             https://bugs.webkit.org/show_bug.cgi?id=75029
1858             
1859             Filter region is computed incorrectly
1860             https://bugs.webkit.org/show_bug.cgi?id=74889
1861
1862         Reviewed by James Robinson.
1863
1864         RenderLayer::paintLayer() had this confusing behavior where,
1865         for transforms, it would change the CTM and then re-enter
1866         the method with a bit set. This was partially, but incorrectly
1867         copied for filters, so things like nested filters didn't work,
1868         and the case of a filter + transform was confused.
1869         
1870         Clean up by making RenderLayer::paintLayer() be a fairly simple
1871         method that handles the re-entering with bit set, for both
1872         transforms and filters. The bulk of the code in RenderLayer::paintLayer()
1873         is now in RenderLayer::paintLayerContents(). There is no
1874         behavior change for transforms.
1875         
1876         There are two fixes for filters. First, instead of just using
1877         the layer size to compute the bounds of the filtered region,
1878         use transparencyClipBox() which already takes descendents, box
1879         decorations etc into account (it's what we use for opacity).
1880         Some cleanup of the coordinate math, and separation from transforms
1881         code was also achieved.
1882         
1883         Second, make sure we toggle off the PaintLayerAppliedFilters bit
1884         (which was renamed for clarity) for sublayers, so that sublayers
1885         paint their filters correctly.
1886
1887         Tests: css3/filters/filter-region.html
1888                css3/filters/nested-filters.html
1889
1890         * rendering/RenderLayer.cpp:
1891         (WebCore::RenderLayer::paintLayer):
1892         (WebCore::RenderLayer::paintLayerContents):
1893         (WebCore::RenderLayer::updateFilterBackingStore):
1894         * rendering/RenderLayer.h:
1895
1896 2011-12-21  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
1897
1898         Discard event data not followed by an empty line before eof when parsing an event-stream
1899         https://bugs.webkit.org/show_bug.cgi?id=68833
1900
1901         Reviewed by Alexey Proskuryakov.
1902
1903         Test: http/tests/eventsource/eventsource-eof.html
1904
1905         * page/EventSource.cpp:
1906         (WebCore::EventSource::didFinishLoading):
1907         (WebCore::EventSource::parseEventStreamLine):
1908         * page/EventSource.h:
1909
1910 2011-12-21  Andreas Kling  <kling@webkit.org>
1911
1912         Automate elements' registration as document namedItem/extraNamedItem.
1913         <http://webkit.org/b/74991>
1914
1915         Reviewed by Antti Koivisto.
1916
1917         Remove caching of the "id" and "name" attributes on applet, embed, form,
1918         image and object elements. We were caching them to keep the document's
1919         map of named and "extra named" (named by id) item counts in sync.
1920
1921         Instead, add a hook to Element::willModifyAttribute() that detects when
1922         the attributes are being changed and handle the registration/unregistration
1923         automatically if the element returns true for shouldRegisterAsNamedItem()
1924         or shouldRegisterAsExtraNamedItem() respectively.
1925
1926         This shrinks the elements by two AtomicStrings (8 or 16 bytes) each.
1927
1928         IFrame elements retain the old mechanism for now, as there are some subtle
1929         differences to how that's handled.
1930
1931         * dom/Node.h:
1932         (WebCore::Node::hasName):
1933         (WebCore::Node::setHasName):
1934
1935             Cache whether we have a "name" attribute or not (1 bit on Node.)
1936             This is done in order to minimize the overhead added to Element's
1937             insertedIntoDocument() and removeFromDocument().
1938
1939         * dom/Element.cpp:
1940         (WebCore::Element::updateNamedItemRegistration):
1941         (WebCore::Element::updateExtraNamedItemRegistration):
1942
1943             Added. Called when the "name" and "id" attributes are changed.
1944             Updates the document's named item maps accordingly.
1945
1946         (WebCore::Element::insertedIntoDocument):
1947         (WebCore::Element::removedFromDocument):
1948
1949             Make sure updateName() is called in addition to updateId() when applicable.
1950
1951         (WebCore::Element::attributeChanged):
1952
1953             Update the Node's has-name flag as appropriate.
1954
1955         * dom/Element.h:
1956         (WebCore::Element::shouldRegisterAsNamedItem):
1957         (WebCore::Element::shouldRegisterAsExtraNamedItem):
1958
1959             Added. If an element returns true for these, it will be automatically
1960             registered with the document when the name/id attribute changes.
1961
1962         (WebCore::Element::updateId):
1963         (WebCore::Element::updateName):
1964
1965             Register/unregister from the document's named item maps as appropriate.
1966
1967         (WebCore::Element::willModifyAttribute):
1968
1969             Add updateName() hook in addition to the existing updateId() hook.
1970
1971         * dom/NamedNodeMap.cpp:
1972         (WebCore::NamedNodeMap::setAttributes):
1973
1974             Make sure updateName() is called when we're cloning the attributes
1975             from another element.
1976
1977         * html/HTMLAppletElement.cpp:
1978         (WebCore::HTMLAppletElement::parseMappedAttribute):
1979         * html/HTMLAppletElement.h:
1980         * html/HTMLEmbedElement.cpp:
1981         (WebCore::HTMLEmbedElement::parseMappedAttribute):
1982         (WebCore::HTMLEmbedElement::insertedIntoDocument):
1983         * html/HTMLEmbedElement.h:
1984         * html/HTMLFormElement.cpp:
1985         (WebCore::HTMLFormElement::insertedIntoDocument):
1986         (WebCore::HTMLFormElement::removedFromDocument):
1987         (WebCore::HTMLFormElement::parseMappedAttribute):
1988         * html/HTMLFormElement.h:
1989         * html/HTMLImageElement.cpp:
1990         (WebCore::HTMLImageElement::parseMappedAttribute):
1991         (WebCore::HTMLImageElement::insertedIntoDocument):
1992         * html/HTMLImageElement.h:
1993         * html/HTMLObjectElement.cpp:
1994         (WebCore::HTMLObjectElement::parseMappedAttribute):
1995         (WebCore::HTMLObjectElement::insertedIntoDocument):
1996         (WebCore::HTMLObjectElement::removedFromDocument):
1997         * html/HTMLObjectElement.h:
1998         * html/HTMLPlugInElement.h:
1999
2000             Remove duplicated code that is now handled by Element.
2001
2002         * html/HTMLObjectElement.cpp:
2003         (WebCore::HTMLObjectElement::updateDocNamedItem):
2004         (WebCore::HTMLObjectElement::formControlName):
2005
2006             Use fastGetAttribute() since we no longer cache the name.
2007
2008 2011-12-21  Wyatt Carss  <wcarss@chromium.org>
2009
2010         Reviewed by Ryosuke Niwa.
2011
2012         strong and b should be font-weight: bold, not bolder
2013         https://bugs.webkit.org/show_bug.cgi?id=56400
2014
2015         Test: fast/html/font-weight-bold-for-b-and-strong.html
2016
2017         * css/html.css:
2018         (strong, b):
2019
2020 2011-12-21  Florin Malita  <fmalita@google.com>
2021
2022         Improper handling of foreignobjects nested in svg groups
2023         https://bugs.webkit.org/show_bug.cgi?id=69762
2024
2025         Reviewed by Nikolas Zimmermann.
2026
2027         Tests: svg/foreignObject/repaint-rect-coordinates-expected.html
2028                svg/foreignObject/repaint-rect-coordinates.html
2029
2030         * rendering/svg/RenderSVGForeignObject.h:
2031         (WebCore::RenderSVGForeignObject::objectBoundingBox):
2032         (WebCore::RenderSVGForeignObject::strokeBoundingBox):
2033         (WebCore::RenderSVGForeignObject::repaintRectInLocalCoordinates):
2034         Return local coordinates.
2035
2036 2011-12-21  Anders Carlsson  <andersca@apple.com>
2037
2038         Make it possible to use contents layers in scrollbars
2039         https://bugs.webkit.org/show_bug.cgi?id=75044
2040
2041         Reviewed by Simon Fraser.
2042
2043         * page/ScrollingCoordinator.h:
2044         * page/mac/ScrollingCoordinatorMac.mm:
2045         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
2046         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
2047         Don't pass const GraphicsLayers to these member functions; we need to be able to mutate them.
2048
2049         * platform/ScrollView.cpp:
2050         (positionScrollbarLayer):
2051         If the scrollbar layer has a contents layer, just update its contents rect. Otherwise,
2052         invalidate the scrollbar layer.
2053
2054 2011-12-21  Anders Carlsson  <andersca@apple.com>
2055
2056         Always reposition the scrollbar layers when the frame view size changes
2057         https://bugs.webkit.org/show_bug.cgi?id=75035
2058
2059         Reviewed by Darin Adler.
2060
2061         * rendering/RenderLayerCompositor.cpp:
2062         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2063         Remove the layersChanged check and unconditionally call positionScrollbarLayers(). This only
2064         worked by accident before because we were recreating horizontal and vertical scrollbars on every call.
2065
2066 2011-12-21  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2067
2068         [EFL] Add 'Select All' option to context menus in WebKit-EFL.
2069         https://bugs.webkit.org/show_bug.cgi?id=74920
2070
2071         Reviewed by Eric Seidel.
2072
2073         Enable 'Select All' option to context menus called on input fields in WebKit-EFL
2074         as it is enabled in GTK and QT ports.
2075
2076         * page/ContextMenuController.cpp:
2077         (WebCore::ContextMenuController::contextMenuItemSelected): Add 'Select All' option.
2078         (WebCore::ContextMenuController::populate): Append 'Select All' item.
2079         (WebCore::ContextMenuController::checkOrEnableIfNeeded): Enable 'Select All' option.
2080         * platform/ContextMenuItem.h: Add 'Select All' option.
2081         * platform/LocalizationStrategy.h: Add constructor for 'Select All' option.
2082         * platform/LocalizedStrings.h: Add constructor for 'Select All' option.
2083
2084 2011-12-20  Adam Klein  <adamk@chromium.org>
2085
2086         Make calls to willModifyAttribute and attributeChanged symmetrical
2087         https://bugs.webkit.org/show_bug.cgi?id=74987
2088
2089         Reviewed by Ryosuke Niwa.
2090
2091         Previously, calls to Element::willModifyAttribute sometimes happened
2092         in one method while calls to Element::attributeChanged happened in
2093         another. This change makes them symmetrical for all the cases I know
2094         about: setAttribute, removeAttribute, setNamedItem, removeNamedItem.
2095
2096         To accomplish this, NamedNodeMap::addAttribute, removeAttribute, and
2097         replaceAttribute have been reduced to their pure functionality of
2098         manipulating m_attributes, and their callers are left responsible for
2099         properly notifying the Element of the underlying changes.
2100
2101         One other bit of refactoring was done: to simplify
2102         Element::setAttribute, it now dispatches to
2103         Element::removeAttributeInternal if the incoming value is null.
2104
2105         No new tests, no change in behavior.
2106
2107         * dom/Attribute.h:
2108         * dom/Element.cpp:
2109         (WebCore::Element::removeAttribute):
2110         (WebCore::Element::removeAttributeInternal): Added, sharing code
2111         between the two removeAttribute overloads.
2112         (WebCore::Element::setAttributeInternal):
2113         * dom/Element.h:
2114         * dom/NamedNodeMap.cpp:
2115         (WebCore::NamedNodeMap::setNamedItem):
2116         (WebCore::NamedNodeMap::removeNamedItem):
2117         (WebCore::NamedNodeMap::addAttribute):
2118         (WebCore::NamedNodeMap::removeAttribute):
2119         (WebCore::NamedNodeMap::replaceAttribute):
2120         * svg/properties/SVGAnimatedPropertySynchronizer.h:
2121         Call Element::setAttribute unless the attribute is already present,
2122         and add a comment explaining why the code looks the way it does.
2123
2124 2011-12-21  Adrienne Walker  <enne@google.com>
2125
2126         Unreviewed, rolling out r103408.
2127         http://trac.webkit.org/changeset/103408
2128         https://bugs.webkit.org/show_bug.cgi?id=75017
2129
2130         WorkerDevToolsSanityTest.InspectSharedWorker is failing
2131         (Requested by loislo_ on #webkit).
2132
2133         * inspector/front-end/CompilerSourceMapping.js:
2134         (WebInspector.ClosureCompilerSourceMapping):
2135         (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
2136         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
2137         * inspector/front-end/DebuggerPresentationModel.js:
2138         (WebInspector.DebuggerPresentationModel.prototype.setCompilerSourceMapping):
2139         * inspector/front-end/utilities.js:
2140         (String.prototype.asParsedURL):
2141
2142 2011-12-21  Stephen White  <senorblanco@chromium.org>
2143
2144         Fix CSS filters crash on zero-sized elements.
2145         https://bugs.webkit.org/show_bug.cgi?id=75020
2146
2147         Reviewed by Dean Jackson.
2148
2149         Test: css3/filters/filter-empty-element-crash.html
2150
2151         * rendering/FilterEffectRenderer.cpp:
2152         (WebCore::FilterEffectRenderer::inputContext):
2153         Protect against null ImageBuffer.
2154         * rendering/RenderLayer.cpp:
2155         (WebCore::RenderLayer::paintLayer):
2156         Protect against null GraphicsContext.
2157
2158 2011-12-21  Anders Carlsson  <andersca@apple.com>
2159
2160         Inform the scrolling coordinator when scrollbar layers come and go
2161         https://bugs.webkit.org/show_bug.cgi?id=75028
2162
2163         Reviewed by Andreas Kling and Simon Fraser.
2164
2165         * page/ScrollingCoordinator.h:
2166         * page/mac/ScrollingCoordinatorMac.mm:
2167         (WebCore::ScrollingCoordinator::setFrameViewHorizontalScrollbarLayer):
2168         (WebCore::ScrollingCoordinator::setFrameViewVerticalScrollbarLayer):
2169         * rendering/RenderLayerCompositor.cpp:
2170         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2171
2172 2011-12-20  Dmitry Lomov  <dslomov@google.com>
2173
2174         [Chromium] DatabaseTrackerChromium: iterating DatabaseSet races with Database disposal on worker thread 
2175         https://bugs.webkit.org/show_bug.cgi?id=74554
2176
2177         Reviewed by David Levin.
2178
2179         Covered by existing tests in fast/workers/storage.
2180
2181         * storage/chromium/DatabaseTrackerChromium.cpp:
2182         (WebCore::NotifyDatabaseObserverOnCloseTask::create):
2183         (WebCore::NotifyDatabaseObserverOnCloseTask::performTask):
2184         (WebCore::NotifyDatabaseObserverOnCloseTask::isCleanupTask):
2185         (WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
2186         (WebCore::DatabaseTracker::removeOpenDatabase):
2187
2188 2011-12-21  Eric Carlson  <eric.carlson@apple.com>
2189
2190         HTMLMediaElement::configureTextTrackDisplay is unnecessary
2191         https://bugs.webkit.org/show_bug.cgi?id=74945
2192
2193         Reviewed by Darin Adler.
2194
2195         Nothing to test, just removing redundant code. Correct behavior tested by 
2196         media/track/track-cue-rendering.html and media/track/track-cue-nothing-to-render.html.
2197
2198         * html/HTMLMediaElement.cpp:
2199         (WebCore::HTMLMediaElement::configureTextTrackDisplay): Don't show and hide track, just call
2200             updateTextTrackDisplay and it will do the right thing.
2201
2202 2011-12-21  Anders Carlsson  <andersca@apple.com>
2203
2204         ScrollingCoordinator functions should take FrameView objects
2205         https://bugs.webkit.org/show_bug.cgi?id=75023
2206
2207         Reviewed by Sam Weinig.
2208
2209         * page/ScrollingCoordinator.cpp:
2210         (WebCore::ScrollingCoordinator::syncFrameViewGeometry):
2211         * page/ScrollingCoordinator.h:
2212         * page/mac/ScrollingCoordinatorMac.mm:
2213         (WebCore::ScrollingCoordinator::setFrameViewScrollLayer):
2214         * rendering/RenderLayerCompositor.cpp:
2215         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
2216         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
2217         (WebCore::RenderLayerCompositor::ensureRootLayer):
2218
2219 2011-12-21  Anders Carlsson  <andersca@apple.com>
2220
2221         Get rid of ScrollableAreaClient
2222         https://bugs.webkit.org/show_bug.cgi?id=75021
2223
2224         Reviewed by Sam Weinig.
2225
2226         The ScrollableAreaClient interface will just add an extra level of indirection between ScrollableArea and
2227         ScrollAnimator, which is unnecessary. Eventually I'd like to rename ScrollAnimator to something that better reflects
2228         all the different responsibilities it currently has.
2229
2230         * WebCore.exp.in:
2231         * page/FrameView.cpp:
2232         (WebCore::FrameView::FrameView):
2233         * page/ScrollingCoordinator.cpp:
2234         * page/ScrollingCoordinator.h:
2235         * platform/ScrollView.cpp:
2236         (WebCore::ScrollView::ScrollView):
2237         * platform/ScrollView.h:
2238         * platform/ScrollableArea.cpp:
2239         (WebCore::ScrollableArea::ScrollableArea):
2240         * platform/ScrollableArea.h:
2241         * platform/ScrollableAreaClient.h: Removed.
2242
2243 2011-12-21  Anders Carlsson  <andersca@apple.com>
2244
2245         Don't recreate scrollbar layers whenever the frame view size changes
2246         https://bugs.webkit.org/show_bug.cgi?id=75018
2247
2248         Reviewed by Darin Adler and Simon Fraser.
2249
2250         * rendering/RenderLayerCompositor.cpp:
2251         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2252
2253 2011-12-20  Andrey Kosyakov  <caseq@chromium.org>
2254
2255         Web Inspector: [Extension API] refactor extension API build code, expose experimental APIs conditionally in chromium
2256         https://bugs.webkit.org/show_bug.cgi?id=74941
2257
2258         Reviewed by Pavel Feldman.
2259
2260         * WebCore.gypi:
2261         * inspector/front-end/ExtensionAPI.js:
2262         (buildPlatformExtensionAPI.platformExtensionAPI):
2263         (buildPlatformExtensionAPI):
2264         (buildExtensionAPIInjectedScript):
2265         * inspector/front-end/ExtensionServer.js:
2266         (WebInspector.ExtensionServer.prototype._addExtensions):
2267         (WebInspector.ExtensionServer.prototype._addExtension):
2268         (window.addExtension):
2269
2270 2011-12-12  Pavel Podivilov  <podivilov@chromium.org>
2271
2272         Web Inspector: fix source map url resolving.
2273         https://bugs.webkit.org/show_bug.cgi?id=74305
2274
2275         Reviewed by Pavel Feldman.
2276
2277         Also fix the bug with repeated source urls in mapping sections.
2278
2279         * inspector/front-end/CompilerSourceMapping.js:
2280         (WebInspector.ClosureCompilerSourceMapping):
2281         (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
2282         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
2283         (WebInspector.ClosureCompilerSourceMapping.prototype._resolveSourceMapURL):
2284         * inspector/front-end/DebuggerPresentationModel.js:
2285         (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
2286         * inspector/front-end/utilities.js:
2287         (String.prototype.asParsedURL):
2288
2289 2011-12-21  Renata Hodovan  <reni@webkit.org>
2290
2291         New renderer for SVGRectElement
2292         https://bugs.webkit.org/show_bug.cgi?id=65769
2293
2294         Rubber-stamped by Zoltan Herczeg.
2295
2296         Change the return value of RenderSVGRect::renderName() from RenderSVGPath to RenderSVGRect.
2297         This is a follow-up patch of r101517 to correct the DRT output.
2298
2299         * rendering/svg/RenderSVGRect.h:
2300         (WebCore::RenderSVGRect::renderName):
2301
2302 2011-12-21  Vsevolod Vlasov  <vsevik@chromium.org>
2303
2304         Web Inspector: TabbedPane should use tabElement width measuring to layout tab elements when width is too small to fit them.
2305         https://bugs.webkit.org/show_bug.cgi?id=75005
2306
2307         Reviewed by Pavel Feldman.
2308
2309         Test: inspector/tabbed-pane-max-tab-width-calculation.html
2310
2311         * inspector/front-end/NetworkItemView.js:
2312         (WebInspector.NetworkItemView.prototype.wasShown):
2313         * inspector/front-end/TabbedPane.js:
2314         (WebInspector.TabbedPane):
2315         (WebInspector.TabbedPane.prototype.appendTab):
2316         (WebInspector.TabbedPane.prototype._createTabElement):
2317         (WebInspector.TabbedPane.prototype.onResize):
2318         (WebInspector.TabbedPane.prototype._maybeMeasureAndUpdate):
2319         (WebInspector.TabbedPane.prototype._measureTab):
2320         (WebInspector.TabbedPane.prototype._updateWidths):
2321         (WebInspector.TabbedPane.prototype._calculateMaxWidth):
2322         (WebInspector.TabbedPaneTab):
2323         * inspector/front-end/inspector.css:
2324         (.tabbed-pane-header):
2325         (.tabbed-pane-header-tabs):
2326         (.tabbed-pane-header-tab):
2327         (.tabbed-pane-header-tab.measuring):
2328         (.tabbed-pane-header-tab.selected):
2329         * inspector/front-end/scriptsPanel.css:
2330         (#scripts-navigator-tabbed-pane .tabbed-pane-header-tabs):
2331
2332 2011-12-09  Pavel Podivilov  <podivilov@chromium.org>
2333
2334         Web Inspector: auto detect source map url.
2335         https://bugs.webkit.org/show_bug.cgi?id=74088
2336
2337         Reviewed by Pavel Feldman.
2338
2339         Check to see if "X-SourceMap" HTTP response header was sent with script resource.
2340         Header value will be used as auto suggestion for source map url in UI.
2341
2342         * inspector/Inspector.json:
2343         * inspector/InspectorDebuggerAgent.cpp:
2344         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
2345         (WebCore::InspectorDebuggerAgent::didParseSource):
2346         * inspector/InspectorDebuggerAgent.h:
2347         * inspector/front-end/DebuggerModel.js:
2348         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
2349         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
2350         * inspector/front-end/RawSourceCode.js:
2351         (WebInspector.RawSourceCode):
2352         * inspector/front-end/Script.js:
2353         (WebInspector.Script):
2354
2355 2011-12-21  Pierre Rossi  <pierre.rossi@gmail.com>
2356
2357         [Qt] Mobile theme refinements
2358         https://bugs.webkit.org/show_bug.cgi?id=74727
2359
2360         Mostly to replace most of the rounded-rect-shaped
2361         controls with squircle-shaped ones.
2362
2363         Reviewed by Kenneth Rohde Christiansen.
2364
2365         No new tests needed.
2366
2367         * platform/qt/RenderThemeQtMobile.cpp:
2368         (WebCore::drawControlBackground):
2369         (WebCore::painterScale):
2370         (WebCore::borderPen):
2371         (WebCore::StylePainterMobile::drawCheckableBackground): Toned down the gradient a bit.
2372         (WebCore::StylePainterMobile::findCheckBox):
2373         (WebCore::StylePainterMobile::drawRadio):
2374         (WebCore::StylePainterMobile::findRadio):
2375         (WebCore::StylePainterMobile::drawMultipleComboButton): increase spacing between the dots.
2376         (WebCore::StylePainterMobile::drawSimpleComboButton): attempt to improve readability.
2377         (WebCore::StylePainterMobile::getButtonImageSize):
2378         (WebCore::StylePainterMobile::findComboButton):
2379         (WebCore::StylePainterMobile::drawLineEdit):
2380         (WebCore::StylePainterMobile::findLineEdit):
2381         (WebCore::StylePainterMobile::drawPushButton):
2382         (WebCore::StylePainterMobile::findPushButton):
2383         (WebCore::StylePainterMobile::drawComboBox):
2384         (WebCore::StylePainterMobile::drawProgress):
2385         (WebCore::StylePainterMobile::drawSliderThumb):
2386         (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
2387         (WebCore::RenderThemeQtMobile::paintTextField):
2388         * platform/qt/RenderThemeQtMobile.h:
2389
2390 2011-12-21  Alexander Pavlov  <apavlov@chromium.org>
2391
2392         Web Inspector: CSSStyleSheet::cssRules can return 0 and InspectorStyleSheet dosen't check
2393         https://bugs.webkit.org/show_bug.cgi?id=74938
2394
2395         Prevent security checks when retrieving a just-added CSS rule from the "inspector stylesheet".
2396
2397         Reviewed by Pavel Feldman.
2398
2399         * inspector/InspectorStyleSheet.cpp:
2400         (WebCore::InspectorStyleSheet::addRule):
2401
2402 2011-12-21  Renata Hodovan  <reni@webkit.org>
2403
2404         Fulfill FIXME in  HTMLLinkElement.h.
2405         https://bugs.webkit.org/show_bug.cgi?id=74278
2406
2407         Rename isStyleSheetLoading() method to styleSheetIsLoading().
2408         This new one has the correct grammar.
2409
2410         Reviewed by Darin Adler.
2411
2412         No new tests because the functionality remains the same.
2413
2414         * dom/Document.cpp:
2415         (WebCore::Document::recalcStyleSelector):
2416         * html/HTMLLinkElement.cpp:
2417         (WebCore::HTMLLinkElement::setDisabledState):
2418         (WebCore::HTMLLinkElement::styleSheetIsLoading):
2419         (WebCore::HTMLLinkElement::sheetLoaded):
2420         * html/HTMLLinkElement.h:
2421
2422 2011-12-21  Yosifumi Inoue  <yosin@chromium.org>
2423
2424         [Forms] Add OVERRIDE to WebCore/html/*InputType.h
2425         https://bugs.webkit.org/show_bug.cgi?id=74996
2426
2427         Reviewed by Kent Tamura.
2428
2429         No new tests. Changes are just for compilation.
2430
2431         * html/BaseButtonInputType.h: Add OVERRIDE.
2432         * html/BaseCheckableInputType.h: Add OVERRIDE.
2433         * html/BaseDateAndTimeInputType.h: Add OVERRIDE.
2434         * html/BaseTextInputType.h: Add OVERRIDE.
2435         * html/ButtonInputType.h: Add OVERRIDE.
2436         * html/CheckboxInputType.h: Add OVERRIDE.
2437         * html/ColorInputType.h: Add OVERRIDE.
2438         * html/DateInputType.h: Add OVERRIDE.
2439         * html/DateTimeInputType.h: Add OVERRIDE.
2440         * html/DateTimeLocalInputType.h: Add OVERRIDE.
2441         * html/EmailInputType.h: Add OVERRIDE.
2442         * html/FileInputType.h: Add OVERRIDE.
2443         * html/HiddenInputType.h: Add OVERRIDE.
2444         * html/ImageInputType.h: Add OVERRIDE.
2445         * html/IsIndexInputType.h: Add OVERRIDE.
2446         * html/MonthInputType.h: Add OVERRIDE.
2447         * html/NumberInputType.h: Add OVERRIDE.
2448         * html/PasswordInputType.h: Add OVERRIDE.
2449         * html/RadioInputType.h: Add OVERRIDE.
2450         * html/RangeInputType.h: Add OVERRIDE.
2451         * html/ResetInputType.h: Add OVERRIDE.
2452         * html/SearchInputType.h: Add OVERRIDE.
2453         * html/SubmitInputType.h: Add OVERRIDE.
2454         * html/TelephoneInputType.h: Add OVERRIDE.
2455         * html/TextFieldInputType.h: Add OVERRIDE.
2456         * html/TextInputType.h: Add OVERRIDE.
2457         * html/TimeInputType.h: Add OVERRIDE.
2458         * html/URLInputType.h: Add OVERRIDE.
2459         * html/WeekInputType.h: Add OVERRIDE.
2460
2461 2011-12-21  Matt Falkenhagen  <falken@chromium.org>
2462
2463         Add all ICU languages to LocaleToScriptMappingDefault.cpp
2464         https://bugs.webkit.org/show_bug.cgi?id=67274
2465
2466         Reviewed by Kent Tamura.
2467
2468         This better mimics the behavior of LocaleToScriptMappingICU.cpp. ICU
2469         languages from ICU 3.6 are added. Also, script suffix in locale is
2470         handled, so for example "fa_Latn" is mapped to Latin while "fa" is mapped to
2471         Arabic.
2472
2473         No new tests, there is no visible effect until default per-script fonts
2474         are added to non-ICU ports (alternatively, we could extend DumpRenderTree 
2475         to support overridePreference for per-script fonts as in bug 71110).
2476
2477         * platform/text/LocaleToScriptMappingDefault.cpp:
2478         (WebCore::getScriptCode): add script name to script code mapping
2479         (WebCore::localeToScriptCodeForFontSelection): add ICU languages to map 
2480
2481 2011-12-20  Mary Wu  <mary.wu@torchmobile.com.cn>
2482
2483         Upstream PageClientBlackBerry.h into WebCore/platform/blackberry
2484         https://bugs.webkit.org/show_bug.cgi?id=74169
2485
2486         Reviewed by Daniel Bates.
2487
2488         Initial upstream, no new tests.
2489
2490         * platform/blackberry/PageClientBlackBerry.h: Added.
2491
2492 2011-12-20  Mary Wu  <mary.wu@torchmobile.com.cn>
2493
2494         Upstream PlatformMouseEvent and LocalizedStrings into WebCore/platform/blackberry
2495         https://bugs.webkit.org/show_bug.cgi?id=74383
2496
2497         Reviewed by Daniel Bates.
2498
2499         Other Main Contributors:
2500         Rob Buis <rbuis@rim.com>
2501         Mike Fenton <mifenton@rim.com> 
2502
2503         Initial upstream, no new tests.
2504
2505         * PlatformBlackBerry.cmake: Modified to rename Localizations.cpp to LocalizedStringsBlackBerry.cpp
2506         * platform/blackberry/LocalizedStringsBlackBerry.cpp: Added.
2507         * platform/blackberry/PlatformMouseEventBlackBerry.cpp: Added.
2508
2509 2011-12-20  Peter Rybin  <peter.rybin@gmail.com>
2510
2511         Web Inspector: CodeGenerator should not use pointers for out params of RefPtr type.
2512         https://bugs.webkit.org/show_bug.cgi?id=69366
2513
2514         Reviewed by Pavel Feldman.
2515
2516         Generator fixed and all usages are changed manually.
2517
2518         * inspector/CodeGeneratorInspector.py:
2519         (RawTypes.BaseType):
2520         (RawTypes.BaseType.get_output_argument_prefix):
2521         (RawTypes.Object.get_output_argument_prefix):
2522         (RawTypes.Array.get_output_argument_prefix):
2523         (RawTypes):
2524         (Generator.process_command):
2525         * inspector/InspectorApplicationCacheAgent.cpp:
2526         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
2527         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
2528         * inspector/InspectorApplicationCacheAgent.h:
2529         * inspector/InspectorCSSAgent.cpp:
2530         (WebCore::InspectorCSSAgent::clearFrontend):
2531         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
2532         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
2533         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
2534         (WebCore::InspectorCSSAgent::getAllStyleSheets):
2535         (WebCore::InspectorCSSAgent::getStyleSheet):
2536         (WebCore::InspectorCSSAgent::setPropertyText):
2537         (WebCore::InspectorCSSAgent::toggleProperty):
2538         (WebCore::InspectorCSSAgent::setRuleSelector):
2539         (WebCore::InspectorCSSAgent::addRule):
2540         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
2541         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
2542         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
2543         * inspector/InspectorCSSAgent.h:
2544         * inspector/InspectorDOMAgent.cpp:
2545         (WebCore::InspectorDOMAgent::getDocument):
2546         (WebCore::InspectorDOMAgent::querySelectorAll):
2547         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2548         (WebCore::InspectorDOMAgent::getSearchResults):
2549         (WebCore::InspectorDOMAgent::resolveNode):
2550         (WebCore::InspectorDOMAgent::getAttributes):
2551         * inspector/InspectorDOMAgent.h:
2552         * inspector/InspectorDOMStorageAgent.cpp:
2553         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
2554         * inspector/InspectorDOMStorageAgent.h:
2555         * inspector/InspectorDatabaseAgent.cpp:
2556         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
2557         * inspector/InspectorDatabaseAgent.h:
2558         * inspector/InspectorDebuggerAgent.cpp:
2559         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2560         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2561         (WebCore::InspectorDebuggerAgent::searchInContent):
2562         (WebCore::InspectorDebuggerAgent::setScriptSource):
2563         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
2564         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2565         * inspector/InspectorDebuggerAgent.h:
2566         * inspector/InspectorMemoryAgent.cpp:
2567         (WebCore::InspectorMemoryAgent::getDOMNodeCount):
2568         * inspector/InspectorMemoryAgent.h:
2569         * inspector/InspectorPageAgent.cpp:
2570         (WebCore::InspectorPageAgent::getCookies):
2571         (WebCore::InspectorPageAgent::getResourceTree):
2572         (WebCore::InspectorPageAgent::searchInResource):
2573         (WebCore::InspectorPageAgent::searchInResources):
2574         * inspector/InspectorPageAgent.h:
2575         * inspector/InspectorProfilerAgent.cpp:
2576         (WebCore::InspectorProfilerAgent::getProfileHeaders):
2577         (WebCore::InspectorProfilerAgent::getProfile):
2578         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
2579         * inspector/InspectorProfilerAgent.h:
2580         * inspector/InspectorRuntimeAgent.cpp:
2581         (WebCore::InspectorRuntimeAgent::evaluate):
2582         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2583         (WebCore::InspectorRuntimeAgent::getProperties):
2584         * inspector/InspectorRuntimeAgent.h:
2585
2586 2011-12-20  Eric Penner  <epenner@google.com>
2587
2588         [chromium] m_triggerIdlePaints not reset after a compositeAndReadback
2589         https://bugs.webkit.org/show_bug.cgi?id=74974
2590
2591         Reviewed by James Robinson.
2592
2593         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2594         (WebCore::CCLayerTreeHost::compositeAndReadback):
2595
2596 2011-12-20  David Levin  <levin@chromium.org>
2597
2598         Move misplaced assert in SQLiteStatement.cpp
2599         https://bugs.webkit.org/show_bug.cgi?id=74975
2600
2601         Reviewed by Dmitry Titov.
2602
2603         The test is coming with bug 74666.
2604
2605         * platform/sql/SQLiteStatement.cpp:
2606         (WebCore::SQLiteStatement::step): If a database was interrupted
2607         before the prepare method was called, then m_isPrepared will be
2608         false, so I moved the assert to be after the check for interrupted.
2609
2610 2011-12-20  Eric Carlson  <eric.carlson@apple.com>
2611
2612         WebVTT cues sometimes render when they should not
2613         https://bugs.webkit.org/show_bug.cgi?id=74873
2614
2615         Not reviewed: update Chromium to pass new test added in r103371.
2616
2617         * html/shadow/MediaControlRootElementChromium.cpp:
2618         (WebCore::MediaControlRootElementChromium::updateTextTrackDisplay):
2619
2620 2011-12-20  Andreas Kling  <kling@webkit.org>
2621
2622         HTMLOptionsCollection: Remove incorrect FIXME about having a base class.
2623         <http://webkit.org/b/74973>
2624
2625         Reviewed by Alexey Proskuryakov.
2626
2627         HTMLOptionsCollection should indeed inherit from HTMLCollection according to
2628         current HTML5, so remove the comment saying we should change that.
2629
2630         Spec: http://www.whatwg.org/specs/web-apps/current-work/#htmloptionscollection
2631
2632         * html/HTMLOptionsCollection.idl:
2633
2634 2011-12-20  Florin Malita  <fmalita@google.com>
2635
2636         td element ignores zero width/height input element
2637         https://bugs.webkit.org/show_bug.cgi?id=74636
2638
2639         Reviewed by Kent Tamura.
2640
2641         Test: fast/forms/input-zero-width.html
2642
2643         * rendering/RenderTextControl.cpp:
2644         (WebCore::RenderTextControl::computePreferredLogicalWidths):
2645         Relax the attribute test to allow setting widths == 0.
2646
2647 2011-12-20  Adam Klein  <adamk@chromium.org>
2648
2649         Avoid unnecessary work when removing attributes from an element
2650         https://bugs.webkit.org/show_bug.cgi?id=74953
2651
2652         Reviewed by Ryosuke Niwa.
2653
2654         Various codepaths in Element and NamedNodeMap repeatedly search
2655         through the list of attributes during a single operation. To avoid
2656         this, I've added new getters to NamedNodeMap that return indices
2657         rather than Attribute*s (they return WTF::notFound if no match is
2658         found). These new methods are now used during removeAttribute
2659         operations, as well as setAttribute and NamedNodeMap::setNamedItem
2660         (along with a new replaceAttribute helper method).
2661
2662         The other optimization here involves the creation/destruction
2663         of never-references Attr nodes. This is now avoided by calling
2664         NamedNodeMap::removeAttribute directly instead of going through
2665         NamedNodeMap::removeNamedItem.
2666
2667         As a cleanup after the above changes, the ExceptionCode argument is
2668         gone from Element::removeAttribute and friends (it was never set
2669         previously). The bulk of the files mentioned below are simply updating
2670         callers to these methods.
2671
2672         No new tests, no change in behavior expected.
2673
2674         * dom/DatasetDOMStringMap.cpp:
2675         (WebCore::DatasetDOMStringMap::deleteItem):
2676         * dom/Element.cpp:
2677         (WebCore::Element::removeAttribute):
2678         (WebCore::Element::setBooleanAttribute):
2679         (WebCore::Element::removeAttributeNS):
2680         (WebCore::Element::setAttribute):
2681         (WebCore::Element::setAttributeInternal):
2682         * dom/Element.h:
2683         * dom/Element.idl:
2684         * dom/NamedNodeMap.cpp:
2685         (WebCore::NamedNodeMap::setNamedItem):
2686         (WebCore::NamedNodeMap::removeNamedItem):
2687         (WebCore::NamedNodeMap::getAttributeItemIndexSlowCase):
2688         (WebCore::NamedNodeMap::replaceAttribute):
2689         (WebCore::NamedNodeMap::removeAttribute):
2690         * dom/NamedNodeMap.h:
2691         (WebCore::NamedNodeMap::getAttributeItem):
2692         (WebCore::NamedNodeMap::getAttributeItemIndex):
2693         (WebCore::NamedNodeMap::removeAttribute):
2694         * editing/ApplyStyleCommand.cpp:
2695         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
2696         * editing/InsertParagraphSeparatorCommand.cpp:
2697         (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
2698         * editing/SplitElementCommand.cpp:
2699         (WebCore::SplitElementCommand::executeApply):
2700         * html/HTMLElement.cpp:
2701         (WebCore::HTMLElement::setContentEditable):
2702         * html/HTMLInputElement.cpp:
2703         (WebCore::HTMLInputElement::setType):
2704         * inspector/InspectorDOMAgent.cpp:
2705         (WebCore::InspectorDOMAgent::setAttributesAsText):
2706         (WebCore::InspectorDOMAgent::removeAttribute):
2707         * svg/SVGUseElement.cpp:
2708         (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
2709
2710 2011-12-20  Eric Carlson  <eric.carlson@apple.com>
2711
2712         WebVTT cues sometimes render when they should not
2713         https://bugs.webkit.org/show_bug.cgi?id=74873
2714
2715         Reviewed by Darin Adler.
2716
2717         Test: media/track/track-cue-nothing-to-render.html
2718
2719         * html/shadow/MediaControlRootElement.cpp:
2720         (WebCore::MediaControlRootElement::updateTextTrackDisplay): Don't return early if the current
2721             cue is empty so the previous cue is removed.
2722
2723 2011-12-20  Ami Fischman  <fischman@chromium.org>
2724
2725         Don't crash on the second time VideoLayerChromium::createCCVideoLayer() is called
2726         https://bugs.webkit.org/show_bug.cgi?id=74963
2727
2728         Reviewed by James Robinson.
2729
2730         Manually tested by force-dropping the layer tree in CCLayerTreeHost::didBecomeInvisibleOnImplThread().
2731         Crashed before the fix, doesn't crash after.
2732
2733         * platform/graphics/chromium/VideoLayerChromium.cpp:
2734         (WebCore::VideoLayerChromium::VideoLayerChromium):
2735         (WebCore::VideoLayerChromium::~VideoLayerChromium):
2736         (WebCore::VideoLayerChromium::createCCLayerImpl):
2737         * platform/graphics/chromium/VideoLayerChromium.h:
2738
2739 2011-12-20  Scott Graham  <scottmg@chromium.org>
2740
2741         wouldTaintOrigin m_cleanURLs cache grows very large when data urls used
2742         https://bugs.webkit.org/show_bug.cgi?id=74957
2743
2744         Reviewed by Kenneth Russell.
2745
2746         No new tests, but memory usage of CanvasRenderingContext::m_cleanURLs
2747         is reduced.
2748
2749         * html/canvas/CanvasRenderingContext.cpp:
2750         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
2751
2752 2011-12-20  Greg Billock  <gbillock@google.com>
2753
2754         Change adoptPtr(new ...) to ...::create in Page.cpp
2755         https://bugs.webkit.org/show_bug.cgi?id=74457
2756
2757         Reviewed by Darin Adler.
2758
2759         * dom/DeviceMotionController.cpp:
2760         (WebCore::DeviceMotionController::create):
2761         * dom/DeviceMotionController.h:
2762         * dom/DeviceOrientationController.cpp:
2763         (WebCore::DeviceOrientationController::create):
2764         * dom/DeviceOrientationController.h:
2765         * editing/FrameSelection.cpp:
2766         (WebCore::DragCaretController::create):
2767         * editing/FrameSelection.h:
2768         * history/BackForwardController.cpp:
2769         (WebCore::BackForwardController::create):
2770         * history/BackForwardController.h:
2771         * inspector/InspectorController.cpp:
2772         (WebCore::InspectorController::create):
2773         * inspector/InspectorController.h:
2774         * loader/ProgressTracker.cpp:
2775         (WebCore::ProgressTracker::create):
2776         * loader/ProgressTracker.h:
2777         * notifications/NotificationController.cpp:
2778         (WebCore::NotificationController::create):
2779         * notifications/NotificationController.h:
2780         * page/Chrome.cpp:
2781         (WebCore::Chrome::create):
2782         * page/Chrome.h:
2783         * page/ContextMenuController.cpp:
2784         (WebCore::ContextMenuController::create):
2785         * page/ContextMenuController.h:
2786         * page/DragController.cpp:
2787         (WebCore::DragController::create):
2788         * page/DragController.h:
2789         * page/FocusController.cpp:
2790         (WebCore::FocusController::create):
2791         * page/FocusController.h:
2792         * page/GeolocationController.cpp:
2793         (WebCore::GeolocationController::create):
2794         * page/GeolocationController.h:
2795         * page/Page.cpp:
2796         (WebCore::Page::Page):
2797         (WebCore::Page::initGroup):
2798         (WebCore::Page::speechInput):
2799         * page/PageGroup.cpp:
2800         (WebCore::PageGroup::create):
2801         * page/PageGroup.h:
2802         * page/Settings.cpp:
2803         (WebCore::Settings::create):
2804         * page/Settings.h:
2805         * page/SpeechInput.cpp:
2806         (WebCore::SpeechInput::create):
2807         * page/SpeechInput.h:
2808
2809 2011-12-20  Ryosuke Niwa  <rniwa@webkit.org>
2810
2811         Mac build fix after r103354.
2812
2813         * platform/mac/ScrollAnimatorMac.mm:
2814         (systemUptime):
2815
2816 2011-12-20  Anders Carlsson  <andersca@apple.com>
2817
2818         Add ScrollableArea::contentsResized and have it call the scroll animator
2819         https://bugs.webkit.org/show_bug.cgi?id=74966
2820
2821         Reviewed by Sam Weinig.
2822
2823         * WebCore.exp.in:
2824         * page/FrameView.cpp:
2825         (WebCore::FrameView::setContentsSize):
2826         (WebCore::FrameView::contentsResized):
2827         * page/FrameView.h:
2828         * platform/ScrollView.h:
2829         * platform/ScrollableArea.cpp:
2830         (WebCore::ScrollableArea::contentsResized):
2831         * platform/ScrollableArea.h:
2832
2833 2011-12-20  Simon Fraser  <simon.fraser@apple.com>
2834
2835         requestAnimationFrame on Mac fires at 60fps even when drawing is much slower
2836         https://bugs.webkit.org/show_bug.cgi?id=74964
2837
2838         Reviewed by Chris Marrin.
2839         
2840         On Mac requestAnimationFrame uses a CVDisplayLink, sending notifications
2841         from the display link thread to the main thread that the display link fired.
2842         However, there was no throttling on these notifications; if processing an event
2843         took a long time, notifications would pile up, and then get handled after
2844         the slow event completed.
2845         
2846         This would cause JS animations which animate by changing style to report
2847         60fps when their display framerate was much lower.
2848         
2849         Fix by throttling notifications from the display link thread to the web
2850         thread; if the previous event hasn't completed yet, don't send any new ones.
2851
2852         No new tests, since testing this runtime behavior is hard.
2853
2854         * platform/graphics/DisplayRefreshMonitor.cpp:
2855         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
2856         (WebCore::DisplayRefreshMonitor::refreshDisplayOnMainThread):
2857         (WebCore::DisplayRefreshMonitor::notifyClients): Factored out of the
2858         static refreshDisplayOnMainThread method so we can use 'this'.
2859         * platform/graphics/DisplayRefreshMonitor.h:
2860         * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
2861         (WebCore::DisplayRefreshMonitor::displayLinkFired):
2862
2863 2011-12-20  Greg Billock  <gbillock@google.com>
2864
2865         [Coverity] Fix leak in V8HTMLDocument
2866         https://bugs.webkit.org/show_bug.cgi?id=74943
2867
2868         Reviewed by Adam Barth.
2869
2870         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2871         (WebCore::V8HTMLDocument::openCallback):
2872
2873 2011-12-20  Sailesh Agrawal <sail@chromium.org>
2874
2875         Merge ScrollAnimatorChromiumMac.mm back to ScrollAnimatorMac
2876         https://bugs.webkit.org/show_bug.cgi?id=61144
2877
2878         Reviewed by Beth Dakin.
2879
2880         At a high level the main changes are:
2881             - replace #ifdefs in ScrollAnimatorMac and ScrollbarThemeMac with run time checks
2882             - delete duplicate code in ScrollbarThemeChromiumMac. Keep the paint code since it does tickmarks and SKIA stuff.
2883             - delete ScrollAnimatorChromiumMac since ScrollAnimatorMac does the exact same thing
2884             - delete ScrollbarOverlayUtilitiesChromiumMac since NSScrollerImpDetails does the same thing
2885
2886         No new tests. Just refactoring.
2887
2888         * WebCore.gyp/WebCore.gyp:
2889         * WebCore.gypi:
2890         * WebCore.xcodeproj/project.pbxproj:
2891         * platform/chromium/ScrollAnimatorChromiumMac.h: Removed.
2892         * platform/chromium/ScrollAnimatorChromiumMac.mm: Removed.
2893         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Removed.
2894         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Removed.
2895         * platform/chromium/ScrollbarThemeChromiumMac.h:
2896         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2897         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2898         (WebCore::scrollbarPainterPaintTrack):
2899         (WebCore::ScrollbarThemeChromiumMac::paint):
2900         * platform/mac/EmptyProtocolDefinitions.h:
2901         * platform/mac/NSScrollerImpDetails.h:
2902         (WebCore::isScrollbarOverlayAPIAvailable):
2903         * platform/mac/NSScrollerImpDetails.mm: Added.
2904         (WebCore::isScrollbarOverlayAPIAvailable):
2905         (WebCore::recommendedScrollerStyle):
2906         * platform/mac/ScrollAnimatorMac.h:
2907         * platform/mac/ScrollAnimatorMac.mm:
2908         (scrollbarPainterForScrollbar):
2909         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2910         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
2911         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
2912         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2913         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2914         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2915         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2916         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
2917         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
2918         (WebCore::ScrollAnimatorMac::willStartLiveResize):
2919         (WebCore::ScrollAnimatorMac::contentsResized):
2920         (WebCore::ScrollAnimatorMac::willEndLiveResize):
2921         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2922         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2923         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
2924         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
2925         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
2926         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
2927         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
2928         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
2929         (WebCore::ScrollAnimatorMac::cancelAnimations):
2930         (WebCore::ScrollAnimatorMac::setIsActive):
2931         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
2932         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
2933         * platform/mac/ScrollElasticityController.h:
2934         * platform/mac/ScrollbarThemeMac.h:
2935         * platform/mac/ScrollbarThemeMac.mm:
2936         (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
2937         (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
2938         (WebCore::updateArrowPlacement):
2939         (WebCore::ScrollbarThemeMac::registerScrollbar):
2940         (WebCore::ScrollbarThemeMac::setIsCurrentlyDrawingIntoLayer):
2941         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
2942         (WebCore::ScrollbarThemeMac::scrollbarThickness):
2943         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2944         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
2945         (WebCore::ScrollbarThemeMac::hasButtons):
2946         (WebCore::ScrollbarThemeMac::hasThumb):
2947         (WebCore::ScrollbarThemeMac::minimumThumbLength):
2948         (WebCore::ScrollbarThemeMac::scrollbarPartToHIPressedState):
2949         (WebCore::ScrollbarThemeMac::updateEnabledState):
2950         (WebCore::scrollbarPainterPaint):
2951         (WebCore::ScrollbarThemeMac::paint):
2952
2953 2011-12-20  Tony Chang  <tony@chromium.org>
2954
2955         sizeof(RenderStyle) is 64 instead of 56 on Windows (x86)
2956         https://bugs.webkit.org/show_bug.cgi?id=74876
2957
2958         Reviewed by Ryosuke Niwa.
2959
2960         Move bit fields into a new class and use unsigned for all types so we
2961         align at 4 byte bounds. Also move the initializers into the header
2962         file (has the side benefit of not needing to duplicate the initializers
2963         in 3 places).
2964
2965         Enable the compile assert on Windows.
2966
2967         * rendering/style/RenderStyle.cpp:
2968         (WebCore::RenderStyle::RenderStyle):
2969         * rendering/style/RenderStyle.h:
2970         (WebCore::RenderStyleBitfields::affectedByUncommonAttributeSelectors):
2971         (WebCore::RenderStyleBitfields::setAffectedByUncommonAttributeSelectors):
2972         (WebCore::RenderStyleBitfields::unique):
2973         (WebCore::RenderStyleBitfields::setUnique):
2974         (WebCore::RenderStyleBitfields::affectedByEmpty):
2975         (WebCore::RenderStyleBitfields::emptyState):
2976         (WebCore::RenderStyleBitfields::setEmptyState):
2977         (WebCore::RenderStyleBitfields::childrenAffectedByFirstChildRules):
2978         (WebCore::RenderStyleBitfields::setChildrenAffectedByFirstChildRules):
2979         (WebCore::RenderStyleBitfields::childrenAffectedByLastChildRules):
2980         (WebCore::RenderStyleBitfields::setChildrenAffectedByLastChildRules):
2981         (WebCore::RenderStyleBitfields::childrenAffectedByDirectAdjacentRules):
2982         (WebCore::RenderStyleBitfields::setChildrenAffectedByDirectAdjacentRules):
2983         (WebCore::RenderStyleBitfields::childrenAffectedByForwardPositionalRules):
2984         (WebCore::RenderStyleBitfields::setChildrenAffectedByForwardPositionalRules):
2985         (WebCore::RenderStyleBitfields::childrenAffectedByBackwardPositionalRules):
2986         (WebCore::RenderStyleBitfields::setChildrenAffectedByBackwardPositionalRules):
2987         (WebCore::RenderStyleBitfields::firstChildState):
2988         (WebCore::RenderStyleBitfields::setFirstChildState):
2989         (WebCore::RenderStyleBitfields::lastChildState):
2990         (WebCore::RenderStyleBitfields::setLastChildState):
2991         (WebCore::RenderStyleBitfields::childIndex):
2992         (WebCore::RenderStyleBitfields::setChildIndex):
2993         (WebCore::RenderStyleBitfields::setHasExplicitlyInheritedProperties):
2994         (WebCore::RenderStyleBitfields::hasExplicitlyInheritedProperties):
2995
2996 2011-12-20  Tony Chang  <tony@chromium.org>
2997
2998         [chromium] enable WPO for WebCore libs in official builds
2999         https://bugs.webkit.org/show_bug.cgi?id=74947
3000
3001         Reviewed by James Robinson.
3002
3003         Also move enable_wexit_time_destructors to the top level variables
3004         so we don't have to add it to all targets.
3005
3006         * WebCore.gyp/WebCore.gyp:
3007
3008 2011-12-20  Anders Carlsson  <andersca@apple.com>
3009
3010         Add ScrollableArea wrappers for a bunch of ScrollAnimator member functions
3011         https://bugs.webkit.org/show_bug.cgi?id=74951
3012
3013         Reviewed by Sam Weinig.
3014
3015         * WebCore.exp.in:
3016         * page/EventHandler.cpp:
3017         (WebCore::EventHandler::mouseMoved):
3018         (WebCore::EventHandler::updateMouseEventTargetNode):
3019         * page/FocusController.cpp:
3020         (WebCore::FocusController::setActive):
3021         * page/FrameView.cpp:
3022         (WebCore::FrameView::didMoveOnscreen):
3023         (WebCore::FrameView::willMoveOffscreen):
3024         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
3025         * platform/ScrollableArea.cpp:
3026         (WebCore::ScrollableArea::contentAreaWillPaint):
3027         (WebCore::ScrollableArea::mouseEnteredContentArea):
3028         (WebCore::ScrollableArea::mouseExitedContentArea):
3029         (WebCore::ScrollableArea::mouseMovedInContentArea):
3030         (WebCore::ScrollableArea::mouseEnteredScrollbar):
3031         (WebCore::ScrollableArea::mouseExitedScrollbar):
3032         (WebCore::ScrollableArea::contentAreaDidShow):
3033         (WebCore::ScrollableArea::contentAreaDidHide):
3034         * platform/ScrollableArea.h:
3035         * platform/ScrollableAreaClient.h:
3036         * platform/Scrollbar.cpp:
3037         (WebCore::Scrollbar::mouseEntered):
3038         (WebCore::Scrollbar::mouseExited):
3039         (WebCore::Scrollbar::mouseUp):
3040
3041 2011-12-20  Jarred Nicholls  <jarred@sencha.com>
3042
3043         Perform case insensitive matching on MIME types in XHR
3044         https://bugs.webkit.org/show_bug.cgi?id=74800
3045
3046         Perform case insensitive matching on responseMIMEType() in didReceiveData().
3047         Workaround case sensitive matching by DOMImplementation::isXMLMIMEType() in responseIsXML().
3048
3049         Reviewed by Darin Adler.
3050
3051         Tests: http/tests/xmlhttprequest/xmlhttprequest-mimetype-mixed-case.html
3052                http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-mixed-case.html
3053
3054         * xml/XMLHttpRequest.cpp:
3055         (WebCore::XMLHttpRequest::didReceiveData):
3056         (WebCore::XMLHttpRequest::responseIsXML):
3057
3058 2011-12-20  Adam Klein  <adamk@chromium.org>
3059
3060         Remove no-op DOMAttr* event dispatch methods from Element
3061         https://bugs.webkit.org/show_bug.cgi?id=74946
3062
3063         Reviewed by Darin Adler.
3064
3065         The removed methods had their bodies #if 0'd out, so this should have
3066         no effect on anything.
3067
3068         * dom/Element.cpp:
3069         * dom/Element.h:
3070         * dom/NamedNodeMap.cpp:
3071         (WebCore::NamedNodeMap::addAttribute):
3072         (WebCore::NamedNodeMap::removeAttribute):
3073
3074 2011-12-20  Anders Carlsson  <andersca@apple.com>
3075
3076         ScrollableArea should have an optional ScrollableAreaClient
3077         https://bugs.webkit.org/show_bug.cgi?id=74949
3078
3079         Reviewed by Sam Weinig.
3080
3081         * WebCore.exp.in:
3082         * WebCore.xcodeproj/project.pbxproj:
3083         * page/FrameView.cpp:
3084         (WebCore::scrollableAreaClient):
3085         (WebCore::FrameView::FrameView):
3086         * page/ScrollingCoordinator.cpp:
3087         (WebCore::ScrollingCoordinator::scrollableAreaClientForFrame):
3088         * page/ScrollingCoordinator.h:
3089         * platform/ScrollView.cpp:
3090         (WebCore::ScrollView::ScrollView):
3091         * platform/ScrollView.h:
3092         * platform/ScrollableArea.cpp:
3093         (WebCore::ScrollableArea::ScrollableArea):
3094         * platform/ScrollableArea.h:
3095         * platform/ScrollableAreaClient.h: Added.
3096         (WebCore::ScrollableAreaClient::~ScrollableAreaClient):
3097         (WebCore::ScrollableAreaClient::ScrollableAreaClient):
3098
3099 2011-12-19  Adam Klein  <adamk@chromium.org>
3100
3101         Rename Element::setAttributeMap to parserSetAttributeMap and limit its use to the parser
3102         https://bugs.webkit.org/show_bug.cgi?id=74885
3103
3104         Reviewed by Ryosuke Niwa.
3105
3106         Element::setAttributeMap is currently used by the parser in cases
3107         where a NamedNodeMap of attributes has already been allocated and
3108         transfers ownership to the Element. Other uses in WebCore don't have
3109         this ownership-transfer requirement, and so are more clearly expressed
3110         with normal setAttribute calls.
3111
3112         Eliminating non-parser callers allows the code to make safe
3113         assumptions about the state of the Element it's called on: no need to
3114         worry about, e.g., updating the id in the document's cache or
3115         enqueueing mutation records.
3116
3117         No new tests, no change in behavior expected.
3118
3119         * dom/Element.cpp:
3120         (WebCore::Element::parserSetAttributeMap): Renamed, added assertions
3121         to make sure it's not called unexpectedly, update comments.
3122         * dom/Element.h:
3123         * html/HTMLViewSourceDocument.cpp: Use setAttribute instead of setAttributeMap.
3124         (WebCore::HTMLViewSourceDocument::createContainingTable):
3125         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
3126         (WebCore::HTMLViewSourceDocument::addLine):
3127         (WebCore::HTMLViewSourceDocument::addBase):
3128         (WebCore::HTMLViewSourceDocument::addLink):
3129         * html/parser/HTMLConstructionSite.cpp: Reference new name.
3130         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
3131         (WebCore::HTMLConstructionSite::insertScriptElement):
3132         (WebCore::HTMLConstructionSite::createElement):
3133         (WebCore::HTMLConstructionSite::createHTMLElement):
3134         * html/track/WebVTTParser.cpp:
3135         (WebCore::WebVTTParser::constructTreeFromToken): Use setAttribute instead of setAttributeMap.
3136         Also get rid of an unnecessary String -> AtomicString conversion.
3137
3138 2011-12-20  Iain Merrick  <husky@google.com>
3139
3140         Remove unused parameter from RenderLayerCompositor::rebuildCompositingLayerTree
3141         https://bugs.webkit.org/show_bug.cgi?id=74936
3142
3143         Reviewed by Simon Fraser.
3144
3145         Pure refactoring, no change in functionality.
3146
3147         * rendering/RenderLayerCompositor.cpp:
3148         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3149         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3150         * rendering/RenderLayerCompositor.h:
3151
3152 2011-12-20  Tony Chang  <tony@chromium.org>
3153
3154         RenderStyle::InheritedFlags and RenderStyle::NonInheritedFlags members should be 4 byte aligned
3155         https://bugs.webkit.org/show_bug.cgi?id=74880
3156
3157         Reviewed by Ryosuke Niwa.
3158
3159         Use unsigned for all types so we get 4 byte boundaries (unsigned char
3160         means we try to align to 1 byte boundaries) and add setters and
3161         getters for bool members.
3162
3163         Move some members around to make sure we're aligned to 4 byte boundaries.
3164
3165         * rendering/style/RenderStyle.cpp:
3166         (WebCore::RenderStyle::copyNonInheritedFrom):
3167         * rendering/style/RenderStyle.h:
3168         (WebCore::InheritedFlags::NonInheritedFlags::affectedByHover):
3169         (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByHover):
3170         (WebCore::InheritedFlags::NonInheritedFlags::affectedByActive):
3171         (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByActive):
3172         (WebCore::InheritedFlags::NonInheritedFlags::affectedByDrag):
3173         (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByDrag):
3174         (WebCore::InheritedFlags::NonInheritedFlags::isLink):
3175         (WebCore::InheritedFlags::NonInheritedFlags::setIsLink):
3176         (WebCore::InheritedFlags::setBitDefaults):
3177         (WebCore::InheritedFlags::affectedByHoverRules):
3178         (WebCore::InheritedFlags::affectedByActiveRules):
3179         (WebCore::InheritedFlags::affectedByDragRules):
3180         (WebCore::InheritedFlags::setAffectedByHoverRules):
3181         (WebCore::InheritedFlags::setAffectedByActiveRules):
3182         (WebCore::InheritedFlags::setAffectedByDragRules):
3183         (WebCore::InheritedFlags::isLink):
3184         (WebCore::InheritedFlags::setIsLink):
3185
3186 2011-12-20  Julien Chaffraix  <jchaffraix@webkit.org>
3187
3188         Regression(99212): table rows get incorrect height after changing some cells' height
3189         https://bugs.webkit.org/show_bug.cgi?id=74303
3190
3191         Reviewed by Darin Adler.
3192
3193         Tests: fast/table/resize-table-binding-cell.html
3194                fast/table/resize-table-cell.html
3195                fast/table/resize-table-row.html
3196
3197         r99212 wrongly implemented the row's logicalHeight recalculation.
3198         The original code would use recalcCells which would properly recalculate a
3199         row logicalHeight by iterating over the table's cells but throwing out the
3200         existing result.
3201
3202         Our approach is just to recompute our row's logicalHeight and leave the
3203         rest of the section untouched.
3204
3205         * rendering/RenderTableSection.cpp:
3206         (WebCore::updateLogicalHeightForCell):
3207         Added this new helper function to update the RowStruct logicalHeight during
3208         |addCell| and |rowLogicalHeightChanged|.
3209
3210         (WebCore::RenderTableSection::addCell):
3211         Replaced the old code with a call to updateLogicalHeightForCell.
3212         (WebCore::RenderTableSection::rowLogicalHeightChanged):
3213         Added a call to updateLogicalHeightForCell for each cells.
3214
3215 2011-12-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3216
3217         Unreviewed, rolling out r103322.
3218         http://trac.webkit.org/changeset/103322
3219         https://bugs.webkit.org/show_bug.cgi?id=74927
3220
3221         seven inspector's tests are crashing on qt (Requested by
3222         loislo on #webkit).
3223
3224         * inspector/CodeGeneratorInspector.py:
3225         (RawTypes.BaseType.is_event_param_check_optional):
3226         (RawTypes.Object.is_event_param_check_optional):
3227         (RawTypes.Array.is_event_param_check_optional):
3228         (RawTypes):
3229         (Generator.process_command):
3230         * inspector/InspectorApplicationCacheAgent.cpp:
3231         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
3232         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
3233         * inspector/InspectorApplicationCacheAgent.h:
3234         * inspector/InspectorCSSAgent.cpp:
3235         (WebCore::InspectorCSSAgent::clearFrontend):
3236         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
3237         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
3238         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
3239         (WebCore::InspectorCSSAgent::getAllStyleSheets):
3240         (WebCore::InspectorCSSAgent::getStyleSheet):
3241         (WebCore::InspectorCSSAgent::setPropertyText):
3242         (WebCore::InspectorCSSAgent::toggleProperty):
3243         (WebCore::InspectorCSSAgent::setRuleSelector):
3244         (WebCore::InspectorCSSAgent::addRule):
3245         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
3246         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
3247         * inspector/InspectorCSSAgent.h:
3248         * inspector/InspectorDOMAgent.cpp:
3249         (WebCore::InspectorDOMAgent::getDocument):
3250         (WebCore::InspectorDOMAgent::querySelectorAll):
3251         (WebCore::InspectorDOMAgent::getEventListenersForNode):
3252         (WebCore::InspectorDOMAgent::getSearchResults):
3253         (WebCore::InspectorDOMAgent::resolveNode):
3254         (WebCore::InspectorDOMAgent::getAttributes):
3255         * inspector/InspectorDOMAgent.h:
3256         * inspector/InspectorDOMStorageAgent.cpp:
3257         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
3258         * inspector/InspectorDOMStorageAgent.h:
3259         * inspector/InspectorDatabaseAgent.cpp:
3260         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
3261         * inspector/InspectorDatabaseAgent.h:
3262         * inspector/InspectorDebuggerAgent.cpp:
3263         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3264         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3265         (WebCore::InspectorDebuggerAgent::searchInContent):
3266         (WebCore::InspectorDebuggerAgent::setScriptSource):
3267         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
3268         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
3269         * inspector/InspectorDebuggerAgent.h:
3270         * inspector/InspectorMemoryAgent.cpp:
3271         (WebCore::InspectorMemoryAgent::getDOMNodeCount):
3272         * inspector/InspectorMemoryAgent.h:
3273         * inspector/InspectorPageAgent.cpp:
3274         (WebCore::InspectorPageAgent::getCookies):
3275         (WebCore::InspectorPageAgent::getResourceTree):
3276         (WebCore::InspectorPageAgent::searchInResource):
3277         (WebCore::InspectorPageAgent::searchInResources):
3278         * inspector/InspectorPageAgent.h:
3279         * inspector/InspectorProfilerAgent.cpp:
3280         (WebCore::InspectorProfilerAgent::getProfileHeaders):
3281         (WebCore::InspectorProfilerAgent::getProfile):
3282         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
3283         * inspector/InspectorProfilerAgent.h:
3284         * inspector/InspectorRuntimeAgent.cpp:
3285         (WebCore::InspectorRuntimeAgent::evaluate):
3286         (WebCore::InspectorRuntimeAgent::callFunctionOn):
3287         (WebCore::InspectorRuntimeAgent::getProperties):
3288         * inspector/InspectorRuntimeAgent.h:
3289
3290 2011-12-19  Andrey Kosyakov  <caseq@chromium.org>
3291
3292         Web Inspector: [Extensions API] allow setting extension API per extension security origin
3293         https://bugs.webkit.org/show_bug.cgi?id=74868
3294
3295         Reviewed by Pavel Feldman.
3296
3297         This replaces InspectorExtensionAPI string within InspectorFrontendHost with a map by extension
3298         security origin, so that we can have APIs customized by extension (in particular, this is needed
3299         to expose experimental APIs only to certain extensions).
3300
3301         * inspector/InspectorAgent.cpp:
3302         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
3303         (WebCore::InspectorAgent::setInjectedScriptForOrigin):
3304         * inspector/InspectorAgent.h:
3305         * inspector/InspectorController.cpp:
3306         (WebCore::InspectorController::setInjectedScriptForOrigin):
3307         * inspector/InspectorController.h:
3308         * inspector/InspectorFrontendHost.cpp:
3309         (WebCore::InspectorFrontendHost::setInjectedScriptForOrigin):
3310         * inspector/InspectorFrontendHost.h:
3311         * inspector/InspectorFrontendHost.idl:
3312         * inspector/front-end/ExtensionServer.js:
3313         (WebInspector.ExtensionServer.prototype._addExtensions):
3314         (WebInspector.ExtensionServer.prototype._addExtension):
3315
3316 2011-12-20  Peter Rybin  <peter.rybin@gmail.com>
3317
3318         Web Inspector: CodeGenerator should not use pointers for out params of RefPtr type.
3319         https://bugs.webkit.org/show_bug.cgi?id=69366
3320
3321         Reviewed by Pavel Feldman.
3322
3323         Generator fixed and all usages are changed manually.
3324
3325         * inspector/CodeGeneratorInspector.py:
3326         (RawTypes.BaseType.is_event_param_check_optional):
3327         (RawTypes.BaseType):
3328         (RawTypes.BaseType.get_output_argument_prefix):
3329         (RawTypes.Object.get_output_argument_prefix):
3330         (RawTypes.Array.get_output_argument_prefix):
3331         (RawTypes):
3332         (Generator.process_command):
3333         * inspector/InspectorApplicationCacheAgent.cpp:
3334         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
3335         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
3336         * inspector/InspectorApplicationCacheAgent.h:
3337         * inspector/InspectorCSSAgent.cpp:
3338         (WebCore::InspectorCSSAgent::clearFrontend):
3339         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
3340         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
3341         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
3342         (WebCore::InspectorCSSAgent::getAllStyleSheets):
3343         (WebCore::InspectorCSSAgent::getStyleSheet):
3344         (WebCore::InspectorCSSAgent::setPropertyText):
3345         (WebCore::InspectorCSSAgent::toggleProperty):
3346         (WebCore::InspectorCSSAgent::setRuleSelector):
3347         (WebCore::InspectorCSSAgent::addRule):
3348         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
3349         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
3350         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
3351         * inspector/InspectorCSSAgent.h:
3352         * inspector/InspectorDOMAgent.cpp:
3353         (WebCore::InspectorDOMAgent::getDocument):
3354         (WebCore::InspectorDOMAgent::querySelectorAll):
3355         (WebCore::InspectorDOMAgent::getEventListenersForNode):
3356         (WebCore::InspectorDOMAgent::getSearchResults):
3357         (WebCore::InspectorDOMAgent::resolveNode):
3358         (WebCore::InspectorDOMAgent::getAttributes):
3359         * inspector/InspectorDOMAgent.h:
3360         * inspector/InspectorDOMStorageAgent.cpp:
3361         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
3362         * inspector/InspectorDOMStorageAgent.h:
3363         * inspector/InspectorDatabaseAgent.cpp:
3364         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
3365         * inspector/InspectorDatabaseAgent.h:
3366         * inspector/InspectorDebuggerAgent.cpp:
3367         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3368         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3369         (WebCore::InspectorDebuggerAgent::searchInContent):
3370         (WebCore::InspectorDebuggerAgent::setScriptSource):
3371         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
3372         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
3373         * inspector/InspectorDebuggerAgent.h:
3374         * inspector/InspectorMemoryAgent.cpp:
3375         (WebCore::InspectorMemoryAgent::getDOMNodeCount):
3376         * inspector/InspectorMemoryAgent.h:
3377         * inspector/InspectorPageAgent.cpp:
3378         (WebCore::InspectorPageAgent::getCookies):
3379         (WebCore::InspectorPageAgent::getResourceTree):
3380         (WebCore::InspectorPageAgent::searchInResource):
3381         (WebCore::InspectorPageAgent::searchInResources):
3382         * inspector/InspectorPageAgent.h:
3383         * inspector/InspectorProfilerAgent.cpp:
3384         (WebCore::InspectorProfilerAgent::getProfileHeaders):
3385         (WebCore::InspectorProfilerAgent::getProfile):
3386         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
3387         * inspector/InspectorProfilerAgent.h:
3388         * inspector/InspectorRuntimeAgent.cpp:
3389         (WebCore::InspectorRuntimeAgent::evaluate):
3390         (WebCore::InspectorRuntimeAgent::callFunctionOn):
3391         (WebCore::InspectorRuntimeAgent::getProperties):
3392         * inspector/InspectorRuntimeAgent.h:
3393
3394 2011-12-20  Julien Chaffraix  <jchaffraix@webkit.org>
3395
3396         Crash in RenderTable::outerBorderAfter
3397         http://webkit.org/b/74026
3398         <rdar://problem/10552313>
3399
3400         Reviewed by Eric Seidel.
3401
3402         Test: fast/table/computeLogicalWidth-table-needsSectionRecalc.html
3403
3404         RenderBlock can call computeLogicalWidth() before calling layout(). The code in
3405         RenderTable::computeLogicalWidth would make the assumption that layout() was called
3406         as layout() is responsible for recomputing our sections.
3407
3408         To prevent the issue, let's just recompute the section if it's needed as this situation
3409         shouldn't be an error. Also adding more knowledge of table in RenderBlock seems bad.
3410
3411         * rendering/RenderTable.cpp:
3412         (WebCore::RenderTable::computeLogicalWidth):
3413         Make sure we recalculate our section if it's needed.
3414
3415 2011-12-20  Kentaro Hara  <haraken@chromium.org>
3416
3417         [Refactoring] Replace imp with impl in CodeGeneratorJS.pm
3418         https://bugs.webkit.org/show_bug.cgi?id=74901
3419
3420         Reviewed by Adam Barth.
3421
3422         As pointed out in bug 74837, the generated code by CodeGeneratorJS.pm includes
3423         both 'imp' and 'impl'. This patch unifies them into 'impl'.
3424         I confirmed that "perl -lne 'print if /imp[^a-z]/' CodeGeneratorJS.pm" outputs nothing.
3425
3426         No new tests. No change in behavior.
3427
3428         * bindings/scripts/CodeGeneratorJS.pm:
3429         (GenerateAttributeEventListenerCall):
3430         (GenerateEventListenerCall):
3431         (GenerateImplementation):
3432         (GenerateParametersCheck):
3433         (GenerateImplementationFunctionCall):
3434         (NativeToJSValue):
3435
3436         * bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests results.
3437         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
3438         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3439         (WebCore::jsTestEventConstructorAttr1):
3440         (WebCore::jsTestEventConstructorAttr2):
3441         * bindings/scripts/test/JS/JSTestInterface.cpp:
3442         (WebCore::jsTestInterfaceStr1):
3443         (WebCore::jsTestInterfaceStr2):
3444         (WebCore::jsTestInterfaceStr3):
3445         (WebCore::setJSTestInterfaceStr2):
3446         (WebCore::setJSTestInterfaceStr3):
3447         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3448         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
3449         * bindings/scripts/test/JS/JSTestObj.cpp:
3450         (WebCore::jsTestObjReadOnlyIntAttr):
3451         (WebCore::jsTestObjReadOnlyStringAttr):
3452         (WebCore::jsTestObjReadOnlyTestObjAttr):
3453         (WebCore::jsTestObjShortAttr):
3454         (WebCore::jsTestObjUnsignedShortAttr):
3455         (WebCore::jsTestObjIntAttr):
3456         (WebCore::jsTestObjLongLongAttr):
3457         (WebCore::jsTestObjUnsignedLongLongAttr):
3458         (WebCore::jsTestObjStringAttr):
3459         (WebCore::jsTestObjTestObjAttr):
3460         (WebCore::jsTestObjXMLObjAttr):
3461         (WebCore::jsTestObjCreate):
3462         (WebCore::jsTestObjReflectedStringAttr):
3463         (WebCore::jsTestObjReflectedIntegralAttr):
3464         (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
3465         (WebCore::jsTestObjReflectedBooleanAttr):
3466         (WebCore::jsTestObjReflectedURLAttr):
3467         (WebCore::jsTestObjReflectedNonEmptyURLAttr):
3468         (WebCore::jsTestObjReflectedCustomIntegralAttr):
3469         (WebCore::jsTestObjReflectedCustomBooleanAttr):
3470         (WebCore::jsTestObjReflectedCustomURLAttr):
3471         (WebCore::jsTestObjReflectedCustomNonEmptyURLAttr):
3472         (WebCore::jsTestObjAttrWithGetterException):<