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