b0f946add44d733e881b226ed8db27b3c04581ba
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-07-19  Vsevolod Vlasov  <vsevik@chromium.org>
2
3         Web Inspector: Rename agentIdentifierPrefix to processId, move out from page agent and make static.
4         https://bugs.webkit.org/show_bug.cgi?id=64729
5
6         Reviewed by Pavel Feldman.
7
8         * CMakeLists.txt:
9         * GNUmakefile.list.am:
10         * WebCore.gypi:
11         * WebCore.pro:
12         * WebCore.vcproj/WebCore.vcproj:
13         * WebCore.xcodeproj/project.pbxproj:
14         * inspector/IdentifiersFactory.cpp: Added.
15         (WebCore::IdentifiersFactory::createIdentifier):
16         * inspector/IdentifiersFactory.h: Added.
17         (WebCore::IdentifiersFactory::setProcessId):
18         * inspector/InspectorController.cpp:
19         (WebCore::InspectorController::setProcessId):
20         * inspector/InspectorController.h:
21         * inspector/InspectorPageAgent.cpp:
22         (WebCore::InspectorPageAgent::frameId):
23         (WebCore::InspectorPageAgent::loaderId):
24         * inspector/InspectorPageAgent.h:
25
26 2011-07-19  Jeremy Moskovich  <jeremy@chromium.org>
27
28         Fix microphone icon placement in speech input control for dir=rtl.
29         https://bugs.webkit.org/show_bug.cgi?id=64668
30
31         Reviewed by Dimitri Glazkov.
32
33         Modify default stylesheet to propagate dir=rtl from the outer input
34         control to the shadow DOM container.  This makes the microphone
35         icon appear on the left for dir=rtl, which is the desired behavior.
36
37         Test: fast/speech/speech-bidi-rendering.html
38
39         * css/html.css:
40         (input[x-webkit-speech][dir=rtl]::-webkit-textfield-decoration-container):
41
42 2011-07-19  Raphael Kubo da Costa  <kubo@profusion.mobi>
43
44         [EFL] Account for the invalid pointer case in WebCore::screenRect()
45         https://bugs.webkit.org/show_bug.cgi?id=64543
46
47         Reviewed by Antonio Gomes.
48
49         Fix a regression introduced in r88245: it assumes the pointer passed
50         to screenRect() is always valid.
51         fast/frames/crash-removed-iframe.html proves this is not always true,
52         so we need to do some sanity check on the pointer before using it.
53         No new tests as this has been caught by the current test suite.
54
55         * platform/efl/PlatformScreenEfl.cpp:
56         (WebCore::screenRect):
57
58 2011-07-19  Robin Qiu  <robin.qiu@torchmobile.com.cn>
59
60         Reviewed by Antonio Gomes.
61
62         ScrollBar should initialize current position in constructor.
63         https://bugs.webkit.org/show_bug.cgi?id=39284
64
65         When ScrollBar is created, m_currentPos should be initialized to
66         m_scrollableArea's current scrollPosition. Because scrollbars may
67         be created after the content of m_scrollableArea has been scrolled.
68
69         Test: scrollbars/scrollbar-initial-position.html
70
71         * platform/Scrollbar.cpp:
72         (WebCore::Scrollbar::Scrollbar):
73
74 2011-07-19  Yuta Kitamura  <yutak@chromium.org>
75
76         WebSocket: Implement hybi framing
77         https://bugs.webkit.org/show_bug.cgi?id=64522
78
79         Reviewed by Kent Tamura.
80
81         Implement WebSocket framing protocol which is mainly described in
82         <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-4> and
83         <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-6>.
84
85         Hybi protocol introduces a new frame format which is drastically different from
86         the old one. Notable differences are:
87         - Binary data support.
88         - Fragmentation support: a single message can be fragmented to multiple frames.
89         - Ping-pong support.
90         - Masking: frame content of a client must be masked to prevent cross-protocol attacks.
91
92         This patch covers the following features:
93         - Send a pong frame when a ping frame is received.
94         - Receive fragmented frames.
95         - Receive masked frames. (Servers do not have to mask frames, but they may if they wish.)
96
97         The following features are NOT implemented yet:
98         - Send or receive binary messages.
99         - Send a ping message.
100         - Send fragmented frames. (It is unclear whether this is necessary.)
101         - Rewrite the frame content by WebSocket protocol extensions (like frame compression).
102
103         New tests: http/tests/websocket/tests/hybi/broken-utf8.html
104                    http/tests/websocket/tests/hybi/fragmented-control-frame.html
105                    http/tests/websocket/tests/hybi/fragmented-frames.html
106                    http/tests/websocket/tests/hybi/interleaved-fragments.html
107                    http/tests/websocket/tests/hybi/long-control-frame.html
108                    http/tests/websocket/tests/hybi/masked-frames.html
109                    http/tests/websocket/tests/hybi/pong.html
110                    http/tests/websocket/tests/hybi/reserved-bits.html
111                    http/tests/websocket/tests/hybi/reserved-opcodes.html
112                    http/tests/websocket/tests/hybi/too-long-payload.html
113
114         * websockets/WebSocketChannel.cpp:
115         (WebCore::WebSocketChannel::WebSocketChannel):
116         (WebCore::WebSocketChannel::send):
117         The original content of send() was moved to a private method sendFrameHixie76().
118         (WebCore::WebSocketChannel::fail):
119         Stop handling incoming data after the WebSocket connection is failed.
120         It was unclear to me whether we should do the same thing for hixie-76 connection;
121         for now, I kept the original behavior.
122         (WebCore::WebSocketChannel::processBuffer):
123         (WebCore::WebSocketChannel::resumeTimerFired):
124         (WebCore::WebSocketChannel::startClosingHandshake):
125         (WebCore::WebSocketChannel::closingTimerFired):
126         (WebCore::WebSocketChannel::parseFrame):
127         (WebCore::WebSocketChannel::processFrame):
128         (WebCore::WebSocketChannel::processFrameHixie76):
129         (WebCore::WebSocketChannel::sendFrame):
130         (WebCore::WebSocketChannel::sendFrameHixie76):
131         * websockets/WebSocketChannel.h:
132         (WebCore::WebSocketChannel::isNonControlOpCode):
133         (WebCore::WebSocketChannel::isControlOpCode):
134         (WebCore::WebSocketChannel::isReservedOpCode):
135
136 2011-07-19  Nikolas Zimmermann  <nzimmermann@rim.com>
137
138         REGRESSION (r88913): Preview in Safari's snippet editor has a fixed height instead of filling the entire pane
139         https://bugs.webkit.org/show_bug.cgi?id=64059
140
141         REGRESSION (r88913): <object> has wrong computed height
142         https://bugs.webkit.org/show_bug.cgi?id=62769
143
144         Reviewed by Rob Buis.
145
146         Fix misinterpretation of CSS 2.1 - "10.5 Content height: the 'height' property".
147         It says "If the height of the containing block is not specified explicitelz (i.e. it depends on the
148         content height), and this element is not absolutely positioned, the value computes to 'auto'".
149
150         Checking whether the containing block height depends on the content height is not equal to checking
151         whether the height property is set on the containing block, there are other ways to implicitly specify
152         the height by setting top & bottom. Fix that by checking whether the containing block has a height
153         property or top & bottom set.
154
155         While I was at it, make computeReplacedLogicalWidth/Height a bit more explicit to make it easier to compare
156         the code with the spec quoatations - this doesn't change the functionality only the readability.
157         
158         Test: fast/css/replaced-element-implicit-size.html
159
160         * rendering/RenderReplaced.cpp:
161         (WebCore::RenderReplaced::computeReplacedLogicalWidth): Cleanup comment, make code more explicit.
162         (WebCore::RenderReplaced::logicalHeightIsAuto): Add helper method used by computeReplacedLogicalHeight.
163         (WebCore::RenderReplaced::computeReplacedLogicalHeight): Fix height=auto detection.
164         * rendering/RenderReplaced.h:
165
166 2011-07-18  Ryosuke Niwa  <rniwa@webkit.org>
167
168         REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
169         https://bugs.webkit.org/show_bug.cgi?id=64767
170
171         Add a runtime check for font cascading optimization.
172
173         It's a constant value in Mac port so hopefully gcc will constant-propagate the value
174         and eliminate the function altogether.
175
176         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
177         (WebCore::canSetCascadeListForCustomFont): Added.
178         (WebCore::FontPlatformData::ctFont):
179
180 2011-07-18  MORITA Hajime  <morrita@google.com>
181
182         [ShadowContentElement] forwarded node should be able to access its hosting content element.
183         https://bugs.webkit.org/show_bug.cgi?id=64251
184         
185         Reviewed by Dimitri Glazkov.
186
187         - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
188           ShadowInclusionSet instance is owned by ShadowRoot.
189         - Updated the set on inclusion list changes.
190         - Used the set to retrieve the content element of NodeRenderingContext.
191         
192         There are also related refactoring and cleanup:
193         - Renamed NodeRenderingContext::m_contentElement to m_includer
194         - ShadowContentSelector::m_activeElement is no longer used, thus removed.
195         
196         Test: fast/dom/shadow/content-element-includer.html
197
198         * WebCore.exp.in:
199         * dom/NodeRenderingContext.cpp:
200         (WebCore::NodeRenderingContext::NodeRenderingContext):
201         (WebCore::NodeRenderingContext::nextRenderer):
202         (WebCore::NodeRenderingContext::previousRenderer):
203         * dom/NodeRenderingContext.h:
204         (WebCore::NodeRenderingContext::includer):
205         * dom/ShadowContentElement.cpp:
206         (WebCore::removeFromSet):
207         (WebCore::addToSet):
208         (WebCore::ShadowContentElement::attach):
209         (WebCore::ShadowContentElement::detach):
210         * dom/ShadowContentElement.h:
211         (WebCore::ShadowInclusionSet::add):
212         (WebCore::ShadowInclusionSet::remove):
213         (WebCore::ShadowInclusionSet::isEmpty):
214         (WebCore::ShadowInclusionSet::Translator::hash):
215         (WebCore::ShadowInclusionSet::Translator::equal):
216         (WebCore::ShadowInclusionSet::Hash::hash):
217         (WebCore::ShadowInclusionSet::Hash::equal):
218         (WebCore::ShadowInclusionSet::find):
219         * dom/ShadowContentSelector.cpp:
220         (WebCore::ShadowContentSelector::ShadowContentSelector):
221         (WebCore::ShadowContentSelector::selectInclusion):
222         * dom/ShadowContentSelector.h:
223         * dom/ShadowRoot.cpp:
224         (WebCore::ShadowRoot::~ShadowRoot):
225         (WebCore::ShadowRoot::includerFor):
226         (WebCore::ShadowRoot::inclusions):
227         (WebCore::ShadowRoot::ensureInclusions):
228         * dom/ShadowRoot.h:
229         (WebCore::toShadowRoot):
230         * testing/Internals.cpp:
231         (WebCore::Internals::includerFor):
232         * testing/Internals.h:
233         * testing/Internals.idl:
234
235 2011-07-18  Dean Jackson  <dino@apple.com>
236
237         https://bugs.webkit.org/show_bug.cgi?id=64742
238         Expose WebPreferences for media playback requiring user gestures and inline playback
239
240         Reviewed by Simon Fraser.
241
242         Media playback already tested if it should require user gestures, but
243         no setting was ever exposed to clients. Also, some ports only allow media
244         playback to be fullscreen, so exposing a new setting for them.
245
246         * html/HTMLMediaElement.cpp:
247         (WebCore::HTMLMediaElement::HTMLMediaElement): Examine the new Setting
248         for user gestures.
249         * page/Settings.cpp:
250         (WebCore::Settings::Settings):
251         * page/Settings.h: Two new settings.
252         (WebCore::Settings::setMediaPlaybackRequiresUserGesture):
253         (WebCore::Settings::mediaPlaybackRequiresUserGesture):
254         (WebCore::Settings::setMediaPlaybackAllowsInline):
255         (WebCore::Settings::mediaPlaybackAllowsInline):
256
257 2011-07-18  Ryosuke Niwa  <rniwa@webkit.org>
258
259         Leopard build fix after r91229.
260
261         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
262         (WebCore::FontPlatformData::ctFont):
263
264 2011-07-18  Dan Bernstein  <mitz@apple.com>
265
266         REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
267         https://bugs.webkit.org/show_bug.cgi?id=64767
268
269         Reviewed by Sam Weinig.
270
271         * platform/graphics/Font.h:
272         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
273         (WebCore::FontPlatformData::ctFont): Undo the cascade list optimization on Leopard for custom
274         fonts, because adding a cascade list apparently breaks the font.
275
276 2011-07-18  Matthew Delaney  <mdelaney@apple.com>
277
278         Remove drawsUsingCopy now that all ports handle the copying
279         https://bugs.webkit.org/show_bug.cgi?id=64768
280         
281         Introduced in https://bugs.webkit.org/show_bug.cgi?id=43507, ImageBuffer::drawsUsingCopy
282         was used to know whether or not an ImageBuffer should be explicitly copied before being
283         painted into a context (as was used in HTMLCanvasElement::paint). All platforms now
284         handle the logic of copying or not in their ImageBuffer::draw() implementations, so
285         drawsUsingCopy() is no longer needed. This patch removes it.
286
287         Reviewed by Dan Bernstein.
288
289         No new tests; does not affect behavior.
290
291         * html/HTMLCanvasElement.cpp:
292         (WebCore::HTMLCanvasElement::paint):
293         * platform/graphics/ImageBuffer.h:
294         (WebCore::ImageBuffer::isAccelerated):
295         * platform/graphics/cairo/ImageBufferCairo.cpp:
296         * platform/graphics/cg/ImageBufferCG.cpp:
297         * platform/graphics/qt/ImageBufferQt.cpp:
298         * platform/graphics/skia/ImageBufferSkia.cpp:
299         * platform/graphics/wince/ImageBufferWinCE.cpp:
300         * platform/graphics/wx/ImageBufferWx.cpp:
301
302 2011-07-18  Vsevolod Vlasov  <vsevik@chromium.org>
303
304         Web Inspector: [REGRESSION] Resource preserving fails when frameNavigated event is dispatched on NetworkPanel.
305         https://bugs.webkit.org/show_bug.cgi?id=64748
306
307         Reviewed by Pavel Feldman.
308
309         * inspector/front-end/NetworkPanel.js:
310         (WebInspector.NetworkLogView.prototype._frameNavigated):
311
312 2011-07-18  Brian Weinstein  <bweinstein@apple.com>
313
314         Prep work for: Crash under WebPage::platformDragEnded when dragging on Mac
315         https://bugs.webkit.org/show_bug.cgi?id=64766
316         <rdar://problem/9548174>
317         
318         Reviewed by Darin Adler.
319
320         Add a DragClient function that is called when a drag is ended, and call it from DragController::dragEnded.
321         This isn't used yet, but will be used by WebKit2 on Mac.
322         
323         This patch also cleans up style in DragClient.h.
324
325         No change in behavior, no tests needed.
326
327         * page/DragClient.h:
328         (WebCore::DragClient::dragEnded): Stub virtual implementation for now, this will be used by
329             WebKit2 on Mac.
330         * page/DragController.cpp:
331         (WebCore::DragController::dragEnded): Call DragClient::dragEnded.
332
333 2011-07-18  Jon Honeycutt  <jhoneycutt@apple.com>
334
335         Focus and selection events are not fired when a <select>'s selection
336         changes
337         https://bugs.webkit.org/show_bug.cgi?id=64504
338         <rdar://problem/9319881>
339
340         Reviewed by Alice Liu.
341
342         Test: platform/win/accessibility/option-element-selection-and-focus-events.html
343
344         * accessibility/chromium/AXObjectCacheChromium.cpp:
345         (WebCore::AXObjectCache::postPlatformNotification):
346         Add new notification type to the section of unhandled notifications.
347
348         * accessibility/AXObjectCache.h:
349         Declare a new notification, AXMenuListItemSelected.
350
351         * accessibility/AccessibilityMenuList.cpp:
352         (WebCore::AccessibilityMenuList::didUpdateActiveOption):
353         Tell our child popup that the active option changed, and post a
354         notification that our value changed.
355
356         * accessibility/AccessibilityMenuList.h:
357         Declare didUpdateActiveOption().
358
359         * accessibility/AccessibilityMenuListPopup.cpp:
360         (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
361         Get the child <option> element that is selected, and fire focus and
362         selection events for it.
363
364         * accessibility/AccessibilityMenuListPopup.h:
365         Declare didUpdateActiveOption().
366
367         * accessibility/win/AXObjectCacheWin.cpp:
368         (WebCore::AXObjectCache::postPlatformNotification):
369         Map AXMenuListItemSelected -> EVENT_OBJECT_SELECTION.
370
371         * dom/SelectElement.cpp:
372         (WebCore::SelectElement::setSelectedIndex):
373         Pass the newly-selected index.
374
375         * rendering/RenderMenuList.cpp:
376         (WebCore::RenderMenuList::RenderMenuList):
377         Update the initialization list for the renamed m_lastActiveIndex.
378         (WebCore::RenderMenuList::setTextFromOption):
379         A new selection has been made in the popup; call
380         didUpdateActiveOption().
381         (WebCore::RenderMenuList::didSetSelectedIndex):
382         Call didUpdateActiveOption(), passing the index of the newly-selected
383         <option>.
384         (WebCore::RenderMenuList::didUpdateActiveOption):
385         If accessibility is disabled, or if the active option has not changed,
386         return early. Check whether the option index is in the range of list
387         items, and assert that the item at that index is an <option> element.
388         Tell the AccessibilityMenuList for this element that we updated the
389         active option.
390
391         * rendering/RenderMenuList.h:
392         Updated the declaration of didSetSelectedIndex() to take the selected
393         index. Declared didUpdateActiveOption(). Renamed m_lastSelectedIndex to
394         m_lastActiveIndex.
395
396 2011-07-18  Dan Bernstein  <mitz@apple.com>
397
398         Specify a cascade list consisting of the last resort font for Core Text
399         https://bugs.webkit.org/show_bug.cgi?id=64747
400
401         Reviewed by Sam Weinig.
402
403         No new tests, because this does not affect behavior.
404
405         This prevents Core Text from taking its default, longer fallback list when the primary font does
406         not include a character. This is OK to do because WebKit never uses the results of Core Text
407         fallback anyway.
408
409         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
410         (WebCore::cascadeToLastResortFontDescriptor): Added. Returns a CTFontDescriptor with a cascade
411         list consisting of the last resort font.
412         (WebCore::FontPlatformData::ctFont): Changed to include the cascadeToLastResortFontDescriptor
413         in the returned font.
414
415 2011-07-18  James Robinson  <jamesr@chromium.org>
416
417         Timer scheduling should be based off the monotonic clock
418         https://bugs.webkit.org/show_bug.cgi?id=64544
419
420         Reviewed by Darin Adler.
421
422         Changes the Timer scheduling logic from using absolute values in terms of currentTime() to using relative
423         intervals in terms of monotonicallyIncreasingTime().  This provides better standards compliance, compatibility,
424         and predictability when the system clock is adjusted.
425
426         No automated tests since there is no way to modify the system clock from DRT.
427
428         * platform/SharedTimer.h:
429         (WebCore::MainThreadSharedTimer::setFireInterval):
430         * platform/ThreadTimers.cpp:
431         (WebCore::ThreadTimers::updateSharedTimer):
432         (WebCore::ThreadTimers::sharedTimerFiredInternal):
433         * platform/Timer.cpp:
434         (WebCore::TimerBase::start):
435         (WebCore::TimerBase::nextFireInterval):
436         * platform/android/SharedTimerAndroid.cpp:
437         (WebCore::setSharedTimerFireInterval):
438         * platform/brew/SharedTimerBrew.cpp:
439         (WebCore::setSharedTimerFireInterval):
440         * platform/chromium/PlatformBridge.h:
441         * platform/chromium/SharedTimerChromium.cpp:
442         (WebCore::setSharedTimerFireInterval):
443         * platform/efl/SharedTimerEfl.cpp:
444         (WebCore::addNewTimer):
445         (WebCore::setSharedTimerFireInterval):
446         * platform/gtk/SharedTimerGtk.cpp:
447         (WebCore::setSharedTimerFireInterval):
448         * platform/haiku/SharedTimerHaiku.cpp:
449         (WebCore::SharedTimerHaiku::start):
450         (WebCore::setSharedTimerFireInterval):
451         * platform/mac/SharedTimerMac.mm:
452         (WebCore::setSharedTimerFireInterval):
453         * platform/qt/SharedTimerQt.cpp:
454         (WebCore::SharedTimerQt::start):
455         (WebCore::setSharedTimerFireInterval):
456         * platform/win/SharedTimerWin.cpp:
457         (WebCore::setSharedTimerFireInterval):
458         * platform/wince/SharedTimerWinCE.cpp:
459         (WebCore::setSharedTimerFireInterval):
460         * platform/wx/SharedTimerWx.cpp:
461         (WebCore::setSharedTimerFireInterval):
462         * workers/WorkerRunLoop.cpp:
463         (WebCore::WorkerSharedTimer::setFireInterval):
464
465 2011-07-18  Pratik Solanki  <psolanki@apple.com>
466
467         Unreviewed. Fix Windows build. Move static function defaultSessionCookieStorage() to before
468         its use in defaultCookieStorage().
469
470         * platform/network/cf/CookieStorageCFNet.cpp:
471         (WebCore::defaultSessionCookieStorage):
472
473 2011-07-18  Pratik Solanki  <psolanki@apple.com>
474
475         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
476         Get webkit to compile with USE(CFNETWORK) enabled on Mac
477
478         Reviewed by David Kilzer.
479
480         Get coookie storage code to work with USE(CFNETWORK) enabled on Mac.
481
482         No new tests because no change in functionality.
483
484         * platform/network/cf/CookieStorageCFNet.cpp:
485         (WebCore::defaultCookieStorage):
486         (WebCore::defaultSessionCookieStorage):
487         * platform/network/cf/ResourceHandleCFNet.cpp:
488         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
489         * platform/network/mac/CookieStorageMac.mm:
490
491 2011-07-18  Pratik Solanki  <psolanki@apple.com>
492
493         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
494         Get webkit to compile with USE(CFNETWORK) enabled on Mac
495
496         Reviewed by David Kilzer.
497
498         * WebCore.exp.in:
499
500 2011-07-18  Gavin Barraclough  <barraclough@apple.com>
501
502         Speculative fix for Leopard assertions caused by 91095.
503
504         Rubber stamped by Sam Weinig.
505
506         * bridge/NP_jsobject.cpp:
507         (_NPN_Invoke):
508             - ensure we pass the window shell, not the global object.
509
510 2011-07-18  Mark Hahnenberg  <mhahnenberg@apple.com>
511
512         Refactor JSC to replace JSCell::operator new with static create method
513         https://bugs.webkit.org/show_bug.cgi?id=64466
514
515         Reviewed by Oliver Hunt (oliver@apple.com) and Darin Adler (darin@apple.com).
516
517         First step in a longer refactoring process to remove the use of
518         operator new overloading in order to allocate GC objects and to replace
519         this method with static create methods for each individual type of heap-allocated
520         JS object.  This particular patch only deals with replacing uses of
521         operator new within JSC proper.  Future patches will remove it from the
522         parts that interface with the DOM.  Due to the DOM's continued dependence
523         on it, operator new has not actually been removed from JSCell.
524
525         * bindings/js/JSDOMBinding.cpp:
526         (WebCore::jsDateOrNull):
527         (WebCore::objectToStringFunctionGetter):
528         * bindings/js/JSDOMWindowCustom.cpp:
529         (WebCore::nonCachingStaticFunctionGetter):
530         * bindings/js/JSHistoryCustom.cpp:
531         (WebCore::nonCachingStaticBackFunctionGetter):
532         (WebCore::nonCachingStaticForwardFunctionGetter):
533         (WebCore::nonCachingStaticGoFunctionGetter):
534         * bindings/js/JSLocationCustom.cpp:
535         (WebCore::nonCachingStaticReplaceFunctionGetter):
536         (WebCore::nonCachingStaticReloadFunctionGetter):
537         (WebCore::nonCachingStaticAssignFunctionGetter):
538         * bindings/js/SerializedScriptValue.cpp:
539         (WebCore::CloneDeserializer::readTerminal):
540         * bridge/qt/qt_runtime.cpp:
541         (JSC::Bindings::convertQVariantToValue):
542
543 2011-07-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
544
545         [Texmap] [Qt] [WK2] Unsync in TextureMapperNode between parent and child lists cause crashes on WK2.
546         https://bugs.webkit.org/show_bug.cgi?id=62587
547
548         Reviewed by Noam Rosenthal.
549
550         Fix unsync between m_parent and m_children list in child and parent texture mapper nodes 
551         in syncCompositingStateSelf.
552
553         * platform/graphics/texmap/TextureMapperNode.cpp:
554         (WebCore::TextureMapperNode::syncCompositingStateSelf):
555
556 2011-07-18  Rob Buis  <rbuis@rim.com>
557
558         Stroking of zero-length paths in SVG should change according to erratum
559         https://bugs.webkit.org/show_bug.cgi?id=18356
560
561         Reviewed by Nikolas Zimmermann.
562
563         Do not rely on toolkits to correctly render zero-length path with stroke-linecap=round, render
564         it ourselves just like for stroke-linecap=square.
565
566         * rendering/svg/RenderSVGPath.cpp:
567         (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
568         (WebCore::RenderSVGPath::setupSquareCapPath):
569
570 2011-07-18  Mihnea Ovidenie  <mihnea@adobe.com>
571
572         [REGRESSION] Value 'none' breaks multiple background-image display
573         https://bugs.webkit.org/show_bug.cgi?id=59274
574
575         Reviewed by Simon Fraser.
576
577         When taking fast path for simple color background, we should draw
578         the background only if it is the last in the list of backgrounds.
579         Otherwise, it will obscure the previously drawn backgrounds.
580
581         Test: fast/backgrounds/background-fast-path-simple-color.html
582
583         * rendering/RenderBoxModelObject.cpp:
584         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
585
586 2011-07-18  Yi Shen  <yi.4.shen@nokia.com>
587
588         [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
589         https://bugs.webkit.org/show_bug.cgi?id=62808
590
591         The assertion in ResourceHandle::setDefersLoading assumes asynchronous
592         content delivery -- To resume a page, first, its main resource loader
593         calls setDefersLoading to resume loading the main content; then all the
594         sub-resource loaders calls setDefersLoading to resume sub-contents.
595         However, since QNetworkReplyHandler delivers content synchronously,
596         some new sub-resource loaders get created as soon as the main resource
597         loader resumed, and all these new sub-resource loaders set their
598         defersLoading flag to false. Then, the assertion fails for these new
599         sub-resource loaders when calling setDefersLoading on them. As a fix,
600         this path makes QNetworkReplyHandler deliver content asynchronously
601         when its load type is set to SynchronousLoad.
602
603         Reviewed by Benjamin Poulain.
604
605         Test: loader/load-defer-resume-crash.html
606
607         * platform/network/qt/QNetworkReplyHandler.cpp:
608         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
609         * platform/network/qt/QNetworkReplyHandler.h:
610         (WebCore::QNetworkReplyHandler::setLoadingDeferred):
611
612 2011-07-18  Young Han Lee  <joybro@company100.net>
613
614         AnimationBase asserts if a test tries to pause during the delay phase
615         https://bugs.webkit.org/show_bug.cgi?id=59475
616
617         Reviewed by Simon Fraser.
618
619         There is no more assertion failure after r90765, but the testcase still fails due to
620         the miscalculation of the pauseTime. This patch pauses the animation at its startTime
621         if a test tries to pause it during the delay phase.
622
623         Test: transitions/transition-in-delay-phase.html
624
625         * page/animation/AnimationBase.cpp:
626         (WebCore::AnimationBase::freezeAtTime):
627
628 2011-07-18  Vsevolod Vlasov  <vsevik@chromium.org>
629
630         Web Inspector: Web Inspector: provide unique identifiers for loaders
631         https://bugs.webkit.org/show_bug.cgi?id=64599
632
633         Reviewed by Pavel Feldman.
634
635         * inspector/InspectorInstrumentation.cpp:
636         (WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
637         * inspector/InspectorInstrumentation.h:
638         (WebCore::InspectorInstrumentation::frameDestroyed):
639         (WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
640         * inspector/InspectorPageAgent.cpp:
641         (WebCore::InspectorPageAgent::loaderId):
642         (WebCore::InspectorPageAgent::loaderDetachedFromFrame):
643         * inspector/InspectorPageAgent.h:
644         * loader/DocumentLoader.cpp:
645         (WebCore::DocumentLoader::detachFromFrame):
646
647 2011-07-18  Pavel Feldman  <pfeldman@google.com>
648
649         Web Inspector: "Reveal in Elements Panel" is broken.
650         https://bugs.webkit.org/show_bug.cgi?id=64688
651
652         Reviewed by Yury Semikhatsky.
653
654         * inspector/front-end/ElementsTreeOutline.js:
655         (WebInspector.ElementsTreeOutline):
656         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
657         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
658         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
659
660 2011-07-18  Julien Chaffraix  <jchaffraix@webkit.org>
661
662         Remove RenderObject::addLayers second argument
663         https://bugs.webkit.org/show_bug.cgi?id=64649
664
665         Reviewed by Benjamin Poulain.
666
667         No change in behavior.
668
669         The code was always passing |this| as the second argument. Thus just
670         removed the argument for clarity.
671
672         * rendering/RenderObject.h:
673         * rendering/RenderObject.cpp:
674         (WebCore::RenderObject::addLayers): Removed the argument, replaced
675         by |this|.
676
677         * rendering/RenderObjectChildList.cpp:
678         (WebCore::RenderObjectChildList::appendChildNode):
679         (WebCore::RenderObjectChildList::insertChildNode):
680         Removed the second argument at those 2 call sites.
681
682 2011-07-18  Pavel Feldman  <pfeldman@google.com>
683
684         Web Inspector: do not pause on caught exceptions while typing in the console.
685         https://bugs.webkit.org/show_bug.cgi?id=64379
686
687         Reviewed by Yury Semikhatsky.
688
689         * inspector/Inspector.json:
690         * inspector/InspectorController.cpp:
691         (WebCore::InspectorController::InspectorController):
692         * inspector/InspectorRuntimeAgent.cpp:
693         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
694         (WebCore::InspectorRuntimeAgent::evaluate):
695         (WebCore::InspectorRuntimeAgent::setScriptDebugServer):
696         * inspector/InspectorRuntimeAgent.h:
697         * inspector/WorkerInspectorController.cpp:
698         (WebCore::WorkerInspectorController::WorkerInspectorController):
699         * inspector/front-end/ConsoleView.js:
700         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
701         * inspector/front-end/WatchExpressionsSidebarPane.js:
702         (WebInspector.WatchExpressionsSection.prototype.update):
703
704 2011-07-18  Sheriff Bot  <webkit.review.bot@gmail.com>
705
706         Unreviewed, rolling out r91132 and r91135.
707         http://trac.webkit.org/changeset/91132
708         http://trac.webkit.org/changeset/91135
709         https://bugs.webkit.org/show_bug.cgi?id=64681
710
711         Broke GTK and Chromium debug bots (Requested by rniwa on
712         #webkit).
713
714         * accessibility/AXObjectCache.h:
715         * accessibility/AccessibilityMenuList.cpp:
716         * accessibility/AccessibilityMenuList.h:
717         * accessibility/AccessibilityMenuListPopup.cpp:
718         * accessibility/AccessibilityMenuListPopup.h:
719         * accessibility/chromium/AXObjectCacheChromium.cpp:
720         (WebCore::AXObjectCache::postPlatformNotification):
721         * accessibility/win/AXObjectCacheWin.cpp:
722         (WebCore::AXObjectCache::postPlatformNotification):
723         * dom/SelectElement.cpp:
724         (WebCore::SelectElement::setSelectedIndex):
725         * rendering/RenderMenuList.cpp:
726         (WebCore::RenderMenuList::RenderMenuList):
727         (WebCore::RenderMenuList::setTextFromOption):
728         (WebCore::RenderMenuList::didSetSelectedIndex):
729         * rendering/RenderMenuList.h:
730
731 2011-07-17  Luke Macpherson   <macpherson@chromium.org>
732
733         Implement CSSPropertyCursor in CSSStyleApplyProperty
734         https://bugs.webkit.org/show_bug.cgi?id=64432
735
736         Reviewed by Dimitri Glazkov.
737
738         No new tests / refectoring only.
739
740         * css/CSSStyleApplyProperty.cpp:
741         Add handler for CSSPropertyCursor.
742         * css/CSSStyleSelector.cpp:
743         Remove current handler of CSSPropertyCursor.
744         * css/CSSStyleSelector.h:
745         Make styleImage and cachedOrPendingFromValue public.
746
747 2011-07-16  Simon Fraser  <simon.fraser@apple.com>
748
749         Add code to attempt to align compositing layers to pixel boundaries when page scale changes
750         https://bugs.webkit.org/show_bug.cgi?id=64658
751
752         Reviewed by Dan Bernstein.
753         
754         Implemented a new behavior on GraphicsLayerCA which attempts to keep layers pixel
755         aligned as page scale changes.
756         
757         This requires denoting which layer has the page scale on it (it is assumed to be
758         already aligned), via setAppliesPageScale(). We also now pass a scale and offset
759         down through the GraphicsLayer commits, which are used to map layer bounds to display
760         coordinates for rounding.
761
762         * platform/graphics/GraphicsLayer.h: New flags and getters/setters for pixel alignment,
763         and the layer that is the applier of the scale.
764         (WebCore::GraphicsLayer::setMaintainsPixelAlignment):
765         (WebCore::GraphicsLayer::maintainsPixelAlignment):
766         (WebCore::GraphicsLayer::setAppliesPageScale):
767         (WebCore::GraphicsLayer::appliesPageScale):
768
769         * platform/graphics/GraphicsLayer.cpp:
770         (WebCore::GraphicsLayer::GraphicsLayer): Initialize the new flags.
771         (WebCore::GraphicsLayer::backingScaleFactor): Utility method that calls the client if there is one.
772         (WebCore::GraphicsLayer::pageScaleFactor): Ditto.
773
774         * platform/graphics/GraphicsLayerClient.h:
775         (WebCore::GraphicsLayerClient::backingScaleFactor): Provide default implementation.
776         (WebCore::GraphicsLayerClient::pageScaleFactor): Ditto.
777
778         * platform/graphics/ca/GraphicsLayerCA.h: Pass scale and base-relative offset around
779         to methods that need to update geometry during commit.
780         Some new methods related to pixel alignment.
781         
782         * platform/graphics/ca/GraphicsLayerCA.cpp:
783         (WebCore::GraphicsLayerCA::computePositionRelativeToBase): For single-layer commits,
784         we have to compute the base-relative offset, and whether we're under the layer
785         applying the scale by walking up the tree.
786         
787         (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly): Call
788         computePositionRelativeToBase() to get scaling parameters for the target layer.
789         
790         (WebCore::GraphicsLayerCA::recursiveCommitChanges): Pass flags related to scaling.
791         positionRelativeToBase is an offset relative to the ancestor layer known to be pixel
792         aligned. affectedByPageScale is true for layers which are descendants of the layer
793         which applies the scale.
794         
795         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Pass scale and offset.
796         (WebCore::GraphicsLayerCA::updateGeometry): Call computePixelAlignment() to get
797         pixel-aligned geometry. This only needs to be applied to layers which render content,
798         so re-organize the code to use the unchanged layer geometry for the structural layer,
799         but to apply the adjusted geometry to the m_layer.
800         
801         (WebCore::GraphicsLayerCA::updateStructuralLayer): Pass scale and offset.
802         (WebCore::GraphicsLayerCA::ensureStructuralLayer): Ditto.
803         (WebCore::GraphicsLayerCA::updateLayerDrawsContent): Ditto.
804         (WebCore::GraphicsLayerCA::updateContentsScale): Ditto.
805         (WebCore::GraphicsLayerCA::requiresTiledLayer): Ditto.
806         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Ditto.
807         (WebCore::GraphicsLayerCA::setKeepPixelAligned): When set, dirties flags
808         for properties that need to be recomputed.
809         (WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):
810         (WebCore::isIntegral):
811         (WebCore::GraphicsLayerCA::computePixelAlignment): Map our bounds to screen
812         scale, round out to an integral rect, then map it back, adding a fudge factor
813         so that CA backing stores don't end up being smaller than we expect because
814         of integer truncation.
815
816         * rendering/RenderLayerBacking.cpp:
817         (WebCore::RenderLayerBacking::createGraphicsLayer): Turn on pixel alignment if
818         the compositor says so.
819         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Set the RenderView's
820         layer as the one applying the scale, for the main frame.
821
822         * rendering/RenderLayerCompositor.h: New method.
823         * rendering/RenderLayerCompositor.cpp:
824         (WebCore::RenderLayerCompositor::keepLayersPixelAligned): Master switch for
825         pixel alignment. Default to on.
826         (WebCore::RenderLayerCompositor::ensureRootLayer): Give the two root-ish layers
827         a client so they can ask for page scale if necessary.
828
829 2011-07-16  Enrica Casucci  <enrica@apple.com>
830
831         REGRESSION: Pressing return in a particular document sends the cursor to the end of the document.
832         https://bugs.webkit.org/show_bug.cgi?id=64140
833         <rdar://problem/9737491>
834
835         Inserting a paragraph separator at a break element, inside an inline, generates redundant markup
836         and moves the selection at the end of the inserted block.
837         The fix consists in detecting that the insertion point is a break element and simply inserting another
838         break element. This solves the problem of the wrong final selection and also produces less redundant
839         markup.
840
841         Reviewed by Simon Fraser.
842
843         Test: editing/inserting/insert-paragraph-separator-at-break.html
844
845         * editing/InsertParagraphSeparatorCommand.cpp:
846         (WebCore::InsertParagraphSeparatorCommand::doApply): Modified logic for insertion at a break
847         element.
848
849 2011-07-16  Pratik Solanki  <psolanki@apple.com>
850
851         SubresourceLoader::didReceiveDataArray can crash when calling m_client->didReceiveData()
852         https://bugs.webkit.org/show_bug.cgi?id=64656
853         <rdar://problem/9754425>
854
855         Reviewed by Alexey Proskuryakov.
856
857         * loader/cf/SubresourceLoaderCF.cpp:
858         (WebCore::SubresourceLoader::didReceiveDataArray): Check for m_client before calling
859         m_client->didReceiveData().
860
861 2011-07-16  Dinu Jacob  <dinu.jacob@nokia.com>
862
863         [Qt] Compilation fails on disabling TextureMapper
864         https://bugs.webkit.org/show_bug.cgi?id=64408
865
866         Fix compilation error due to API name change in GraphicsLayer
867
868         Reviewed by Noam Rosenthal.
869
870         * platform/graphics/qt/GraphicsLayerQt.cpp:
871         (WebCore::GraphicsLayerQt::setContentsToBackgroundColor):
872         * platform/graphics/qt/GraphicsLayerQt.h:
873
874 2011-07-15  Pratik Solanki  <psolanki@apple.com>
875
876         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
877         Get webkit to compile with USE(CFNETWORK) enabled on Mac
878
879         Reviewed by David Kilzer.
880
881         New WebKitSystemInterface functions for CFNetwork-based loader.
882
883         * WebCore.exp.in:
884         * platform/mac/WebCoreSystemInterface.h:
885         * platform/mac/WebCoreSystemInterface.mm:
886
887 2011-07-16  Jessie Berlin  <jberlin@apple.com>
888
889         Work towards determining the cause of frequent crashes due to null frame below
890         ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache.
891         https://bugs.webkit.org/show_bug.cgi?id=62764
892
893         Reviewed by Darin Adler.
894
895         No loads should be going on for a DocumentLoader that has been detached from its frame, but
896         that appears to be what is happening in this bug.
897
898         Add assertions with the hope that someone will run into this while debugging and thereby find
899         a reproducible case.
900
901         * loader/ResourceLoader.cpp:
902         (WebCore::ResourceLoader::willSendRequest):
903         (WebCore::ResourceLoader::didSendData):
904         (WebCore::ResourceLoader::didReceiveResponse):
905         (WebCore::ResourceLoader::didReceiveData):
906         (WebCore::ResourceLoader::didFinishLoading):
907         (WebCore::ResourceLoader::didFail):
908         (WebCore::ResourceLoader::wasBlocked):
909         (WebCore::ResourceLoader::cannotShowURL):
910         (WebCore::ResourceLoader::shouldUseCredentialStorage):
911         (WebCore::ResourceLoader::willCacheResponse):
912
913 2011-07-16  Sergey Glazunov  <serg.glazunov@gmail.com>
914
915         DOMWindow::open performs a security check on a wrong window
916         https://bugs.webkit.org/show_bug.cgi?id=64651
917
918         Reviewed by Adam Barth.
919
920         Test: http/tests/security/xss-DENIED-window-open-parent.html
921
922         * page/DOMWindow.cpp:
923         (WebCore::DOMWindow::open):
924
925 2011-07-16  Sam Weinig  <sam@webkit.org>
926
927         Attribute selectors don't handle glob namespaces (e.g. *|E)
928         https://bugs.webkit.org/show_bug.cgi?id=64567
929
930         Reviewed by Anders Carlsson.
931
932         Change checking of attribute selectors to match CSS 3 Selectors in
933         the presence of namespaces. This entails changing the algorithm to
934         check each attribute on an element as a match for the attribute selector
935         and taking into account a prefix of *.
936
937         * css/CSSStyleSelector.cpp:
938         (WebCore::attributeQualifiedNameMatches):
939         Checks if the a particular attributes qualified name matches
940         the attribute selector, taking into account a prefix of *.
941
942         (WebCore::attributeValueMatches):
943         Checks if a particular attribute on an element, matches
944         the attribute selector.
945
946         (WebCore::anyAttributeMatches):
947         Top level attribute check. Checks if any of an elements attributes
948         match the attribute selector.
949         
950         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
951         Factor out attribute checking code into the above functions.
952
953 2011-07-16  Jon Honeycutt  <jhoneycutt@apple.com>
954
955         WinCE build fix. Unreviewed.
956
957         * dom/SelectElement.cpp:
958
959 2011-07-16  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
960
961         Reviewed by Nikolas Zimmermann.
962
963         SVG animation API crashes on SVGAnimateTransform
964         https://bugs.webkit.org/show_bug.cgi?id=64104
965
966         This patch ensures the update in AnimatedTransform list in
967         SVGAnimateTransformElement.cpp is in sync with its wrapper list.
968
969         Test: svg/animations/svgtransform-animation-discrete.html
970
971         * svg/SVGAnimateTransformElement.cpp:
972         (WebCore::animatedTransformListFor):
973         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
974         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
975         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
976
977 2011-07-15  Simon Fraser  <simon.fraser@apple.com>
978
979         Fix the build.
980
981         * platform/mac/ScrollbarThemeMac.mm:
982         (WebCore::ScrollbarThemeMac::updateEnabledState):
983
984 2011-07-15  Simon Fraser  <simon.fraser@apple.com>
985
986         Another Windows build fix; make this method non-pure virtual.
987
988         * platform/graphics/GraphicsLayerClient.h:
989         (WebCore::GraphicsLayerClient::didCommitChangesForLayer):
990
991 2011-07-15  Simon Fraser  <simon.fraser@apple.com>
992
993         Fix build error in 32-bit builds.
994
995         * rendering/svg/RenderSVGPath.cpp:
996         (WebCore::RenderSVGPath::zeroLengthSubpathRect):
997
998 2011-07-15  Simon Fraser  <simon.fraser@apple.com>
999
1000         Fix Windows build.
1001
1002         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
1003         (WebCore::MediaPlayerPrivate::backingScaleFactor):
1004         (WebCore::MediaPlayerPrivate::pageScaleFactor):
1005
1006 2011-07-15  Simon Fraser  <simon.fraser@apple.com>
1007
1008         Have GraphicsLayer pull their contentsScale, rather than pushing it onto them
1009         https://bugs.webkit.org/show_bug.cgi?id=64643
1010
1011         Reviewed by Darin Adler.
1012
1013         RenderLayerBacking would set the contentsScale on GraphicsLayers
1014         on creation, and update it when the pageScaleFactor changed. However,
1015         RenderLayerBacking doesn't really know what contentsScale is best
1016         for a layer, so instead, have GraphicsLayers call back through the
1017         GraphicsLayerClient to get the two relevant scale factors, and do
1018         their own computation of contentsScale.
1019
1020         No testable behavior changes.
1021
1022         * page/Frame.cpp:
1023         (WebCore::Frame::pageScaleFactorChanged): No need to pass the scale.
1024
1025         * platform/graphics/GraphicsLayer.cpp:
1026         (WebCore::GraphicsLayer::notePageScaleFactorChangedIncludingDescendants):
1027         Recurse through the GraphicsLayer tree, calling pageScaleFactorChanged() on 
1028         each layer.
1029
1030         * platform/graphics/GraphicsLayer.h:
1031         (WebCore::GraphicsLayer::pageScaleFactorChanged):
1032         Remove contentsScale/setContentsScale
1033         
1034         * platform/graphics/GraphicsLayerClient.h:
1035         Add methods to fetch the backingScaleFactor() and pageScaleFactor().
1036         
1037         * platform/graphics/ca/GraphicsLayerCA.cpp:
1038         (WebCore::GraphicsLayerCA::GraphicsLayerCA): m_uncommittedChanges
1039         defaults to ContentsScaleChanged so we update contentsScale on
1040         the first flush.
1041         
1042         (WebCore::GraphicsLayerCA::setContentsToBackgroundColor):
1043         This was the wrong time to call updateContentsRect() and setupContentsLayer();
1044         those should be done at commit time, so moved to updateLayerBackgroundColor().
1045         (WebCore::GraphicsLayerCA::recursiveCommitChanges): Note whether we
1046         have any changes, and call didCommitChangesForLayer() on the client.
1047         (WebCore::GraphicsLayerCA::updateLayerBackgroundColor): Code moved to here.
1048         (WebCore::clampedContentsScaleForScale): No longer has any hysteresis
1049         on the scale, and now just clamps.
1050         (WebCore::GraphicsLayerCA::updateContentsScale): Fetch the scales
1051         from the client, and multiply them, then clamp.
1052         (WebCore::GraphicsLayerCA::requiresTiledLayer): This now takes
1053         contentsScale into account when deciding to use tiled layer,
1054         so that zooming in will cause layers to start tiling.
1055         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Don't call
1056         setContentsScale(), but rather updateContentsScale().
1057         (WebCore::GraphicsLayerCA::pageScaleFactorChanged): Set the bits
1058         for properties that depend on the scale.
1059         (WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):
1060         Note that contentsScale needs to be updated. At some point we might also
1061         need to dirty other properties.
1062         * platform/graphics/ca/GraphicsLayerCA.h: Moved the m_allowTiledLayer
1063         bool for better packing. No need for a m_contentsScale member now.
1064         * rendering/RenderLayer.cpp: Removed pageScaleFactorChanged().
1065         * rendering/RenderLayer.h: Ditto.
1066         * rendering/RenderLayerBacking.cpp:
1067         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): No need
1068         to push the contents scale.
1069         (WebCore::RenderLayerBacking::updateForegroundLayer): Ditto.
1070         (WebCore::RenderLayerBacking::updateMaskLayer): Ditto.
1071         (WebCore::RenderLayerBacking::pageScaleFactor): GraphicsLayerClient method.
1072         (WebCore::RenderLayerBacking::backingScaleFactor): GraphicsLayerClient method.
1073         (WebCore::RenderLayerBacking::didCommitChangesForLayer): Send through
1074         to the compositor.
1075         * rendering/RenderLayerBacking.h: GraphicsLayerClient methods.
1076         * rendering/RenderLayerCompositor.cpp:
1077         (WebCore::RenderLayerCompositor::didFlushChangesForLayer): We'll use
1078         this later.
1079         (WebCore::RenderLayerCompositor::backingScaleFactor): GraphicsLayerClient method.
1080         (WebCore::RenderLayerCompositor::pageScaleFactor): Ditto.
1081         (WebCore::RenderLayerCompositor::didCommitChangesForLayer): Ditto.
1082         (WebCore::RenderLayerCompositor::ensureRootLayer): No need to push the contents scale.
1083         (WebCore::RenderLayerCompositor::pageScaleFactorChanged): Just call notePageScaleFactorChangedIncludingDescendants()
1084         on the root GraphicsLayer.
1085         * rendering/RenderLayerCompositor.h: Added GraphicsLayerClient methods.
1086
1087 2011-07-15  Jon Honeycutt  <jhoneycutt@apple.com>
1088
1089         Build fix. Unreviewed.
1090
1091         * accessibility/AccessibilityMenuListPopup.cpp:
1092         (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
1093         Cast size_t to int for comparison.
1094
1095 2011-07-15  Andy Estes  <aestes@apple.com>
1096
1097         Rename applicationIsSolarWalk() to applicationIsSolarWalkMac().
1098         https://bugs.webkit.org/show_bug.cgi?id=64641
1099
1100         Reviewed by Brian Weinstein.
1101
1102         * WebCore.exp.in: Update to new symbol.
1103         * platform/RuntimeApplicationChecks.cpp:
1104         (WebCore::applicationIsSolarWalkMac): Renamed from applicationIsSolarWalk.
1105         * platform/RuntimeApplicationChecks.h: Ditto.
1106
1107 2011-07-15  Mark Rowe  <mrowe@apple.com>
1108
1109         Fix the build.
1110
1111         * platform/graphics/GraphicsContext.h:
1112         (WebCore::GraphicsContextStateSaver::context): Remove a bogus type qualifier.
1113
1114 2011-07-13  Jon Honeycutt  <jhoneycutt@apple.com>
1115
1116         Focus and selection events are not fired when a <select>'s selection
1117         changes
1118         https://bugs.webkit.org/show_bug.cgi?id=64504
1119         <rdar://problem/9319881>
1120
1121         Reviewed by Alice Liu.
1122
1123         Test: platform/win/accessibility/option-element-selection-and-focus-events.html
1124
1125         * accessibility/chromium/AXObjectCacheChromium.cpp:
1126         (WebCore::AXObjectCache::postPlatformNotification):
1127         Add new notification type to the section of unhandled notifications.
1128
1129         * accessibility/AXObjectCache.h:
1130         Declare a new notification, AXMenuListItemSelected.
1131
1132         * accessibility/AccessibilityMenuList.cpp:
1133         (WebCore::AccessibilityMenuList::didUpdateActiveOption):
1134         Tell our child popup that the active option changed, and post a
1135         notification that our value changed.
1136
1137         * accessibility/AccessibilityMenuList.h:
1138         Declare didUpdateActiveOption().
1139
1140         * accessibility/AccessibilityMenuListPopup.cpp:
1141         (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
1142         Get the child <option> element that is selected, and fire focus and
1143         selection events for it.
1144
1145         * accessibility/AccessibilityMenuListPopup.h:
1146         Declare didUpdateActiveOption().
1147
1148         * accessibility/win/AXObjectCacheWin.cpp:
1149         (WebCore::AXObjectCache::postPlatformNotification):
1150         Map AXMenuListItemSelected -> EVENT_OBJECT_SELECTION.
1151
1152         * dom/SelectElement.cpp:
1153         (WebCore::SelectElement::setSelectedIndex):
1154         Pass the newly-selected index.
1155
1156         * rendering/RenderMenuList.cpp:
1157         (WebCore::RenderMenuList::RenderMenuList):
1158         Update the initialization list for the renamed m_lastActiveIndex.
1159         (WebCore::RenderMenuList::setTextFromOption):
1160         A new selection has been made in the popup; call
1161         didUpdateActiveOption().
1162         (WebCore::RenderMenuList::didSetSelectedIndex):
1163         Call didUpdateActiveOption(), passing the index of the newly-selected
1164         <option>.
1165         (WebCore::RenderMenuList::didUpdateActiveOption):
1166         If accessibility is disabled, or if the active option has not changed,
1167         return early. Check whether the option index is in the range of list
1168         items, and assert that the item at that index is an <option> element.
1169         Tell the AccessibilityMenuList for this element that we updated the
1170         active option.
1171
1172         * rendering/RenderMenuList.h:
1173         Updated the declaration of didSetSelectedIndex() to take the selected
1174         index. Declared didUpdateActiveOption(). Renamed m_lastSelectedIndex to
1175         m_lastActiveIndex.
1176
1177 2011-07-13  Jon Honeycutt  <jhoneycutt@apple.com>
1178
1179         ALT + DOWN arrow key does not open select
1180
1181         https://bugs.webkit.org/show_bug.cgi?id=14407
1182         <rdar://problem/5319507>
1183
1184         Reviewed by Alexey Proskuryakov.
1185
1186         No test, because eventSender sends events to the WebView, rather than
1187         the popup menu, so the popup isn't closed.
1188
1189         * WebCore.vcproj/WebCore.vcproj:
1190         Add SelectElementWin.cpp to project.
1191
1192         * dom/SelectElement.cpp:
1193         (WebCore::SelectElement::platformHandleKeydownEvent):
1194         Moved ARROW_KEYS_POP_MENU code here. Updated to return whether the
1195         function has handled the key, or whether the caller needs to process it
1196         further.
1197         (WebCore::SelectElement::menuListDefaultEventHandler):
1198         Allow the platform the first chance at handling the keyboard event.
1199
1200         * dom/SelectElement.h:
1201         Declare platformHandleKeydownEvent().
1202         * dom/SelectElementWin.cpp: Added.
1203         (WebCore::SelectElement::platformHandleKeyboardEvent):
1204         Allow (Shift) F4 and (Ctrl/Shift) Alt/AltGr + Up/Down
1205         arrow to show the popup. After the popup is dismissed, call
1206         setSelectedIndex(), and report that we handled the event.
1207
1208         * platform/win/PopupMenuWin.cpp:
1209         Declare HIGH_BIT_MASK_SHORT.
1210         (WebCore::PopupMenuWin::show):
1211         Forward WM_SYSKEYDOWN to the popup's HWND.
1212         (WebCore::PopupMenuWin::wndProc):
1213         Allow the same shortcuts that show the menu to hide it, matching
1214         Firefox.
1215
1216 2011-07-12  Jon Honeycutt  <jhoneycutt@apple.com>
1217
1218         Ensure that a single select element's child option elements are
1219         reported correctly to accessibility clients if the children are
1220         changed.
1221
1222         https://bugs.webkit.org/show_bug.cgi?id=64500
1223         <rdar://problem/9773066>
1224
1225         Reviewed by Beth Dakin.
1226
1227         Test: platform/win/accessibility/single-select-children-changed.html
1228
1229         * accessibility/AccessibilityMenuListPopup.cpp:
1230         (WebCore::AccessibilityMenuListPopup::addChildren):
1231         Remove a comment about WML, which we no longer support.
1232         (WebCore::AccessibilityMenuListPopup::childrenChanged):
1233         Don't just remove children that were detached - this will miss childen
1234         that were dynamically added. Clear the children and re-add them.
1235
1236 2011-07-15  Rob Buis  <rbuis@rim.com>
1237
1238         Stroking of zero-length paths in SVG should change according to erratum
1239         https://bugs.webkit.org/show_bug.cgi?id=18356
1240
1241         Reviewed by Nikolas Zimmermann.
1242
1243         Ensure rendering of zero-length paths with stroke-linecap=square works by
1244         creating the square rectangle manually.
1245
1246         Tests: svg/W3C-SVG-1.1-SE/painting-control-04-f.svg
1247                svg/custom/zero-path-square-cap-rendering.svg
1248
1249         * platform/graphics/GraphicsContext.h:
1250         (WebCore::GraphicsContextStateSaver::context):
1251         * rendering/svg/RenderSVGPath.cpp:
1252         (WebCore::RenderSVGPath::strokeContains):
1253         (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
1254         (WebCore::RenderSVGPath::zeroLengthSubpathRect):
1255         (WebCore::RenderSVGPath::setupSquareCapPath):
1256         (WebCore::RenderSVGPath::setupNonScalingStrokePath):
1257         (WebCore::RenderSVGPath::fillAndStrokePath):
1258         (WebCore::RenderSVGPath::updateCachedBoundaries):
1259         * rendering/svg/RenderSVGPath.h:
1260
1261 2011-06-27  Adrienne Walker  <enne@google.com>
1262
1263         Reviewed by Simon Fraser.
1264
1265         Overlap map for compositing needs to consider clipping
1266         https://bugs.webkit.org/show_bug.cgi?id=63493
1267
1268         Test: compositing/layer-creation/overlap-clipping.html
1269
1270         * rendering/RenderLayerCompositor.cpp:
1271         (WebCore::RenderLayerCompositor::addToOverlapMap):
1272         * rendering/RenderLayerCompositor.h:
1273
1274 2011-07-15  Sheriff Bot  <webkit.review.bot@gmail.com>
1275
1276         Unreviewed, rolling out r90592.
1277         http://trac.webkit.org/changeset/90592
1278         https://bugs.webkit.org/show_bug.cgi?id=64627
1279
1280         Causes crashes with the web audio async decoding API
1281         (Requested by jamesr on #webkit).
1282
1283         * html/canvas/ArrayBuffer.cpp:
1284         (WebCore::ArrayBuffer::~ArrayBuffer):
1285         (WebCore::ArrayBuffer::tryAllocate):
1286         * manual-tests/array-buffer-memory.html: Removed.
1287
1288 2011-07-15  Kenneth Russell  <kbr@google.com>
1289
1290         Don't restore WebGL context if it was guilty of a graphics reset
1291         https://bugs.webkit.org/show_bug.cgi?id=64497
1292
1293         Reviewed by Stephen White.
1294
1295         Use getGraphicsResetStatusARB already defined in Extensions3D to
1296         determine why the context was lost, and respond to guilty context
1297         notifications by forbidding restoration of the context.
1298
1299         It isn't currently possible to write an automated test for this.
1300         We might consider extending the WEBKIT_lose_context extension to
1301         allow a reason to be provided why the context was lost. It was
1302         tested manually in Chromium on Windows and Linux with some test
1303         cases that provoke actual graphics card resets.
1304
1305         * html/canvas/WebGLRenderingContext.cpp:
1306         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
1307         (WebCore::WebGLRenderingContext::forceLostContext):
1308         (WebCore::WebGLRenderingContext::maybeRestoreContext):
1309         * html/canvas/WebGLRenderingContext.h:
1310
1311 2011-07-15  Chris Marrin  <cmarrin@apple.com>
1312
1313         Move TransformState to platform/graphics and give it the option to transform just a FloatQuad
1314         https://bugs.webkit.org/show_bug.cgi?id=64542
1315
1316         Reviewed by Simon Fraser.
1317
1318         This is to make it possible to use TransformState in some GraphicsLayer work. HitTestingTransformState
1319         was split out and left in rendering since it's not needed in the platform code. Also added a FIXME
1320         because HitTestingTransformState should eventually be replaced by TransformState.
1321
1322         * CMakeLists.txt:
1323         * GNUmakefile.list.am:
1324         * WebCore.gypi:
1325         * WebCore.pro:
1326         * WebCore.vcproj/WebCore.vcproj:
1327         * WebCore.xcodeproj/project.pbxproj:
1328         * platform/graphics/transforms/TransformState.cpp: Copied from Source/WebCore/rendering/TransformState.cpp.
1329         (WebCore::TransformState::move):
1330         (WebCore::TransformState::flattenWithTransform):
1331         * platform/graphics/transforms/TransformState.h: Copied from Source/WebCore/rendering/TransformState.h.
1332         (WebCore::TransformState::TransformState):
1333         (WebCore::TransformState::setQuad):
1334         * rendering/HitTestingTransformState.cpp: Copied from Source/WebCore/rendering/TransformState.cpp.
1335         * rendering/HitTestingTransformState.h: Copied from Source/WebCore/rendering/TransformState.h.
1336         * rendering/RenderLayer.cpp:
1337         * rendering/RenderObject.cpp:
1338         (WebCore::RenderObject::localToContainerQuad):
1339         * rendering/RenderingAllInOne.cpp:
1340         * rendering/TransformState.cpp: Removed.
1341         * rendering/TransformState.h: Removed.
1342
1343 2011-07-15  Pratik Solanki  <psolanki@apple.com>
1344
1345         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
1346         Get webkit to compile with USE(CFNETWORK) enabled on Mac
1347
1348         Reviewed by David Kilzer.
1349
1350         Minor changes needed to keep the compiler happy.
1351
1352         No new tests because no change in functionality.
1353
1354         * platform/network/cf/FormDataStreamCFNet.cpp:
1355         * platform/network/cf/ResourceErrorCF.cpp:
1356         (WebCore::ResourceError::platformCopy):
1357         * platform/network/cf/ResourceHandleCFNet.cpp:
1358         (WebCore::WebCoreSynchronousLoaderClient::willSendRequest):
1359         * platform/network/cf/ResourceResponseCFNet.cpp:
1360         (WebCore::toTimeT):
1361
1362 2011-07-15  Dan Bernstein  <mitz@apple.com>
1363
1364         REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
1365         https://bugs.webkit.org/show_bug.cgi?id=64615
1366
1367         Reviewed by Anders Carlsson.
1368
1369         * html/shadow/MediaControlRootElement.cpp:
1370         (WebCore::MediaControlRootElement::enteredFullscreen): Hide the mouse cursor immediately when
1371         entering full screen.
1372         (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): Hide the mouse cursor when
1373         hiding the HUD.
1374         * loader/EmptyClients.h:
1375         (WebCore::EmptyChromeClient::setCursorHiddenUntilMouseMoves): Added empty implementation.
1376         * page/Chrome.cpp:
1377         (WebCore::Chrome::setCursorHiddenUntilMouseMoves): Added. Calls through to the client.
1378         * page/Chrome.h:
1379         * page/ChromeClient.h:
1380         * platform/HostWindow.h:
1381
1382 2011-07-14  Gavin Barraclough  <barraclough@apple.com>
1383
1384         https://bugs.webkit.org/show_bug.cgi?id=64250
1385         Global strict mode function leaking global object as "this".
1386
1387         Reviewed by Oliver Hunt.
1388
1389         * bindings/js/JSMainThreadExecState.h:
1390         (WebCore::JSMainThreadExecState::call):
1391         * bindings/scripts/CodeGeneratorJS.pm:
1392         (GenerateHeader):
1393             - Change call to pass DOM Window shell, instead of the global varaible object.
1394
1395 2011-07-15  Brian Salomon  <bsalomon@google.com>
1396
1397         [SKIA] Must make skia's GL context current before drawing in GraphicsContext::clearRect
1398         https://bugs.webkit.org/show_bug.cgi?id=64612
1399
1400         Reviewed by Stephen White.
1401
1402         Tested by compositing/shadows/shadow-drawing.html
1403
1404         * platform/graphics/skia/GraphicsContextSkia.cpp:
1405         (WebCore::GraphicsContext::clearRect):
1406
1407 2011-07-15  Ian Henderson  <ianh@apple.com>
1408
1409         Avoid rounded rect corner-drawing overhead if no corners are visible
1410         https://bugs.webkit.org/show_bug.cgi?id=64584
1411
1412         Reviewed by Simon Fraser.
1413
1414         No new tests, rendering is visually identical.
1415
1416         * rendering/InlineFlowBox.cpp:
1417         (WebCore::InlineFlowBox::paintBoxDecorations): Pass PaintInfo into
1418         paintBorder.
1419         * rendering/RenderBox.cpp:
1420         (WebCore::RenderBox::paintBoxDecorations): Ditto.
1421         * rendering/RenderBoxModelObject.cpp:
1422         (WebCore::unroundClippedCorners):
1423         (WebCore::RenderBoxModelObject::paintBorder):
1424         Any invisible corner may be replaced with a corner of radius zero, as
1425         long as the stroke style is solid.  Change the GraphicsContext
1426         parameter into a PaintInfo parameter so we can get the rect to be
1427         drawn.
1428         * rendering/RenderBoxModelObject.h:
1429         * rendering/RenderFieldset.cpp:
1430         (WebCore::RenderFieldset::paintBoxDecorations): Pass PaintInfo into
1431         paintBorder.
1432         * rendering/RenderTable.cpp:
1433         (WebCore::RenderTable::paintBoxDecorations): Ditto.
1434         * rendering/RenderTableCell.cpp:
1435         (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
1436
1437 2011-07-15  Jeff Miller  <jeffm@apple.com>
1438
1439         Add UserAgentStyleSheetsData.cpp to WebCore.vcproj
1440         https://bugs.webkit.org/show_bug.cgi?id=64609
1441         
1442         Add UserAgentStyleSheetsData.cpp to WebCore.vcproj for convenient access, but don't compile it.
1443         This matches what we do with other generated DerivedSources.
1444
1445         Reviewed by Brian Weinstein.
1446         
1447         No new tests, just adding a file.
1448
1449         * WebCore.vcproj/WebCore.vcproj: Add UserAgentStyleSheetsData.cpp.
1450
1451 2011-07-15  Pratik Solanki  <psolanki@apple.com>
1452
1453         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
1454         Get webkit to compile with USE(CFNETWORK) enabled on Mac
1455
1456         Reviewed by David Kilzer.
1457
1458         No new tests because no change in functionality and option is not enabled on Mac.
1459
1460         * platform/network/cf/AuthenticationCF.h: Just use AuthenticationMac.h instead of having
1461         Mac-specific declarations here.
1462         * platform/network/cf/CredentialStorageCFNet.cpp:
1463         * platform/network/mac/AuthenticationMac.h:
1464
1465 2011-07-15  Pratik Solanki  <psolanki@apple.com>
1466
1467         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
1468         Get webkit to compile with USE(CFNETWORK) enabled on Mac
1469
1470         Reviewed by David Kilzer.
1471
1472         Get LoaderRunLoop to work on Mac when USE(CFNETWORK) is enabled. Although we could use the
1473         main run loop, it's better to have a separate thread handling the loads so that it can work
1474         in parallel to the main thread. This is similar to what NSURLConnection does for us
1475         internally when we use the NS APIs.
1476
1477         No new tests because no change in functionality and option is not enabled on Mac.
1478
1479         * platform/network/cf/LoaderRunLoopCF.cpp:
1480         (WebCore::runLoaderThread): Create an autorelease pool for objc code that might be called in
1481         the run loop.
1482         (WebCore::loaderRunLoop):
1483         * platform/network/cf/LoaderRunLoopCF.h:
1484
1485 2011-07-15  Xiaomei Ji  <xji@chromium.org>
1486
1487         --webkit-visual-word crash on mixed editability
1488         https://bugs.webkit.org/show_bug.cgi?id=61978
1489
1490         --webkit-visual-word crashes (VisiblePosition.getInlineBoxAndOffset could return null box)
1491         https://bugs.webkit.org/show_bug.cgi?id=62814
1492
1493         Reviewed by Ryosuke Niwa.
1494
1495         Replace previousWordPosition/nextWordPosition with previousBoundary/nextBoundary which do
1496         not honor editable bounary. Honor editable boundary as the last stage of leftWordPosition
1497         and rightWordPosition.
1498
1499         Check previousBoundary/nextBoundary against NULL.  Have a static function to encapsulate the
1500         usage of getInlineBoxAndOffset and check the visible position is not NULL before passing to 
1501         getInlineBoxAndOffset. Check the box returned from getInlineBoxAndOffset is not NULL before
1502         accessing.
1503
1504         Test: editing/selection/move-by-word-visually-null-box.html
1505
1506         * editing/visible_units.cpp:
1507         (WebCore::positionIsInBox):
1508         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
1509         (WebCore::lastWordBreakInBox):
1510         (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality):
1511         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
1512         (WebCore::positionIsInsideBox):
1513         (WebCore::leftWordPositionAcrossBoundary):
1514         (WebCore::rightWordPositionAcrossBoundary):
1515         (WebCore::leftWordPosition):
1516         (WebCore::rightWordPosition):
1517
1518 2011-07-15  Pratik Solanki  <psolanki@apple.com>
1519
1520         Remove unncessary creation of connectionProperties dictionary
1521         https://bugs.webkit.org/show_bug.cgi?id=63958
1522
1523         Reviewed by Alexey Proskuryakov.
1524
1525         No new tests because no change in functionality.
1526
1527         * platform/network/cf/ResourceHandleCFNet.cpp:
1528         (WebCore::ResourceHandle::loadResourceSynchronously):
1529
1530 2011-07-15  Pavel Feldman  <pfeldman@google.com>
1531
1532         Web Inspector: Focusing on another node while editing CSS property does not update styles
1533         https://bugs.webkit.org/show_bug.cgi?id=64283
1534
1535         Reviewed by Yury Semikhatsky.
1536
1537         Test: inspector/styles/styles-change-node-while-editing.html
1538
1539         * inspector/front-end/CSSStyleModel.js:
1540         (WebInspector.CSSProperty.prototype.setText):
1541         (WebInspector.CSSProperty.prototype.setText.callback):
1542         * inspector/front-end/DOMAgent.js:
1543         (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
1544         (WebInspector.DOMDispatcher.prototype.inlineStyleInvalidated):
1545         * inspector/front-end/ElementsPanel.js:
1546         (WebInspector.ElementsPanel):
1547         (WebInspector.ElementsPanel.prototype._attributesUpdated):
1548         (WebInspector.ElementsPanel.prototype.updateStyles):
1549         * inspector/front-end/MetricsSidebarPane.js:
1550         (WebInspector.MetricsSidebarPane):
1551         (WebInspector.MetricsSidebarPane.prototype.update):
1552         (WebInspector.MetricsSidebarPane.prototype._innerUpdate.callback):
1553         (WebInspector.MetricsSidebarPane.prototype._innerUpdate.inlineStyleCallback):
1554         (WebInspector.MetricsSidebarPane.prototype._innerUpdate):
1555         (WebInspector.MetricsSidebarPane.prototype._styleSheetChanged):
1556         (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
1557         (WebInspector.MetricsSidebarPane.prototype.startEditing):
1558         (WebInspector.MetricsSidebarPane.prototype.editingEnded):
1559         * inspector/front-end/StylesSidebarPane.js:
1560         (WebInspector.StylesSidebarPane):
1561         (WebInspector.StylesSidebarPane.prototype.update):
1562         (WebInspector.StylesSidebarPane.prototype._innerUpdate.stylesCallback):
1563         (WebInspector.StylesSidebarPane.prototype._innerUpdate.computedStyleCallback):
1564         (WebInspector.StylesSidebarPane.prototype._innerUpdate):
1565         (WebInspector.StylesSidebarPane.prototype._styleSheetChanged):
1566         (WebInspector.StylesSidebarPane.prototype._attributesUpdated):
1567         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
1568         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
1569         (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest):
1570         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
1571         (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
1572         (WebInspector.StylePropertyTreeElement.prototype):
1573         (WebInspector.StylePropertyTreeElement.prototype.event):
1574         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
1575         (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert):
1576
1577 2011-07-15  Mike Reed  <reed@google.com>
1578
1579         [skia] remove legacy draw-text-as-paths code, as skia now draws all text as text
1580         https://bugs.webkit.org/show_bug.cgi?id=64368
1581
1582         Reviewed by James Robinson.
1583
1584         * platform/graphics/chromium/FontChromiumWin.cpp:
1585         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
1586         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1587         (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT):
1588         * platform/graphics/chromium/UniscribeHelper.cpp:
1589         (WebCore::UniscribeHelper::draw):
1590         * platform/graphics/skia/SkiaFontWin.cpp:
1591         (WebCore::skiaDrawText):
1592         (WebCore::setupPaintForFont):
1593         (WebCore::paintSkiaText):
1594         * platform/graphics/skia/SkiaFontWin.h:
1595
1596 2011-07-15  Piroska András  <Piroska.Andras@stud.u-szeged.hu>
1597
1598         Pixel difference in FEMorphology effect
1599         https://bugs.webkit.org/show_bug.cgi?id=63930
1600
1601         Reviewed by Zoltan Herczeg.
1602
1603         Using short-circuit evaluation in the setFilterEffectAttribute function
1604         was wrong. We should call both setRadius functions and evaluate the
1605         changes separately.
1606
1607         * svg/SVGFEMorphologyElement.cpp:
1608         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
1609
1610 2011-07-15  Jeff Miller  <jeffm@apple.com>
1611
1612         Fullscreen content doesn't use fullscreen controller on Windows
1613         https://bugs.webkit.org/show_bug.cgi?id=64540
1614         <rdar://problem/9510455>
1615
1616         Reviewed by Darin Adler.
1617
1618         RenderThemeWin needs to override extraFullScreenStyleSheet() to return
1619         the fullscreenQuickTime stylesheet.
1620
1621         Test added to fullscreen/video-controls-override.html.
1622
1623         * rendering/RenderThemeWin.cpp:
1624         (WebCore::RenderThemeWin::extraFullScreenStyleSheet): Added.
1625         * rendering/RenderThemeWin.h: Override extraFullScreenStyleSheet().
1626
1627 2011-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>
1628
1629         Not reviewed. Fix build failure introduced in r91061.
1630
1631         * page/Console.cpp:
1632         (WebCore::Console::markTimeline): Remove argument name from unused parameter.
1633
1634 2011-07-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1635
1636         Upstream QtWebKit/N9 changes related to visibleContentRect
1637         https://bugs.webkit.org/show_bug.cgi?id=64589
1638
1639         Reviewed by Simon Hausmann.
1640
1641         Rename setActualVisibleContentRect to setFixedVisibleContentRect
1642         as that makes it more obvious that it is an override. It is also
1643         consistent with the setFixedLayout which is often used in
1644         conjunction with it.
1645
1646         Make visibleContentRect return the fixed value if set, and remove
1647         all calls to actualVisibleContentRect.
1648
1649         Also updated the documentation.
1650
1651         This is similar to what we have on our QtWebKit/N9 branch and is
1652         pretty well tested.
1653
1654         * platform/ScrollView.cpp:
1655         (WebCore::ScrollView::visibleContentRect):
1656         If a fixed visibleContentRect is set, return that.
1657         Remove the code returning the contents size when in
1658         paintsEntireContents mode as that is wrong and already
1659         ifdeffed out for EFL.
1660         (WebCore::ScrollView::setScrollPosition):
1661         Do not try to be smart and update the fixed visibleContentsRect
1662         automatically, as the embedder might ignore the scroll request
1663         for various reasons.
1664         * platform/ScrollView.h:
1665         (WebCore::ScrollView::setFixedVisibleContentRect):
1666         (WebCore::ScrollView::fixedVisibleContentRect):
1667
1668 2011-07-15  Mike West  <mkwst@chromium.org>
1669
1670         Web Inspector: Rename console.markTimeline() to console.timeStamp() for Firebug compatibility.
1671         https://bugs.webkit.org/show_bug.cgi?id=63317
1672
1673         Reviewed by Pavel Feldman.
1674
1675         Test: inspector/timeline/timeline-time-stamp.html
1676
1677         * inspector/InspectorConsoleInstrumentation.h:
1678         (WebCore::InspectorInstrumentation::consoleTimeStamp):
1679         * inspector/InspectorInstrumentation.cpp:
1680         (WebCore::InspectorInstrumentation::consoleTimeStampImpl):
1681         * inspector/InspectorInstrumentation.h:
1682         * inspector/InspectorTimelineAgent.cpp:
1683         (WebCore::InspectorTimelineAgent::didTimeStamp):
1684         * inspector/InspectorTimelineAgent.h:
1685         * inspector/TimelineRecordFactory.cpp:
1686         (WebCore::TimelineRecordFactory::createTimeStampData):
1687         * inspector/TimelineRecordFactory.h:
1688         * inspector/front-end/TimelineAgent.js:
1689         * inspector/front-end/TimelineOverviewPane.js:
1690         (WebInspector.TimelineOverviewPane.prototype.update.markPercentagesForRecord):
1691         (WebInspector.TimelineOverviewPane.prototype.update):
1692         * inspector/front-end/TimelinePanel.js:
1693         (WebInspector.TimelinePanel):
1694         (WebInspector.TimelinePanel.prototype.get _recordStyles):
1695         (WebInspector.TimelinePanel.prototype._updateEventDividers):
1696         (WebInspector.TimelinePanel.prototype._createEventDivider):
1697         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1698         (WebInspector.TimelinePanel.prototype._clearPanel):
1699         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1700         * page/Console.cpp:
1701         (WebCore::Console::markTimeline):
1702         (WebCore::Console::timeStamp):
1703         * page/Console.h:
1704         * page/Console.idl:
1705
1706 2011-07-15  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1707
1708         LocalStorage: Changed the value type of ItemTable from TEXT to BLOB
1709         to avoid string truncation.
1710         This patch will also convert the exsisting ItemTable and perform
1711         the DATA MIGRATION job.
1712         https://bugs.webkit.org/show_bug.cgi?id=58762
1713
1714         Reviewed by Jeremy Orlow.
1715
1716         Tests: manual-tests/localstorage-value-truncation.html
1717
1718         * manual-tests/localstorage-value-truncation.html: Added.
1719         Demostrate the testcase shown in bug 58762.
1720         * platform/sql/SQLiteStatement.cpp:
1721         (WebCore::SQLiteStatement::isColumnDeclearedAsBlob):
1722         Test if the pre-defined type of column is BLOB.
1723         * platform/sql/SQLiteStatement.h:
1724         * storage/StorageAreaSync.cpp:
1725         Change the localStorage value type from Text to BLOB to avoid the
1726         value string truncation at \x00.
1727         (WebCore::StorageAreaSync::openDatabase):
1728         Change the database structure, use BLOB to replace the TEXT type of
1729         value segment in ItemTable.
1730         (WebCore::StorageAreaSync::migrateItemTableIfNeeded):
1731         Migrate the ItemTable if the pre-defined type of value is TEXT.
1732         (WebCore::StorageAreaSync::performImport):
1733         Use getColumnBlobAsString() to import the BLOB value.
1734         (WebCore::StorageAreaSync::sync):
1735         Use bindBlob() to bind value string to the SQLiteStatement for the
1736         database execution.
1737         * storage/StorageAreaSync.h:
1738
1739 2011-07-15  Kentaro Hara  <haraken@google.com>
1740
1741         Clear the content of a search input form when 'Escape' is pressed.
1742         https://bugs.webkit.org/show_bug.cgi?id=51897
1743
1744         This change added handleKeydownEvent() to a search input form,
1745         which clears the form and triggers a 'search' event when 'Escape' is pressed.
1746
1747         Reviewed by Kent Tamura.
1748
1749         Test: fast/forms/input-search-press-escape-key.html
1750
1751         * html/SearchInputType.cpp:
1752         (WebCore::SearchInputType::handleKeydownEvent):
1753         * html/SearchInputType.h:
1754
1755 2011-07-15  Alexandru Chiculita  <achicu@adobe.com>
1756
1757         Move useRepaintBounds from RenderBlock::layoutRunsAndFloats to LineLayoutState
1758         https://bugs.webkit.org/show_bug.cgi?id=64360
1759
1760         Reviewed by Hajime Morita.
1761
1762         No new tests needed because the patch is just a refactor.
1763
1764         * rendering/RenderBlock.h:
1765         * rendering/RenderBlockLineLayout.cpp:
1766         (WebCore::LineLayoutState::LineLayoutState):
1767         (WebCore::LineLayoutState::usesRepaintBounds):
1768         (WebCore::LineLayoutState::setRepaintRange):
1769         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
1770         (WebCore::RenderBlock::layoutRunsAndFloats):
1771         (WebCore::RenderBlock::determineStartPosition):
1772
1773 2011-07-14  MORITA Hajime  <morrita@google.com>
1774
1775         ExceptionCodePlaceholder should have its own ExceptionCodePlaceholder.cpp file
1776         https://bugs.webkit.org/show_bug.cgi?id=64503
1777
1778         Reviewed by Darin Adler.
1779
1780         No new tests. Just a file reorg.
1781
1782         * CMakeLists.txt:
1783         * GNUmakefile.list.am:
1784         * WebCore.gypi:
1785         * WebCore.pro:
1786         * WebCore.vcproj/WebCore.vcproj:
1787         * WebCore.xcodeproj/project.pbxproj:
1788         * dom/DOMAllInOne.cpp:
1789         * dom/ExceptionCodePlaceholder.cpp: Added.
1790         (WebCore::NoExceptionAssertionChecker::NoExceptionAssertionChecker):
1791         (WebCore::NoExceptionAssertionChecker::~NoExceptionAssertionChecker):
1792         * dom/ExceptionCodePlaceholder.h: Removed NoExceptionAssertionChecker::m_function, which is loonger used.
1793
1794 2011-07-14  Mark Pilgrim  <pilgrim@chromium.org>
1795
1796         Remove LegacyDefaultOptionalArguments flag from WebGL
1797         https://bugs.webkit.org/show_bug.cgi?id=64549
1798
1799         Reviewed by Kenneth Russell.
1800
1801         * html/canvas/WebGLRenderingContext.idl:
1802
1803 2011-07-14  Yuta Kitamura  <yutak@chromium.org>
1804
1805         WebSocket: Introduce pywebsocket-0.6b2
1806         https://bugs.webkit.org/show_bug.cgi?id=64534
1807
1808         Reviewed by Kent Tamura.
1809
1810         pywebsocket now accepts "Sec-WebSocket-Version: 8" as required in hybi-10 specification.
1811
1812         No new functionality is added, thus no new tests. Existing WebSocket tests should keep passing.
1813
1814         * websockets/WebSocketHandshake.cpp:
1815         (WebCore::WebSocketHandshake::clientHandshakeMessage):
1816         (WebCore::WebSocketHandshake::clientHandshakeRequest):
1817
1818 2011-07-14  SravanKumar S  <sravan.ken@gmail.com>
1819
1820         Replaced isChecked() with shouldAppearChecked() in HTMLInputElement.cpp along with all the corresponding function calls.
1821         https://bugs.webkit.org/show_bug.cgi?id=54476
1822
1823         Reviewed by Darin Adler.
1824
1825         No new tests, since existing fast/dom/HTMLInputElement/checked-pseudo-selector.html verifies the patch.
1826
1827         * accessibility/AccessibilityRenderObject.cpp:
1828         (WebCore::AccessibilityRenderObject::isChecked):
1829         * css/CSSStyleSelector.cpp:
1830         (WebCore::CSSStyleSelector::canShareStyleWithControl):
1831         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1832         * dom/CheckedRadioButtons.cpp:
1833         (WebCore::CheckedRadioButtons::removeButton):
1834         * html/HTMLInputElement.cpp:
1835         (WebCore::HTMLInputElement::shouldAppearChecked):
1836         * html/HTMLInputElement.h: Removed virtual declaration from shouldAppearChecked().
1837         * rendering/RenderTheme.cpp:
1838         (WebCore::RenderTheme::isChecked):
1839
1840 2011-07-14  Kenichi Ishibashi  <bashi@chromium.org>
1841
1842         <input form="x"> should not associate the input with any forms when there is no  form with id="x"
1843         https://bugs.webkit.org/show_bug.cgi?id=64509
1844
1845         Don't set form owner when a form associated element has the form attribute but there is no such form element.
1846
1847         Reviewed by Kent Tamura.
1848
1849         Test: fast/forms/form-attribute-nonexistence-form-id.html
1850
1851         * dom/Document.cpp:
1852         (WebCore::Document::resetFormElementsOwner): Removed the argument which is no longer needed.
1853         * dom/Document.h: Ditto.
1854         * html/FormAssociatedElement.cpp:
1855         (WebCore::FormAssociatedElement::insertedIntoTree): Resets m_form whenever the element has the form attribute.
1856         (WebCore::FormAssociatedElement::resetFormOwner): Don't set m_form when there is no form element which has the given id.
1857         (WebCore::FormAssociatedElement::formAttributeChanged): Removed the argument of resetFormOwner().
1858         * html/FormAssociatedElement.h: Ditto.
1859         * html/HTMLFormElement.cpp: Ditto.
1860         (WebCore::HTMLFormElement::insertedIntoDocument):
1861         (WebCore::HTMLFormElement::removedFromDocument):
1862
1863 2011-07-14  Kent Tamura  <tkent@chromium.org>
1864
1865         REGRESSION (r90809): Setting a checkbox's checked property, doesn't render as checked until app window loses focus
1866         https://bugs.webkit.org/show_bug.cgi?id=64537
1867
1868         Reviewed by Darin Adler.
1869
1870         We stopped to call updateCheckedRadioButtons() for checkboxes
1871         since r90809, but we need to call RenderTheme::stateChanged(),
1872         which was in updateCheckedRadioButtons(), for checkboxes.
1873
1874         Tests: fast/forms/checkbox-appearance-change-by-checked-expected.html
1875                fast/forms/checkbox-appearance-change-by-checked.html
1876
1877         * html/HTMLInputElement.cpp: Move the RenderTheme::stateChanged() call
1878         from updateCheckedRadioButtons() to setChecked().
1879         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
1880         (WebCore::HTMLInputElement::setChecked):
1881
1882 2011-07-14  Adam Barth  <abarth@webkit.org>
1883
1884         The beforeload event allows tracking URI changes in a frame
1885         https://bugs.webkit.org/show_bug.cgi?id=64482
1886
1887         Reviewed by Nate Chapin.
1888
1889         Tests: http/tests/security/beforeload-iframe-client-redirect.html
1890                http/tests/security/beforeload-iframe-server-redirect.html
1891
1892         Only dispatch the beforeload event for a frame if we haven't yet
1893         committed our first real load.  The URL that we send to our parent will
1894         be the same URL the parent seens in the src attribute.
1895
1896         * loader/FrameLoader.cpp:
1897         (WebCore::FrameLoader::loadWithDocumentLoader):
1898
1899 2011-07-14  Dan Bernstein  <mitz@apple.com>
1900
1901         LLVM Compiler build fix.
1902
1903         * css/CSSStyleApplyProperty.cpp:
1904         (WebCore::ApplyPropertyComputeLength::applyValue):
1905
1906 2011-07-14  Darin Adler  <darin@apple.com>
1907
1908         [Mac] Use [NSCursor operationNotAllowedCursor] for CSS no-drop as well as CSS not-allowed
1909         https://bugs.webkit.org/show_bug.cgi?id=64570
1910
1911         Reviewed by Alexey Proskuryakov.
1912
1913         Mac OS X documentation and usage makes it clear that this cursor is usually used for no-drop,
1914         and that it's also reasonable to use it for not-allowed.
1915
1916         * platform/mac/CursorMac.mm:
1917         (WebCore::Cursor::ensurePlatformCursor): Use [NSCursor operationNotAllowedCursor] for
1918         Cursor::NoDrop.
1919
1920 2011-07-14  Luke Macpherson   <macpherson@chromium.org>
1921
1922         Reviewed by Dimitri Glazkov.
1923
1924         Introduce templated compute length class in CSSStyleApplyProperty, and use to handle several CSS properties.
1925         https://bugs.webkit.org/show_bug.cgi?id=62957
1926
1927         No new tests / refactoring only.
1928
1929         * css/CSSPrimitiveValue.cpp:
1930         (WebCore::CSSPrimitiveValue::computeLength):
1931         Add computeLength function that returns unsigned short.
1932         * css/CSSStyleApplyProperty.cpp:
1933         (WebCore::ApplyPropertyComputeLength::ApplyPropertyComputeLength):
1934         Added class to handle computeLength based properties.
1935         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1936         Initialize ApplyPropertyComputeLength for appropriate properties.
1937         * css/CSSStyleSelector.cpp:
1938         (WebCore::CSSStyleSelector::useSVGZoomRules):
1939         Make this a public member function instead of a private static function.
1940         (WebCore::CSSStyleSelector::applyProperty):
1941         Removed code now implemented in CSSStyleApplyProperty.
1942         (WebCore::CSSStyleSelector::setFontSize):
1943         Use new useSVGZoomRules function.
1944         * css/CSSStyleSelector.h:
1945         Add interface for useSVGZoomRules.
1946
1947 2011-07-14  Antti Koivisto  <antti@apple.com>
1948
1949         REGRESSION: Should not dispatch didFirstVisuallyNonEmptyLayout for the initial empty document
1950         https://bugs.webkit.org/show_bug.cgi?id=64557
1951
1952         Reviewed by Kenneth Rohde Christiansen.
1953
1954         Avoid sending didFirstVisuallyNonEmptyLayout for the initial empty document of the frame. The
1955         clients may not expect it and it doesn't make much sense in any case.
1956
1957         * page/FrameView.cpp:
1958         (WebCore::FrameView::performPostLayoutTasks):
1959
1960 2011-07-14  Jeffrey Pfau  <jpfau@apple.com>
1961
1962         Character reference parser for new XML parser
1963         https://bugs.webkit.org/show_bug.cgi?id=64398
1964
1965         Reviewed by Adam Barth.
1966
1967         Refactored out the HTML entity parser and added a common template for parsing character references.
1968
1969         * WebCore.xcodeproj/project.pbxproj:
1970         * html/parser/HTMLEntityParser.cpp:
1971         (WebCore::consumeHTMLEntity):
1972         * xml/parser/CharacterReferenceParserInlineMethods.h: Copied from Source/WebCore/html/parser/HTMLEntityParser.cpp.
1973         (WebCore::isHexDigit):
1974         (WebCore::unconsumeCharacters):
1975         (WebCore::consumeCharacterReference):
1976         * xml/parser/XMLCharacterReferenceParser.cpp: Added.
1977         (WebCore::consumeXMLCharacterReference):
1978         * xml/parser/XMLCharacterReferenceParser.h: Added.
1979
1980 2011-07-14  Ilya Tikhonovsky  <loislo@chromium.org>
1981
1982         Reviewed by Pavel Feldman.
1983
1984         Web Inspector: panel switching is too slow.
1985         https://bugs.webkit.org/show_bug.cgi?id=60959
1986
1987         * inspector/front-end/inspector.css:
1988         (.panel):
1989         (.panel.visible):
1990
1991 2011-07-14  Andrey Kosyakov  <caseq@chromium.org>
1992
1993         Web Inspector: remove more unused CSS from inspector.css
1994         https://bugs.webkit.org/show_bug.cgi?id=64529
1995
1996         Reviewed by Pavel Feldman.
1997
1998         * inspector/front-end/inspector.css:
1999
2000 2011-07-14  Ryosuke Niwa  <rniwa@webkit.org>
2001
2002         Move subtreeHasChanged from RenderTextControl to HTMLTextFormControlElement
2003         https://bugs.webkit.org/show_bug.cgi?id=64476
2004
2005         Reviewed by Kent Tamura.
2006
2007         Moved subtreeHasChanged from RenderTextControl, RenderTextControlSingleLine, and
2008         RenderTextControlMultiLine to HTMLTextFormControlElement, HTMLInputElement, and
2009         HTMLTextAreaElement. Also moved m_searchEventTimer and related functions from
2010         RenderTextSingleLine to SearchInputType.
2011
2012         * html/HTMLInputElement.cpp:
2013         (WebCore::HTMLInputElement::subtreeHasChanged): Moved from RenderTextControlSingleLine.
2014         (WebCore::HTMLInputElement::onSearch): Calls stopSearchEventTimer.
2015         * html/HTMLInputElement.h:
2016         * html/HTMLTextAreaElement.cpp:
2017         (WebCore::HTMLTextAreaElement::subtreeHasChanged): Moved from RenderTextMultiLine.
2018         * html/HTMLTextAreaElement.h:
2019         * html/HTMLTextFormControlElement.cpp:
2020         (WebCore::HTMLTextFormControlElement::defaultEventHandler): Calls subtreeHasChanged.
2021         (WebCore::HTMLTextFormControlElement::subtreeHasChanged): Added; calls respondToChangeByUser.
2022         * html/HTMLTextFormControlElement.h:
2023         * html/SearchInputType.cpp:
2024         (WebCore::SearchInputType::SearchInputType): Initializes m_searchEventTimer.
2025         (WebCore::SearchInputType::startSearchEventTimer): Moved from RenderTextControlSingleLine.
2026         (WebCore::SearchInputType::stopSearchEventTimer): Ditto.
2027         (WebCore::SearchInputType::searchEventTimerFired): Ditto.
2028         * html/SearchInputType.h:
2029         * html/TextFieldInputType.cpp:
2030         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): Updated comment.
2031         * rendering/RenderTextControl.cpp:
2032         * rendering/RenderTextControl.h:
2033         (WebCore::RenderTextControl::respondToChangeByUser): Renamed from subtreeHasChanged.
2034         * rendering/RenderTextControlMultiLine.cpp:
2035         * rendering/RenderTextControlMultiLine.h:
2036         * rendering/RenderTextControlSingleLine.cpp:
2037         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): No longer initializes
2038         m_searchEventTimer.
2039         * rendering/RenderTextControlSingleLine.h:
2040
2041 2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>
2042
2043         Move XML errors handling out from XMLDocumentParser (refactoring).
2044         https://bugs.webkit.org/show_bug.cgi?id=64305
2045
2046         XML errors handling logic is moved out from XMLDocumentParser to allow using it for XSLT error handling as well.
2047
2048         Reviewed by Adam Barth.
2049
2050         No tests needed as there is no new functionality added.
2051
2052         * CMakeLists.txt:
2053         * GNUmakefile.list.am:
2054         * WebCore.gypi:
2055         * WebCore.pro:
2056         * WebCore.vcproj/WebCore.vcproj:
2057         * WebCore.xcodeproj/project.pbxproj:
2058         * xml/XMLErrors.cpp: Added.
2059         (WebCore::XMLErrors::XMLErrors):
2060         (WebCore::XMLErrors::handleError):
2061         (WebCore::XMLErrors::appendErrorMessage):
2062         (WebCore::createXHTMLParserErrorHeader):
2063         (WebCore::XMLErrors::insertErrorMessageBlock):
2064         * xml/XMLErrors.h: Added.
2065         * xml/parser/XMLDocumentParser.cpp:
2066         (WebCore::XMLDocumentParser::pushCurrentNode):
2067         (WebCore::XMLDocumentParser::handleError):
2068         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
2069         * xml/parser/XMLDocumentParser.h:
2070         * xml/parser/XMLDocumentParserLibxml2.cpp:
2071         (WebCore::PendingCallbacks::appendErrorCallback):
2072         (WebCore::XMLDocumentParser::XMLDocumentParser):
2073         (WebCore::XMLDocumentParser::doWrite):
2074         (WebCore::XMLDocumentParser::error):
2075         (WebCore::warningHandler):
2076         (WebCore::fatalErrorHandler):
2077         (WebCore::normalErrorHandler):
2078         * xml/parser/XMLDocumentParserQt.cpp:
2079         (WebCore::XMLDocumentParser::XMLDocumentParser):
2080         (WebCore::XMLDocumentParser::doWrite):
2081         (WebCore::XMLDocumentParser::doEnd):
2082         (WebCore::XMLDocumentParser::parse):
2083         (WebCore::XMLDocumentParser::parseStartElement):
2084         (WebCore::XMLDocumentParser::parseDtd):
2085
2086 2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>
2087
2088         Web Inspector: InspectorResourceAgent should generate unique identifier and save cachedResource for resources from memory cache.
2089         https://bugs.webkit.org/show_bug.cgi?id=64356
2090
2091         Reviewed by Yury Semikhatsky.
2092
2093         * inspector/Inspector.json:
2094         * inspector/InspectorInstrumentation.cpp:
2095         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
2096         * inspector/InspectorInstrumentation.h:
2097         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
2098         * inspector/InspectorResourceAgent.cpp:
2099         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
2100         * inspector/InspectorResourceAgent.h:
2101         * inspector/front-end/NetworkManager.js:
2102         (WebInspector.NetworkManager.prototype.requestContent):
2103         (WebInspector.NetworkDispatcher):
2104         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
2105         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
2106         * inspector/front-end/NetworkPanel.js:
2107         (WebInspector.NetworkLogView.prototype._frameNavigated):
2108         * loader/FrameLoader.cpp:
2109         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
2110         * loader/FrameLoader.h:
2111
2112 2011-07-14  Tim Horton  <timothy_horton@apple.com>
2113
2114         Clear SVGElementInstance's children immediately upon detachment
2115         https://bugs.webkit.org/show_bug.cgi?id=63739
2116         <rdar://problem/9705708>
2117
2118         Reviewed by Nikolas Zimmermann.
2119
2120         In addition to clearing the instance's children in the destructor,
2121         clear them when the instance is detached from its <use>. This way,
2122         we won't attempt to use them after we're detached but before the
2123         destructor has been called.
2124
2125         Test: svg/custom/use-crash-using-children-before-destroy.svg
2126
2127         * svg/SVGElementInstance.cpp:
2128         (WebCore::SVGElementInstance::~SVGElementInstance):
2129         (WebCore::SVGElementInstance::clearChildren):
2130         * svg/SVGElementInstance.h:
2131         * svg/SVGUseElement.cpp:
2132         (WebCore::SVGUseElement::detachInstance):
2133
2134 2011-07-14  Nate Chapin  <japhet@chromium.org>
2135
2136         Don't skip custom cursors if an Image* is null,
2137         since this can lead to a non-custom Cursor flickering 
2138         back in when the custom cursor hasn't finished loading yet.
2139         https://bugs.webkit.org/show_bug.cgi?id=64321
2140
2141         Reviewed by Darin Fisher.
2142
2143         Manual test, since we're testing visual flickering.
2144
2145         * manual-tests/canvas-cursor.html: Added.
2146         * page/EventHandler.cpp:
2147         (WebCore::EventHandler::selectCursor):
2148         * platform/Cursor.cpp:
2149         (WebCore::determineHotSpot):
2150
2151 2011-07-14  Young Han Lee  <joybro@company100.net>
2152
2153         Reviewed by Dirk Schulze.
2154
2155         REGRESSION (r89774): svg/W3C-SVG-1.1/animate-elem-82-t.svg hits assertion failure.
2156         https://bugs.webkit.org/show_bug.cgi?id=63911
2157
2158         Some functions assumed calculateKeyTimesIndex() does not return the last index of
2159         the keyTimes, but it would be right behavior for calculateKeyTimesIndex() when it
2160         accepts 1 as the percent argument.
2161
2162         To avoid the assumption, and for more efficiency, this patch allows the functions
2163         using calculateKeyTimesIndex() to return early when it accepts 1 as the percent argument.
2164         These functions have always returned the last element of the corresponding vector
2165         in that situation.
2166
2167         * svg/SVGAnimationElement.cpp:
2168         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
2169         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
2170
2171 2011-07-14  Andrey Kosyakov  <caseq@chromium.org>
2172
2173         Web Inspector: remove more dead code
2174         https://bugs.webkit.org/show_bug.cgi?id=64524
2175
2176         Reviewed by Yury Semikhatsky.
2177
2178         * WebCore.gypi:
2179         * inspector/front-end/SummaryBar.js: Removed.
2180         * inspector/front-end/WebKit.qrc:
2181         * inspector/front-end/inspector.css:
2182         * inspector/front-end/inspector.html:
2183
2184 2011-07-14  Peter Varga  <pvarga@webkit.org>
2185
2186         [Qt][V8] Build fix after r90830.
2187
2188         Reviewed by Csaba Osztrogonác.
2189
2190         The histogramEnumeration() function isn't available from the Qt port's
2191         PlatformBridge.h because this function is Chromium specific.
2192         Since the http://trac.webkit.org/changeset/90830 change we need to
2193         guard the usage of the histogramEnumeration() function.
2194
2195         No new tests needed.
2196
2197         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2198         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
2199         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
2200         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
2201
2202 2011-07-14  Yury Semikhatsky  <yurys@chromium.org>
2203
2204         Web Inspector: show only Console and Scripts panels in shared worker inspector front-end
2205         https://bugs.webkit.org/show_bug.cgi?id=64519
2206
2207         Reviewed by Pavel Feldman.
2208
2209         * inspector/front-end/WorkerManager.js:
2210         (WebInspector.WorkerManager):
2211         (WebInspector.WorkerManager.isWorkerFrontend):
2212         (WebInspector.WorkerManager.isSharedWorkerFrontend):
2213         (WebInspector.WorkerManager.prototype._openInspectorWindow):
2214         (WebInspector.DedicatedWorkerMessageForwarder):
2215
2216 2011-07-14  MORITA Hajime  <morrita@google.com>
2217
2218         Unreviewed, rolling out r90976, r90981, and r90985.
2219         http://trac.webkit.org/changeset/90976
2220         http://trac.webkit.org/changeset/90981
2221         http://trac.webkit.org/changeset/90985
2222         https://bugs.webkit.org/show_bug.cgi?id=64251
2223
2224         build break
2225
2226         * WebCore.exp.in:
2227         * dom/NodeRenderingContext.cpp:
2228         (WebCore::NodeRenderingContext::NodeRenderingContext):
2229         (WebCore::NodeRenderingContext::nextRenderer):
2230         (WebCore::NodeRenderingContext::previousRenderer):
2231         * dom/NodeRenderingContext.h:
2232         * dom/ShadowContentElement.cpp:
2233         (WebCore::ShadowContentElement::attach):
2234         (WebCore::ShadowContentElement::detach):
2235         * dom/ShadowContentElement.h:
2236         * dom/ShadowContentSelector.cpp:
2237         (WebCore::ShadowContentSelector::ShadowContentSelector):
2238         (WebCore::ShadowContentSelector::selectInclusion):
2239         (WebCore::ShadowContentSelector::willAttachContentFor):
2240         (WebCore::ShadowContentSelector::didAttachContent):
2241         (WebCore::ShadowContentSelector::activeElement):
2242         * dom/ShadowContentSelector.h:
2243         * dom/ShadowRoot.cpp:
2244         (WebCore::ShadowRoot::~ShadowRoot):
2245         (WebCore::ShadowRoot::activeContentElement):
2246         * dom/ShadowRoot.h:
2247         * testing/Internals.cpp:
2248         * testing/Internals.h:
2249         * testing/Internals.idl:
2250
2251 2011-07-13  Ryosuke Niwa  <rniwa@webkit.org>
2252
2253         Move forwardEvent from RenderTextControl to HTMLTextFormControlElement
2254         https://bugs.webkit.org/show_bug.cgi?id=64475
2255
2256         Reviewed by Kent Tamura.
2257
2258         Moved forwardEvent from RenderTextControl, RenderTextControlSingleLine, and RenderTextControlMultiLine
2259         to HTMLTextFormControlElement, HTMLInputElement, and HTMLTextAreaElement.
2260
2261         This removes the last dependency on Event.h and EventNames.h in the cpp files for the above render
2262         objects classes.
2263
2264         * html/HTMLTextAreaElement.cpp:
2265         (WebCore::HTMLTextAreaElement::defaultEventHandler):
2266         * html/HTMLTextFormControlElement.cpp:
2267         (WebCore::HTMLTextFormControlElement::forwardEvent):
2268         * html/HTMLTextFormControlElement.h:
2269         * html/TextFieldInputType.cpp:
2270         (WebCore::TextFieldInputType::forwardEvent):
2271         * rendering/RenderTextControl.cpp:
2272         * rendering/RenderTextControl.h:
2273         * rendering/RenderTextControlMultiLine.cpp:
2274         * rendering/RenderTextControlMultiLine.h:
2275         * rendering/RenderTextControlSingleLine.cpp:
2276         * rendering/RenderTextControlSingleLine.h:
2277
2278 2011-07-13  Ilya Tikhonovsky  <loislo@chromium.org>
2279
2280         Web Inspector: if you rename an element into the INPUT element the browser will crash.
2281         https://bugs.webkit.org/show_bug.cgi?id=64292
2282
2283         Reviewed by Joseph Pecoraro.
2284
2285         * inspector/InspectorDOMAgent.cpp:
2286         (WebCore::InspectorDOMAgent::setNodeName):
2287         Unnecessary function call copyNonAttributeProperties was removed.
2288
2289 2011-07-13  Yuta Kitamura  <yutak@chromium.org>
2290
2291         WebSocket: Implement hybi handshake
2292         https://bugs.webkit.org/show_bug.cgi?id=64344
2293
2294         Reviewed by Kent Tamura.
2295
2296         Implement WebSocket handshake which is described at
2297         <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-5.1>.
2298
2299         Notable differences from hixie-76 protocol are:
2300         - Challenge-response scheme has been changed dramatically.
2301         - Servers do not send Sec-WebSocket-Location and Sec-WebSocket-Origin anymore.
2302         - The value of "Upgrade" header has been changed to "websocket" (lower-case only).
2303         - "Origin" header in client's request is renamed to "Sec-WebSocket-Origin".
2304
2305         New tests: http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header.html
2306                    http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header.html
2307                    http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header.html
2308
2309         Note: Tests under hybi/ directory (including the new ones) are skipped and cannot be enabled
2310         yet, because pywebsocket does not accept requests from half-baked client implementation
2311         (i.e. hybi handshake + hixie-76 framing). They will be unskipped when hybi framing is landed
2312         in WebCore.
2313
2314         * websockets/WebSocketHandshake.cpp:
2315         Functions and members only used for hixie-76 handshake are renamed so that they are not confused
2316         with hybi-10's ones.
2317         (WebCore::generateHixie76SecWebSocketKey):
2318         (WebCore::generateHixie76Key3):
2319         (WebCore::generateHixie76ExpectedChallengeResponse):
2320         (WebCore::generateSecWebSocketKey):
2321         Generates a value for Sec-WebSocket-Key as stated in hybi-10.
2322         (WebCore::getExpectedWebSocketAccept):
2323         Calculates the expected value of Sec-WebSocket-Accept.
2324         (WebCore::WebSocketHandshake::WebSocketHandshake):
2325         (WebCore::WebSocketHandshake::clientHandshakeMessage):
2326         (WebCore::WebSocketHandshake::clientHandshakeRequest):
2327         (WebCore::WebSocketHandshake::readServerHandshake):
2328         (WebCore::WebSocketHandshake::serverWebSocketAccept):
2329         (WebCore::WebSocketHandshake::serverWebSocketExtensions):
2330         (WebCore::WebSocketHandshake::checkResponseHeaders):
2331         * websockets/WebSocketHandshake.h:
2332
2333 2011-07-13  MORITA Hajime  <morrita@google.com>
2334
2335         [ShadowContentElement] forwarded node should be able to access its hosting content element.
2336         https://bugs.webkit.org/show_bug.cgi?id=64251
2337         
2338         Reviewed by Dimitri Glazkov.
2339
2340         - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
2341           ShadowInclusionSet instance is owned by ShadowRoot.
2342         - Updated the set on inclusion list changes.
2343         - Used the set to retrieve the content element of NodeRenderingContext.
2344         
2345         There are also related refactoring and cleanup:
2346         - Renamed NodeRenderingContext::m_contentElement to m_includer
2347         - ShadowContentSelector::m_activeElement is no longer used, thus removed.
2348         
2349         Test: fast/dom/shadow/content-element-includer.html
2350
2351         * WebCore.exp.in:
2352         * dom/NodeRenderingContext.cpp:
2353         (WebCore::NodeRenderingContext::NodeRenderingContext):
2354         (WebCore::NodeRenderingContext::nextRenderer):
2355         (WebCore::NodeRenderingContext::previousRenderer):
2356         * dom/NodeRenderingContext.h:
2357         (WebCore::NodeRenderingContext::includer): 
2358         * dom/ShadowContentElement.cpp:
2359         (WebCore::removeFromSet): Added
2360         (WebCore::addToSet): Added
2361         (WebCore::ShadowContentElement::attach):
2362         (WebCore::ShadowContentElement::detach):
2363         * dom/ShadowContentElement.h:
2364         (WebCore::ShadowInclusionSet::add):
2365         (WebCore::ShadowInclusionSet::remove):
2366         (WebCore::ShadowInclusionSet::isEmpty):
2367         (WebCore::ShadowInclusionSet::Translator::hash):
2368         (WebCore::ShadowInclusionSet::Translator::equal):
2369         (WebCore::ShadowInclusionSet::Hash::hash):
2370         (WebCore::ShadowInclusionSet::Hash::equal):
2371         (WebCore::ShadowInclusionSet::find):
2372         * dom/ShadowContentSelector.cpp:
2373         (WebCore::ShadowContentSelector::ShadowContentSelector):
2374         (WebCore::ShadowContentSelector::selectInclusion):
2375         * dom/ShadowContentSelector.h:
2376         * dom/ShadowRoot.cpp:
2377         (WebCore::ShadowRoot::~ShadowRoot):
2378         (WebCore::ShadowRoot::includerFor): Replaced activeElement()
2379         (WebCore::ShadowRoot::inclusions): Added
2380         (WebCore::ShadowRoot::ensureInclusions): Added
2381         * dom/ShadowRoot.h:
2382         (WebCore::toShadowRoot):
2383         * testing/Internals.cpp:
2384         (WebCore::Internals::includerFor):
2385         * testing/Internals.h:
2386         * testing/Internals.idl:
2387
2388 2011-07-12  Dominic Cooney  <dominicc@chromium.org>
2389
2390         Raise if dispatchEvent dispatches an event that is being dispatched
2391         https://bugs.webkit.org/show_bug.cgi?id=64150
2392
2393         Reviewed by Dimitri Glazkov.
2394
2395         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-EventTarget-dispatchEvent
2396
2397         Test: fast/events/dispatch-event-being-dispatched.html
2398
2399         * dom/Event.h:
2400         (WebCore::Event::isBeingDispatched): Added.
2401         * dom/EventException.h:
2402         * dom/EventException.idl: Add DISPATCH_REQUEST_ERR.
2403         * dom/EventTarget.cpp:
2404         (WebCore::EventTarget::dispatchEvent): Raise if being dispatched.
2405         * dom/ExceptionCode.cpp: Add gunk for DISPATCH_REQUEST_ERR.
2406
2407 2011-07-13  Kent Tamura  <tkent@chromium.org>
2408
2409         Implement text field placeholders using shadow DOM
2410         https://bugs.webkit.org/show_bug.cgi?id=64253
2411
2412         Reviewed by Dimitri Glazkov.
2413
2414         Represents a placeholder text as a shadow element, and its
2415         visibility is controlled by 'visibility' CSS property.
2416
2417         This patch removes all of existing code about placeholder from
2418         RenderTextControl*. RenderTextControl* have only small code about
2419         placeholder layout.
2420
2421         Also, this patch removes INPUT_PLACEHOLDER legacy pseudo ID, and
2422         the placeholder style uses Element::shadowPseudoId().
2423
2424         This fixes the following regressions:
2425         - https://bugs.webkit.org/show_bug.cgi?id=51290
2426         - https://bugs.webkit.org/show_bug.cgi?id=54797
2427         - https://bugs.webkit.org/show_bug.cgi?id=54814
2428         - https://bugs.webkit.org/show_bug.cgi?id=63367
2429
2430         Test: fast/forms/textarea-placeholder-wrapping.html
2431
2432         * css/CSSSelector.cpp: Remove INPUT_PLACEHOLDER legacy pseudo ID.
2433         (WebCore::CSSSelector::pseudoId):
2434         (WebCore::nameToPseudoTypeMap):
2435         (WebCore::CSSSelector::extractPseudoType):
2436         * css/CSSSelector.h: ditto.
2437         * css/html.css:
2438         (::-webkit-input-placeholder): Added. This contains properties
2439         common in <input> and <textarea>. Some properties have !important
2440         so that a stylesheet specified by a page author won't break
2441         WebKit's assumption.
2442         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
2443          Added the default style for <input> placeholders.
2444         * html/HTMLInputElement.cpp:
2445         (WebCore::HTMLInputElement::placeholderElement): Delegate to an InputType.
2446         (WebCore::HTMLInputElement::updatePlaceholderText): ditto.
2447         * html/HTMLInputElement.h: Declare placeholderElement() and updatePlaceholderText().
2448         * html/HTMLTextAreaElement.cpp:
2449         (WebCore::HTMLTextAreaElement::createRenderer):
2450         Remove the 'placeholderVisible' argument.
2451         (WebCore::HTMLTextAreaElement::placeholderElement): Added.
2452         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
2453          Added. This creates, deletes, or updates the placeholder element.
2454         * html/HTMLTextAreaElement.h:
2455         - Declare placeholderElement() and updatePlaceholderText().
2456         - Add m_placeholder.
2457         * html/HTMLTextFormControlElement.cpp:
2458         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
2459         Update the placeholder element and 'visibility' CSS property,
2460         instead of delegating the job to a renderer.
2461         * html/HTMLTextFormControlElement.h:
2462         Declare two pure virtual functions: placeholderElement() and updatePlaceholderText().
2463         * html/InputType.cpp:
2464         (WebCore::InputType::placeholderElement): Add an empty implementation.
2465         (WebCore::InputType::updatePlaceholderText): Add an empty implementation.
2466         * html/InputType.h: Declare placeholderElement() and updatePlaceholderText().
2467         * html/TextFieldInputType.cpp:
2468         (WebCore::TextFieldInputType::createRenderer):
2469         Remove the 'placeholderVisible' argument.
2470         (WebCore::TextFieldInputType::placeholderElement): Added.
2471         (WebCore::TextFieldInputType::destroyShadowSubtree): Deletes m_placeholder.
2472         (WebCore::TextFieldInputType::updatePlaceholderText):
2473          Added. This creates, deletes, or updates the placeholder element.
2474         * html/TextFieldInputType.h:
2475         - Declare placeholderElement() and updatePlaceholderText().
2476         - Add m_placeholder.
2477         * rendering/RenderTextControl.cpp:
2478         (WebCore::RenderTextControl::RenderTextControl):
2479         Remove the 'placeholderVisible' argument.
2480         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
2481         Excludes the placeholder renderer in order to avoid to secure a box for
2482         the placeholder.
2483         * rendering/RenderTextControl.h:
2484         - Remove declarations of removed functions.
2485         - Update the RenderTextControl signature.
2486         - Add layoutSpecialExcludedChild().
2487         * rendering/RenderTextControlMultiLine.cpp:
2488         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
2489         Remove the 'placeholderVisible' argument.
2490         (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
2491         Laying out the placeholder box so that it has correct width and location.
2492         * rendering/RenderTextControlMultiLine.h:
2493         - Remove declarations of removed functions.
2494         - Update the RenderTextControlMultiLine signature.
2495         - Add layoutSpecialExcludedChild().
2496         * rendering/RenderTextControlSingleLine.cpp:
2497         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
2498         Remove the 'placeholderVisible' argument.
2499         (WebCore::RenderTextControlSingleLine::layout):
2500         Laying out the placeholder box so that it has correct width and location.
2501         * rendering/RenderTextControlSingleLine.h:
2502         - Remove declarations of removed functions.
2503         - Update the RenderTextControlSingleLine signature.
2504         * rendering/style/RenderStyleConstants.h: Remove INPUT_PLACEHOLDER.
2505
2506 2011-07-13  James Simonsen  <simonjam@chromium.org>
2507
2508         Remove hack that forcefully prevents scripts from running in shadow SVG
2509         https://bugs.webkit.org/show_bug.cgi?id=64419
2510
2511         This hack was put in to prevent scripts from running in shadow SVG. This should never have
2512         happened, but did because we didn't parse <script> tags in SVG properly. This was fixed in
2513         r88584, so the hack is no longer needed.
2514
2515         No new tests since there is no change in functionality.
2516
2517         Reviewed by Tony Gentilcore.
2518
2519         * dom/ScriptElement.cpp:
2520         (WebCore::ScriptElement::prepareScript):
2521
2522 2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>
2523
2524         [CSSRegions] Parse -webkit-content-order property
2525         https://bugs.webkit.org/show_bug.cgi?id=63897
2526
2527         Reviewed by David Hyatt.
2528
2529         Test: fast/regions/webkit-content-order-parsing.html
2530
2531         * css/CSSComputedStyleDeclaration.cpp:
2532         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2533         * css/CSSParser.cpp:
2534         (WebCore::CSSParser::parseValue):
2535         * css/CSSPropertyNames.in:
2536         * css/CSSStyleSelector.cpp:
2537         (WebCore::CSSStyleSelector::applyProperty):
2538         * rendering/style/RenderStyle.cpp:
2539         (WebCore::RenderStyle::diff):
2540         * rendering/style/RenderStyle.h:
2541         (WebCore::InheritedFlags::regionIndex):
2542         (WebCore::InheritedFlags::setRegionIndex):
2543         (WebCore::InheritedFlags::initialRegionIndex):
2544         * rendering/style/StyleRareNonInheritedData.cpp:
2545         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2546         (WebCore::StyleRareNonInheritedData::operator==):
2547         * rendering/style/StyleRareNonInheritedData.h:
2548
2549 2011-07-13  James Robinson  <jamesr@chromium.org>
2550
2551         Reviewed by Kenneth Russell.
2552
2553         [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
2554         https://bugs.webkit.org/show_bug.cgi?id=58833
2555
2556         Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
2557         so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
2558         the drawing responsibilities for tiled layers.
2559
2560         TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
2561         responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
2562         tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
2563         owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
2564         way tile eviction works.
2565
2566         * WebCore.gypi:
2567         * platform/graphics/chromium/ContentLayerChromium.cpp:
2568         (WebCore::ContentLayerChromium::ContentLayerChromium):
2569         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2570         (WebCore::ContentLayerChromium::drawsContent):
2571         * platform/graphics/chromium/ContentLayerChromium.h:
2572         (WebCore::ContentLayerChromium::textureUpdater):
2573         * platform/graphics/chromium/ImageLayerChromium.cpp:
2574         (WebCore::ImageLayerChromium::ImageLayerChromium):
2575         (WebCore::ImageLayerChromium::cleanupResources):
2576         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2577         (WebCore::ImageLayerChromium::textureUpdater):
2578         (WebCore::ImageLayerChromium::contentBounds):
2579         (WebCore::ImageLayerChromium::drawsContent):
2580         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
2581         * platform/graphics/chromium/ImageLayerChromium.h:
2582         * platform/graphics/chromium/LayerChromium.cpp:
2583         (WebCore::LayerChromium::pushPropertiesTo):
2584         (WebCore::LayerChromium::ccLayerImpl):
2585         * platform/graphics/chromium/LayerChromium.h:
2586         * platform/graphics/chromium/LayerRendererChromium.cpp:
2587         (WebCore::LayerRendererChromium::drawRootLayer):
2588         * platform/graphics/chromium/LayerTilerChromium.cpp:
2589         (WebCore::LayerTilerChromium::updateRect):
2590         (WebCore::LayerTilerChromium::draw):
2591         (WebCore::LayerTilerChromium::drawTiles):
2592         * platform/graphics/chromium/LayerTilerChromium.h:
2593         * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
2594         (WebCore::TiledLayerChromium::TiledLayerChromium):
2595         (WebCore::TiledLayerChromium::~TiledLayerChromium):
2596         (WebCore::TiledLayerChromium::createCCLayerImpl):
2597         (WebCore::TiledLayerChromium::cleanupResources):
2598         (WebCore::TiledLayerChromium::setLayerRenderer):
2599         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
2600         (WebCore::TiledLayerChromium::drawsContent):
2601         (WebCore::TiledLayerChromium::createTilerIfNeeded):
2602         (WebCore::TiledLayerChromium::updateCompositorResources):
2603         (WebCore::TiledLayerChromium::setTilingOption):
2604         (WebCore::TiledLayerChromium::setIsMask):
2605         (WebCore::TiledLayerChromium::tilingTransform):
2606         (WebCore::TiledLayerChromium::pushPropertiesTo):
2607         (WebCore::writeIndent):
2608         (WebCore::TiledLayerChromium::dumpLayerProperties):
2609         * platform/graphics/chromium/TiledLayerChromium.h: Added.
2610         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2611         (WebCore::CCLayerImpl::draw):
2612         * platform/graphics/chromium/cc/CCLayerImpl.h:
2613         (WebCore::CCLayerImpl::setDrawsContent):
2614         (WebCore::CCLayerImpl::drawsContent):
2615         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
2616         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
2617         (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
2618         (WebCore::CCTiledLayerImpl::draw):
2619         (WebCore::CCTiledLayerImpl::bindContentsTexture):
2620         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
2621         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
2622         (WebCore::CCTiledLayerImpl::create):
2623         (WebCore::CCTiledLayerImpl::setTilingTransform):
2624         (WebCore::CCTiledLayerImpl::setTiler):
2625
2626 2011-07-13  Julien Chaffraix  <jchaffraix@webkit.org>
2627
2628         Remove an unused bit in RenderObject
2629         https://bugs.webkit.org/show_bug.cgi?id=64485
2630
2631         Reviewed by Darin Adler.
2632
2633         No change in behavior so no new test.
2634
2635         * rendering/RenderObject.h: Removed a bit that was duplicated from RenderTableCell.
2636         However it was not used in RenderObject and RenderTableCell already packed this bit.
2637         We were lying in the number of used bits in RenderObject which was 33. This change
2638         brings us back to what was advertised.
2639
2640 2011-07-13  Simon Fraser  <simon.fraser@apple.com>
2641
2642         Fix non-debug builds.
2643
2644         * rendering/RenderLayerBacking.cpp:
2645         (WebCore::RenderLayerBacking::createGraphicsLayer):
2646
2647 2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>
2648
2649         [chromium] Fix mac build after r90949.
2650
2651         * bindings/v8/V8HiddenPropertyName.cpp:
2652         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
2653         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2654         (WebCore::toV8Object):
2655
2656 2011-07-13  Emil A Eklund  <eae@chromium.org>
2657
2658         Switch table rendering to to new layout types
2659         https://bugs.webkit.org/show_bug.cgi?id=64478
2660
2661         Reviewed by Eric Seidel.
2662
2663         No new tests, no new functionality.
2664
2665         * rendering/AutoTableLayout.cpp:
2666         * rendering/AutoTableLayout.h:
2667         * rendering/HitTestResult.cpp:
2668         * rendering/HitTestResult.h:
2669         * rendering/LayoutTypes.h:
2670         * rendering/RenderBlock.h:
2671         * rendering/RenderBoxModelObject.cpp:
2672         * rendering/RenderBoxModelObject.h:
2673         * rendering/RenderObject.h:
2674         * rendering/RenderTable.cpp:
2675         * rendering/RenderTable.h:
2676         * rendering/RenderTableCell.cpp:
2677         * rendering/RenderTableCell.h:
2678
2679 2011-07-13  Simon Fraser  <simon.fraser@apple.com>
2680
2681         Factor some GraphicsLayer creation code in RenderLayerBacking
2682         https://bugs.webkit.org/show_bug.cgi?id=64487
2683
2684         Reviewed by Sam Weinig.
2685
2686         Move the GraphicsLayer::create() calls into once place so that we
2687         don't have lots of #ifndef NDEBUG in various places, and can share
2688         more code in future.
2689         
2690         No behavior change, so no new tests.
2691
2692         * rendering/RenderLayerBacking.cpp:
2693         (WebCore::RenderLayerBacking::RenderLayerBacking):
2694         (WebCore::RenderLayerBacking::~RenderLayerBacking):
2695         (WebCore::RenderLayerBacking::createGraphicsLayer):
2696         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2697         (WebCore::RenderLayerBacking::destroyGraphicsLayers):
2698         (WebCore::RenderLayerBacking::updateLayerTransform):
2699         (WebCore::RenderLayerBacking::updateClippingLayers):
2700         (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
2701         (WebCore::RenderLayerBacking::updateForegroundLayer):
2702         (WebCore::RenderLayerBacking::updateMaskLayer):
2703         * rendering/RenderLayerBacking.h:
2704
2705 2011-07-13  Xan Lopez  <xlopez@igalia.com>
2706
2707         [GTK] Fix distcheck.
2708
2709         Reviewed by Martin Robinson.
2710
2711         * GNUmakefile.list.am: add missing files.
2712
2713 2011-07-13  James Robinson  <jamesr@chromium.org>
2714
2715         [chromium] No implementation defined for WTF::monotonicallyIncreasingTime
2716         https://bugs.webkit.org/show_bug.cgi?id=64420
2717
2718         Reviewed by Tony Gentilcore.
2719
2720         Removes some redundant time related code.
2721
2722         * platform/chromium/PlatformBridge.h:
2723         * platform/chromium/SystemTimeChromium.cpp:
2724         (WebCore::userIdleTime):
2725
2726 2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>
2727
2728         [V8] Avoid memory leaks with hidden references.
2729         https://bugs.webkit.org/show_bug.cgi?id=64467
2730
2731         Reviewed by Adam Barth.
2732
2733         We used to have growing arrays of hidden references associated
2734         with objects. The entries in this array had no keys and were never
2735         removed. This patch changes the interface to require a reference
2736         name. This way it's harder to leak an unbounded number of
2737         objects. Also it makes our wrapper objects one machine word
2738         smaller.
2739
2740         * bindings/scripts/CodeGeneratorV8.pm:
2741         (GenerateNormalAttrGetter): Started using new interface.
2742
2743         Interface changes:
2744         * bindings/v8/V8DOMWrapper.cpp:
2745         (WebCore::V8DOMWrapper::setNamedHiddenReference):
2746         (WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
2747         * bindings/v8/V8DOMWrapper.h:
2748
2749         Added a helper to compute hidden reference names as V8 strings:
2750         * bindings/v8/V8HiddenPropertyName.cpp:
2751         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
2752         * bindings/v8/V8HiddenPropertyName.h:
2753
2754         * bindings/v8/WrapperTypeInfo.h: Removed the hidden reference
2755         array internal field.
2756
2757         Update usages of hidden references:
2758         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
2759         (WebCore::toV8):
2760         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2761         (WebCore::toV8):
2762         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
2763         (WebCore::toV8):
2764         * bindings/v8/custom/V8LocationCustom.cpp:
2765         (WebCore::toV8):
2766         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2767         (WebCore::V8MessageChannel::constructorCallback):
2768         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2769         (WebCore::toV8):
2770         * bindings/v8/custom/V8StyleSheetCustom.cpp:
2771         (WebCore::toV8):
2772         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2773         (WebCore::toV8Object):
2774
2775         * bindings/scripts/test/V8/V8TestObj.cpp:
2776         (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter): Updated.
2777
2778 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
2779
2780         Improve names of some ApplicationCacheStorage accessor methods
2781         https://bugs.webkit.org/show_bug.cgi?id=64433
2782
2783         Reviewed by Alexey Proskuryakov.
2784
2785         Some methods returned a bool for success/failure and
2786         actually returned a value as an out parameter so their
2787         name was confusing. Rename these methods to make them
2788         more clear.
2789
2790         (WebCore::ApplicationCache::diskUsageForOrigin):
2791         * loader/appcache/ApplicationCacheGroup.cpp:
2792         (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
2793         * loader/appcache/ApplicationCacheStorage.cpp:
2794         (WebCore::ApplicationCacheStorage::calculateQuotaForOrigin):
2795         (WebCore::ApplicationCacheStorage::calculateUsageForOrigin):
2796         (WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache):
2797         (WebCore::ApplicationCacheStorage::checkOriginQuota):
2798         * loader/appcache/ApplicationCacheStorage.h:
2799         * loader/appcache/ApplicationCache.cpp:
2800         Rename the methods.
2801
2802         * WebCore.exp.in:
2803         Replaced old versions. Also, calculateRemaining wasn't needed
2804         outside WebCore, so no longer export it.
2805
2806 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
2807
2808         Some ApplicationCache Origin Cleanup
2809         https://bugs.webkit.org/show_bug.cgi?id=64431
2810
2811         Reviewed by Alexey Proskuryakov.
2812
2813         - m_loadedSize is inaccurate. This just replaces it with
2814         calls to ApplicationCache::estimatedSizeInStorage.
2815
2816         - m_availableSpaceInQuota can get out of date, so we just
2817         recalculate it at the start of appcache downloads.
2818
2819         * loader/appcache/ApplicationCacheGroup.h:
2820         * loader/appcache/ApplicationCacheGroup.cpp:
2821         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
2822         (WebCore::ApplicationCacheGroup::didReceiveData):
2823         Remove references to m_loadedSize.
2824
2825         (WebCore::ApplicationCacheGroup::didFinishLoading):
2826         Replace m_loadedSize with estimatedSizeInStorage after we
2827         add the new cached resource to the cache. The calculation
2828         already happened so this check is fast.
2829
2830         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
2831         When we start the Downloading phase, recalculate the quota
2832         so that we have an up to date quota value so that we can
2833         break early if needed.
2834
2835 2011-07-12  Brent Fulgham  <bfulgham@webkit.org>
2836
2837         Standardize WinCairo conditionalized code under PLATFORM macro.
2838         https://bugs.webkit.org/show_bug.cgi?id=64377
2839
2840         Reviewed by Maciej Stachowiak.
2841
2842         Update compile-time conditions that had previously used #ifdef
2843         of WIN_CAIRO to consistently use PLATFORM(WIN_CAIRO).
2844
2845         * WebCore.vcproj/WebCoreCairo.vsprops: Remove redundant declaration
2846           of WIN_CAIRO.
2847         * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Update to use
2848           the existing WinCairo.vsprops file.
2849         * WebCorePrefix.h: Update for new WTF_PLATFORM_WIN_CAIRO define.
2850         * config.h: Update to use PLATFORM(WIN_CAIRO).
2851
2852 2011-07-13  Alexandru Chiculita  <achicu@adobe.com>
2853
2854         [CSS Exclusions] Fix for comment #23 on wrap-shape parsing bug 61726
2855         https://bugs.webkit.org/show_bug.cgi?id=64464
2856
2857         Reviewed by Tony Chang.
2858
2859         No new tests needed.
2860
2861         * css/CSSParser.cpp:
2862         (WebCore::CSSParser::parseWrapShapeRect): Removed the "valid" local.
2863         (WebCore::CSSParser::parseWrapShapeCircle): Removed the "valid" local.
2864         (WebCore::CSSParser::parseWrapShapeEllipse): Removed the "valid" local.
2865         * css/CSSPrimitiveValue.cpp:
2866         * css/CSSWrapShapes.h:
2867         (WebCore::CSSWrapShapePolygon::getXAt): Replaced bit shift with multiplication.
2868         (WebCore::CSSWrapShapePolygon::getYAt): Replaced bit shift with multiplication.
2869         * rendering/style/RenderStyle.cpp:
2870         * rendering/style/StyleRareNonInheritedData.h:
2871
2872 2011-07-13  Abhishek Arya  <inferno@chromium.org>
2873
2874         Reviewed by Adam Barth.
2875
2876         Issue with Frame lifetime due to deletion in beforeload event.
2877         https://bugs.webkit.org/show_bug.cgi?id=64457
2878
2879         Copy the Frame protector higher in the stack from loadWithDocumentLoader
2880         to loadFrameRequest since any of loadPostRequest or loadURL can call
2881         loadWithDocumentLoader, thereby dispatching the beforeload event and
2882         blowing away the frame. This deleted frame will be later accessed in
2883         the loadFrameRequest function causing a crash.       
2884  
2885         Test: fast/events/form-iframe-target-before-load-crash2.html
2886
2887         * loader/FrameLoader.cpp:
2888         (WebCore::FrameLoader::loadFrameRequest):
2889         (WebCore::FrameLoader::loadWithDocumentLoader):
2890
2891 2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>
2892
2893         [CSSRegions]content:-webkit-from-flow not applied correctly
2894         https://bugs.webkit.org/show_bug.cgi?id=64438
2895
2896         Reviewed by Tony Chang.
2897
2898         Forgot to modify getStringValue(), i was modifying only getStringValue(ExceptionCode&).
2899
2900         Test: fast/regions/content-webkit-from-flow-parsing.html (existing).
2901
2902         * css/CSSPrimitiveValue.cpp:
2903         (WebCore::CSSPrimitiveValue::getStringValue):
2904
2905 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
2906
2907         Don't reuse the last InsertTextCommand
2908         https://bugs.webkit.org/show_bug.cgi?id=64416
2909
2910         Reviewed by Justin Garcia.
2911
2912         This patch makes the interface of InsertTextCommand less foreign. It now takes arguments in
2913         its constructor and executes the command in doApply like other edit commands.
2914
2915         * editing/CompositeEditCommand.cpp:
2916         (WebCore::CompositeEditCommand::applyCommandToComposite): Added.
2917         * editing/CompositeEditCommand.h:
2918         * editing/InsertTextCommand.cpp:
2919         (WebCore::InsertTextCommand::InsertTextCommand): Takes arguments input used to take.
2920         (WebCore::InsertTextCommand::doApply): Renamed from input.
2921         * editing/InsertTextCommand.h:
2922         (WebCore::InsertTextCommand::create): Takes arguments input used to take.
2923         * editing/TypingCommand.cpp:
2924         (WebCore::TypingCommand::insertTextRunWithoutNewlines): Creates InsertTextCommand.
2925
2926 2011-07-12  Dmitry Lomov  <dslomov@google.com>
2927
2928         https://bugs.webkit.org/show_bug.cgi?id=63041
2929         [Chromium][V8] Make DOMDataStore per-isolate
2930         This patch:
2931          - makes DOMData class an utility class with static members only
2932          - adds an isolate-specific DOMDataStore in V8BindingPerIsolateData.
2933         Dromaeo benchmarks are not affected.
2934
2935         Reviewed by Adam Barth.
2936
2937         * bindings/v8/DOMData.cpp:
2938         (WebCore::getDefaultStore):
2939         (WebCore::DOMData::getCurrentStore):
2940         * bindings/v8/DOMData.h:
2941         * bindings/v8/DOMDataStore.cpp:
2942         (WebCore::DOMDataStore::DOMDataStore):
2943         (WebCore::DOMDataStore::allStores):
2944         * bindings/v8/DOMDataStore.h:
2945         * bindings/v8/ScopedDOMDataStore.cpp:
2946         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
2947         * bindings/v8/ScopedDOMDataStore.h:
2948         * bindings/v8/StaticDOMDataStore.cpp:
2949         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
2950         * bindings/v8/StaticDOMDataStore.h:
2951         * bindings/v8/V8Binding.h:
2952         (WebCore::V8BindingPerIsolateData::allStores):
2953         (WebCore::V8BindingPerIsolateData::getDOMDataStore):
2954         (WebCore::V8BindingPerIsolateData::setDOMDataStore):
2955         * bindings/v8/V8Binding.cpp:
2956         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
2957         * bindings/v8/V8DOMMap.cpp:
2958         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
2959         (WebCore::getDOMDataStore):
2960         (WebCore::enableFasterDOMStoreAccess):
2961
2962 2011-07-12  Simon Fraser  <simon.fraser@apple.com>
2963
2964         Rename compositing-related updateContentsScale() methods
2965         https://bugs.webkit.org/show_bug.cgi?id=64430
2966
2967         Reviewed by Joseph Pecoraro.
2968
2969         Rename updateContentsScale() to something less presumptuous; layers may choose
2970         to do something other than update their contents scale when the page scale factor
2971         changes. pageScaleFactorChanged() is a better name.
2972
2973         * page/Frame.cpp:
2974         (WebCore::Frame::pageScaleFactorChanged):
2975         (WebCore::Frame::scalePage):
2976         * page/Frame.h:
2977         * rendering/RenderLayer.cpp:
2978         (WebCore::RenderLayer::pageScaleFactorChanged):
2979         * rendering/RenderLayer.h:
2980         * rendering/RenderLayerBacking.cpp:
2981         (WebCore::RenderLayerBacking::pageScaleFactorChanged):
2982         * rendering/RenderLayerBacking.h:
2983         * rendering/RenderLayerCompositor.cpp:
2984         (WebCore::RenderLayerCompositor::pageScaleFactorChanged):
2985         * rendering/RenderLayerCompositor.h:
2986
2987 2011-07-13  Pierre Rossi  <pierre.rossi@gmail.com>
2988
2989         Fix compile for QRawFont.
2990
2991         https://bugs.webkit.org/show_bug.cgi?id=64453
2992
2993         Reviewed by Andreas Kling.
2994
2995         * platform/graphics/GraphicsContext.h:
2996         * platform/graphics/qt/FontQt.cpp:
2997         (WebCore::Font::drawGlyphs):
2998
2999 2011-07-13  John Knottenbelt  <jknotten@chromium.org>
3000
3001         Reference Geolocation object from GeoNotifier and Geolocation::setIsAllowed.
3002         https://bugs.webkit.org/show_bug.cgi?id=64363
3003
3004         Reviewed by Tony Gentilcore.
3005
3006         Test: fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html
3007
3008         * page/Geolocation.cpp:
3009         (WebCore::Geolocation::setIsAllowed):
3010         * page/Geolocation.h:
3011
3012 2011-07-13  Vsevolod Vlasov  <vsevik@chromium.org>
3013
3014         Web Inspector: Network panel search needs each resource to have unique identifier.
3015         https://bugs.webkit.org/show_bug.cgi?id=64287
3016
3017         Reviewed by Pavel Feldman.
3018
3019         * inspector/front-end/NetworkManager.js:
3020         (WebInspector.NetworkManager.prototype.requestContent):
3021         (WebInspector.NetworkDispatcher):
3022         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
3023         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
3024         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
3025         * inspector/front-end/NetworkPanel.js:
3026         (WebInspector.NetworkPanel.prototype._appendResource):
3027         (WebInspector.NetworkPanel.prototype._frameNavigated):
3028         (WebInspector.NetworkPanel.prototype._updateSearchMatchedListAfterResourceIdentifierChanged):
3029
3030 2011-07-13  Alexandru Chiculita  <achicu@adobe.com>
3031
3032         Bridge RenderBoxModelObject::calculateBackgroundImageGeometry parameters into a class
3033         https://bugs.webkit.org/show_bug.cgi?id=63987
3034
3035         Reviewed by Hajime Morita.
3036
3037         Change doesn't add new functionality. No test needed.
3038
3039         * rendering/RenderBox.cpp:
3040         (WebCore::RenderBox::maskClipRect):
3041         (WebCore::RenderBox::repaintLayerRectsForImage):
3042         * rendering/RenderBoxModelObject.cpp:
3043         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3044         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
3045         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
3046         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
3047         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
3048         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
3049         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
3050         * rendering/RenderBoxModelObject.h:
3051         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
3052         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
3053         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
3054         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
3055         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
3056         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
3057         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
3058         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
3059         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX):
3060         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY):
3061
3062 2011-07-13  MORITA Hajime  <morrita@google.com>
3063
3064         Refactoring: Ignored ExceptionCode value should be less annoying.
3065         https://bugs.webkit.org/show_bug.cgi?id=63688
3066
3067         - Introduced ExceptionCodePlaceholder class for the default parameter of ExceptionCode.
3068         - Introduced ASSERT_NO_EXCEPTION to check ExceptionCode not set to non-zero after the call.
3069         - Adopted ASSERT_NO_EXCEPTION in Range.cpp
3070
3071         No new tests. No behaviour change.
3072
3073         Reviewed by Darin Adler.
3074
3075         * GNUmakefile.list.am:
3076         * WebCore.gypi:
3077         * WebCore.xcodeproj/project.pbxproj:
3078         * dom/ExceptionCodePlaceholder.h: Added.
3079         (WebCore::ExceptionCodePlaceholder::ExceptionCodePlaceholder):
3080         (WebCore::ExceptionCodePlaceholder::operator ExceptionCode& ):
3081         (WebCore::IgnorableExceptionCode::IgnorableExceptionCode):
3082         (WebCore::CheckedExceptionCode::CheckedExceptionCode):
3083         (WebCore::CheckedExceptionCode::~CheckedExceptionCode):
3084         * dom/Range.cpp:
3085         (WebCore::Range::Range):
3086         (WebCore::Range::editingStartPosition):
3087         * dom/Range.h:        
3088
3089 2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>
3090
3091         Regression: OOB read in svg text run
3092         https://bugs.webkit.org/show_bug.cgi?id=63627
3093
3094         Not reviewed.
3095
3096         Fixed last minute typo leading to assertions.
3097
3098         * rendering/InlineTextBox.cpp:
3099         (WebCore::InlineTextBox::paintSelection):
3100
3101 2011-07-12  Andrey Kosyakov  <caseq@chromium.org>
3102
3103         Web Inspector: factor NetworkLogView out of Network panel
3104         https://bugs.webkit.org/show_bug.cgi?id=64366
3105
3106         Reviewed by Pavel Feldman.
3107
3108         * inspector/front-end/NetworkPanel.js:
3109         (WebInspector.NetworkLogView):
3110         (WebInspector.NetworkLogView.prototype.get useLargeRows):
3111         (WebInspector.NetworkLogView.prototype.set allowPopover):
3112         (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
3113         (WebInspector.NetworkLogView.prototype.resize):
3114         (WebInspector.NetworkLogView.prototype._createTable):
3115         (WebInspector.NetworkLogView.prototype.show):
3116         (WebInspector.NetworkLogView.prototype.hide):
3117         (WebInspector.NetworkLogView.prototype._reset):
3118         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
3119         (WebInspector.NetworkLogView.prototype.switchToBriefView):
3120         (WebInspector.NetworkLogView.prototype.get _setLargerResources):
3121         (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
3122         (WebInspector.NetworkPanel):
3123         (WebInspector.NetworkPanel.prototype.get toolbarItemLabel):
3124         (WebInspector.NetworkPanel.prototype.get statusBarItems):
3125         (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
3126         (WebInspector.NetworkPanel.prototype.resize):
3127         (WebInspector.NetworkPanel.prototype._reset):
3128         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
3129         (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
3130         (WebInspector.NetworkPanel.prototype.handleShortcut):
3131         (WebInspector.NetworkPanel.prototype.show):
3132         (WebInspector.NetworkPanel.prototype.hide):
3133         (WebInspector.NetworkPanel.prototype.get resources):
3134         (WebInspector.NetworkPanel.prototype.resourceById):
3135         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
3136         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
3137         (WebInspector.NetworkPanel.prototype._onViewCleared):
3138         (WebInspector.NetworkPanel.prototype._onRowSizeChanged):
3139         (WebInspector.NetworkPanel.prototype._onResourceSelected):
3140         (WebInspector.NetworkPanel.prototype._showResource):
3141         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
3142         (WebInspector.NetworkPanel.prototype._toggleGridMode):
3143         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
3144         (WebInspector.NetworkPanel.prototype.performSearch):
3145         (WebInspector.NetworkPanel.prototype.jumpToPreviousSearchResult):
3146         (WebInspector.NetworkPanel.prototype.jumpToNextSearchResult):
3147         (WebInspector.NetworkPanel.prototype.searchCanceled):
3148         (WebInspector.NetworkDataGridNode):
3149         (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
3150         (WebInspector.NetworkDataGridNode.prototype.select):
3151         (WebInspector.NetworkDataGridNode.prototype.get selectable):
3152
3153 2011-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3154
3155         Unreviewed, rolling out r90634.
3156         http://trac.webkit.org/changeset/90634
3157         https://bugs.webkit.org/show_bug.cgi?id=64448
3158
3159         Qt HTTP Pipelining is not robust enough to be used in that
3160         generic way. (Requested by benjaminp on #webkit).
3161
3162         * platform/network/qt/ResourceRequestQt.cpp:
3163         (WebCore::ResourceRequest::toNetworkRequest):
3164
3165 2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>
3166
3167         Regression: OOB read in svg text run
3168         https://bugs.webkit.org/show_bug.cgi?id=63627
3169
3170         Reviewed by Zoltan Herczeg.
3171
3172         A TextRun is constructed for a portion of a string [a,b] whose original length is c (0 < a < b < c).
3173         The TextRun charactersLength variable stores the length of the remaining text from (b..c) in order
3174         to support ligatures in SVG Fonts. Example: <text>ffl</text>. When measuring the advance from char 0
3175         to char 1 the whole 'ffl' text must be passed to the SVG glyph selection code, as the SVG Font may
3176         define a single glyph for the characters 'ffl' thus leading to a single character long text
3177         pointing to the ffl ligature, not three individual 'f' / 'f' / 'l' characters anymore.
3178
3179         constructTextRun(..const UChar*, int length, ..) did not correctly calculate the maximum length (b..c).
3180         The passed in UChar buffer starts at eg. textRenderer->characters() + start(), and following condition
3181         holds true for 'length': start() + length <= textRenderer->textLength() (which denotes the maximum length
3182         of the textRenderer->characters() buffer). We have to keep track of the start() offset, so that we
3183         can calculate the charactersLength for the TextRun correctly: textRenderer->textLength() - start().
3184
3185         There are also other cases like RenderCombinedText and/or the presence of hyphens that were incorrectly
3186         tracked. Only InlineTextBox had to be fixed, the other callsites in eg. RenderBlockLineLayout already
3187         computed the maximum length correctly - I assured this by valgrind runs on all SVG Font tests.
3188
3189         * rendering/InlineTextBox.cpp:
3190         (WebCore::InlineTextBox::paint):
3191         (WebCore::InlineTextBox::paintSelection):
3192         (WebCore::InlineTextBox::constructTextRun): Add maximumLength parameter to constructTextRun.
3193         * rendering/InlineTextBox.h: Ditto.
3194
3195 2011-07-12  Antti Koivisto  <antti@apple.com>
3196
3197         didFirstVisuallyNonEmptyLayout dispatched too early
3198         https://bugs.webkit.org/show_bug.cgi?id=64412
3199
3200         Reviewed by Darin Adler and Sam Weinig.
3201
3202         Improve the mechanism that dispatches didFirstVisuallyNonEmptyLayout
3203
3204         - Wait until a threshold of characters and pixels has been exceeded before dispatching.
3205         - Wait until stylesheets are loaded (painting is disabled in this case).
3206
3207         * page/FrameView.cpp:
3208         (WebCore::FrameView::reset):
3209         (WebCore::FrameView::performPostLayoutTasks):
3210         * page/FrameView.h:
3211         (WebCore::FrameView::incrementVisuallyNonEmptyCharacterCount):
3212         (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
3213         * rendering/RenderImage.cpp:
3214         (WebCore::RenderImage::RenderImage):
3215         (WebCore::RenderImage::imageChanged):
3216         * rendering/RenderImage.h:
3217         * rendering/RenderText.cpp:
3218         (WebCore::RenderText::RenderText):
3219
3220 2011-07-12  MORITA Hajime  <morrita@google.com>
3221
3222         [Refactoring][ShadowContentElement] Forwarded node list should be a linked-list.
3223         https://bugs.webkit.org/show_bug.cgi?id=64252
3224
3225         Reviewed by Dimitri Glazkov.
3226
3227         Introduced ShadowInclusionList and ShadowInclusion for maintaining
3228         forwarded content children. ShadowInclusion is doubly-linked list.
3229         ShadowContentElement::m_inclusions is replaced by ShadowInclusionList.
3230         
3231         This change is a prepration for bug 64251, which will introduce
3232         forwarded-children to content-element table.
3233         
3234         No new tests. No behavioral change.
3235
3236         * dom/NodeRenderingContext.cpp:
3237         (WebCore::nextRendererOf):
3238         (WebCore::previousRendererOf):
3239         (WebCore::firstRendererOf):
3240         (WebCore::lastRendererOf):
3241         * dom/ShadowContentElement.cpp:
3242         (WebCore::ShadowInclusion::append):
3243         (WebCore::ShadowInclusion::unlink):
3244         (WebCore::ShadowInclusionList::ShadowInclusionList):
3245         (WebCore::ShadowInclusionList::~ShadowInclusionList):
3246         (WebCore::ShadowInclusionList::find):
3247         (WebCore::ShadowInclusionList::clear):
3248         (WebCore::ShadowInclusionList::append):
3249         (WebCore::ShadowContentElement::attach):
3250         * dom/ShadowContentElement.h:
3251         (WebCore::ShadowInclusion::includer):
3252         (WebCore::ShadowInclusion::content):
3253         (WebCore::ShadowInclusion::next):
3254         (WebCore::ShadowInclusion::previous):
3255         (WebCore::ShadowInclusion::ShadowInclusion):
3256         (WebCore::ShadowInclusion::create):
3257         (WebCore::ShadowInclusionList::first):
3258         (WebCore::ShadowInclusionList::last):
3259         (WebCore::ShadowInclusionList::isEmpty):
3260         (WebCore::ShadowInclusionList::append):
3261         (WebCore::ShadowContentElement::inclusions):
3262         * dom/ShadowContentSelector.cpp:
3263         (WebCore::ShadowContentSelector::selectInclusion):
3264         * dom/ShadowContentSelector.h:
3265
3266 2011-07-12  David Reveman  <reveman@chromium.org>
3267
3268         [Chromium] Use nearest filter method with pixel aligned transforms.
3269         https://bugs.webkit.org/show_bug.cgi?id=64338
3270
3271         Reviewed by James Robinson.
3272
3273         Check for integer translation and use nearest texture filter when
3274         possible to avoid filter precisions problems at the layer edges.
3275
3276         Test: compositing/iframes/nested-iframe-scrolling.html (existing)
3277
3278         * platform/graphics/chromium/LayerTilerChromium.cpp:
3279         (WebCore::LayerTilerChromium::drawTiles):
3280         * platform/graphics/transforms/TransformationMatrix.cpp:
3281         (WebCore::TransformationMatrix::isIntegerTranslation):
3282         * platform/graphics/transforms/TransformationMatrix.h:
3283
3284 2011-07-12  David Reveman  <reveman@chromium.org>
3285
3286         Removed unnecessary function parameters from TilingData::textureOffset.
3287         https://bugs.webkit.org/show_bug.cgi?id=64245
3288
3289         Reviewed by Brent Fulgham.
3290
3291         No new tests, no functionality changes.
3292
3293         * platform/graphics/chromium/LayerTilerChromium.cpp:
3294         (WebCore::LayerTilerChromium::drawTiles):
3295         * platform/graphics/gpu/TilingData.cpp:
3296         (WebCore::TilingData::textureOffset):
3297         * platform/graphics/gpu/TilingData.h:
3298
3299 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
3300
3301         Move RenderTextControl::indexForVisiblePosition to HTMLTextFormControlElement
3302         https://bugs.webkit.org/show_bug.cgi?id=64403
3303
3304         Reviewed by Hajime Morita.
3305
3306         Moved indexForVisiblePosition from RenderTextControl to HTMLTextFormControlElement.
3307
3308         Also replaced the call to RenderTextControl::isSelectableElement by a call to enclosingTextFormControl
3309         (moved from htmlediting to HTMLTextFormControlElement) because we are only interested in checking
3310         whether the given position is inside the current text form control or not.
3311
3312         In addition, modernized the code in indexForVisiblePosition by calling parentAnchoredEquivalent on the
3313         given position and replacing calls to deprecateNode and deprecatedEditingOffset by calls to containerNode
3314         and offsetInContainer.
3315
3316         * accessibility/AccessibilityRenderObject.cpp:
3317         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls indexForVisiblePosition.
3318         * editing/htmlediting.cpp: Removed enclosingTextFromControl.
3319         * editing/htmlediting.h: Removed enclosingTextFromControl.
3320         * html/HTMLTextFormControlElement.cpp:
3321         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Moved from RenderTextControl.
3322         (WebCore::HTMLTextFormControlElement::computeSelectionStart): Calls indexForVisiblePosition.
3323         (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Calls indexForVisiblePosition.
3324         (WebCore::enclosingTextFormControl): Moved from htmlediting.cpp
3325         * html/HTMLTextFormControlElement.h:
3326         * rendering/RenderTextControl.cpp:
3327         * rendering/RenderTextControl.h:
3328
3329 2011-07-12  Julien Chaffraix  <jchaffraix@webkit.org>
3330
3331         Make RenderObject::containingBlock virtual for better speed and clarity
3332         https://bugs.webkit.org/show_bug.cgi?id=64318
3333
3334         Reviewed by Darin Adler.
3335
3336         No new tests, performance refactoring.
3337
3338         On some of my test cases, this method takes between 3 and 5% of the time spend.
3339         The method makes 2 calls to virtual methods which could be moved to their overriden
3340         version of containingBlock if we made it virtual.
3341
3342         That's what this patch does. It saves between 1 and 2% on some synthetic test cases
3343         as well as made the current method shorter.
3344
3345         * rendering/RenderObject.cpp:
3346         (WebCore::RenderObject::containingBlock): Removed code for RenderView and RenderTableCell,
3347         replaced by ASSERTs.
3348
3349         * rendering/RenderObject.h: Made containingBlock virtual.
3350
3351         * rendering/RenderTableCell.h:
3352         (WebCore::RenderTableCell::containingBlock):
3353         * rendering/RenderView.h:
3354         (WebCore::RenderView::containingBlock):
3355         The code moved from RenderObject is inlined in those 2 methods.
3356
3357 2011-07-12  James Robinson  <jamesr@chromium.org>
3358
3359         [chromium] Chromium win build fix.
3360
3361         * platform/graphics/chromium/FontChromiumWin.cpp:
3362         (WebCore::drawGlyphsWin):
3363
3364 2011-07-12  Pratik Solanki  <psolanki@apple.com>
3365
3366         Get webkit to compile with USE(CFNETWORK) enabled on Mac
3367         https://bugs.webkit.org/show_bug.cgi?id=63674
3368
3369         Reviewed by David Kilzer.
3370
3371         Changes to ResourceHandle class to get it to compile with USE(CFNETWORK).
3372
3373         No new tests because no change in functionality and option is not enabled on Mac.
3374
3375         * platform/network/ResourceHandle.h:
3376         * platform/network/ResourceHandleInternal.h:
3377         * platform/network/cf/ResourceHandleCFNet.cpp:
3378         (WebCore::didReceiveResponse):
3379         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
3380         (WebCore::ResourceHandle::start):
3381         (WebCore::WebCoreSynchronousLoaderClient::willSendRequest): Call adjustMIMETypeIfNecessary
3382         on Mac. Also port over fix for <rdar://problem/6901522> added in r43993 which forces the
3383         MIME type to text/html if the request is annotated with a "ForceHTMLMIMEType" property.
3384
3385 2011-07-12  James Robinson  <jamesr@chromium.org>
3386
3387         [chromium] Delete the unused legacy accelerated canvas 2d code
3388         https://bugs.webkit.org/show_bug.cgi?id=64214
3389
3390         Reviewed by Stephen White.
3391
3392         This removes the legacy accelerated canvas 2d path and support logic since we (chromium) are no longer using
3393         this codepath and it seems clear that no other port is interested.
3394
3395         Refactoring and removing unused code, so no new tests.
3396
3397         * WebCore.gypi:
3398         * WebCore.xcodeproj/project.pbxproj:
3399         * html/canvas/CanvasRenderingContext2D.cpp:
3400         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
3401         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
3402         (WebCore::CanvasRenderingContext2D::didDraw):
3403         * html/canvas/CanvasRenderingContext2D.h:
3404         * loader/EmptyClients.h:
3405         * page/ChromeClient.h:
3406         * page/Page.cpp:
3407         (WebCore::Page::sharedGraphicsContext3D):
3408         * page/Page.h:
3409         * platform/graphics/GraphicsContext.cpp:
3410         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
3411         (WebCore::GraphicsContext::syncSoftwareCanvas):
3412         * platform/graphics/GraphicsContext.h:
3413         * platform/graphics/GraphicsContext3D.h:
3414         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3415         (WebCore::DrawingBuffer::setGrContext):
3416         * platform/graphics/chromium/FontLinux.cpp:
3417         (WebCore::Font::drawGlyphs):
3418         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
3419         (WebCore::pointInTriangle):
3420         * platform/graphics/gpu/BicubicShader.cpp: Removed.
3421         * platform/graphics/gpu/BicubicShader.h: Removed.
3422         * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
3423         * platform/graphics/gpu/ConvolutionShader.h: Removed.
3424         * platform/graphics/gpu/GraphicsContextGPU.cpp: Removed.
3425         * platform/graphics/gpu/GraphicsContextGPU.h: Removed.
3426         * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Removed.
3427         * platform/graphics/gpu/SharedGraphicsContext3D.h: Removed.
3428         * platform/graphics/gpu/SolidFillShader.cpp: Removed.
3429         * platform/graphics/gpu/SolidFillShader.h: Removed.
3430         * platform/graphics/gpu/TexShader.cpp: Removed.
3431         * platform/graphics/gpu/TexShader.h: Removed.
3432         * platform/graphics/skia/GraphicsContextSkia.cpp:
3433         (WebCore::GraphicsContext::savePlatformState):
3434         (WebCore::GraphicsContext::restorePlatformState):
3435         (WebCore::GraphicsContext::addInnerRoundedRectClip):
3436         (WebCore::GraphicsContext::clearRect):
3437         (WebCore::GraphicsContext::clip):
3438         (WebCore::GraphicsContext::canvasClip):
3439         (WebCore::GraphicsContext::clipOut):
3440         (WebCore::GraphicsContext::clipPath):
3441         (WebCore::GraphicsContext::concatCTM):
3442         (WebCore::GraphicsContext::setCTM):
3443         (WebCore::GraphicsContext::drawConvexPolygon):
3444         (WebCore::GraphicsContext::drawEllipse):
3445         (WebCore::GraphicsContext::drawFocusRing):
3446         (WebCore::GraphicsContext::drawLine):
3447         (WebCore::GraphicsContext::drawLineForTextChecking):
3448         (WebCore::GraphicsContext::drawLineForText):
3449         (WebCore::GraphicsContext::drawRect):
3450         (WebCore::GraphicsContext::fillPath):
3451         (WebCore::GraphicsContext::fillRect):
3452         (WebCore::GraphicsContext::fillRoundedRect):
3453         (WebCore::GraphicsContext::scale):
3454         (WebCore::GraphicsContext::setAlpha):
3455         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3456         (WebCore::GraphicsContext::setPlatformFillColor):
3457         (WebCore::GraphicsContext::setPlatformShadow):
3458         (WebCore::GraphicsContext::strokeArc):
3459         (WebCore::GraphicsContext::strokePath):
3460         (WebCore::GraphicsContext::strokeRect):
3461         (WebCore::GraphicsContext::rotate):
3462         (WebCore::GraphicsContext::translate):
3463         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
3464         (WebCore::GraphicsContext::syncSoftwareCanvas):
3465         * platform/graphics/skia/ImageBufferSkia.cpp:
3466         (WebCore::ImageBuffer::copyImage):
3467         (WebCore::ImageBuffer::draw):
3468         (WebCore::ImageBuffer::getUnmultipliedImageData):
3469         (WebCore::ImageBuffer::getPremultipliedImageData):
3470         (WebCore::ImageBuffer::putUnmultipliedImageData):
3471         (WebCore::ImageBuffer::putPremultipliedImageData):
3472         * platform/graphics/skia/ImageSkia.cpp:
3473         (WebCore::BitmapImage::draw):
3474         (WebCore::BitmapImageSingleFrameSkia::draw):
3475         * platform/graphics/skia/NativeImageSkia.cpp:
3476         (WebCore::NativeImageSkia::~NativeImageSkia):
3477         * platform/graphics/skia/PlatformContextSkia.cpp:
3478         (WebCore::PlatformContextSkia::PlatformContextSkia):
3479         (WebCore::PlatformContextSkia::~PlatformContextSkia):
3480         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
3481         (WebCore::PlatformContextSkia::makeGrContextCurrent):
3482         * platform/graphics/skia/PlatformContextSkia.h:
3483
3484 2011-07-12  Emil A Eklund  <eae@chromium.org>
3485
3486         Switch InlineFlowBox to to new layout types
3487         https://bugs.webkit.org/show_bug.cgi?id=64399
3488
3489         Reviewed by Eric Seidel.
3490
3491         First step in moving floats over to the new layout abstraction.
3492
3493         No new tests, no new functionality.
3494
3495         * rendering/InlineBox.cpp:
3496         (WebCore::InlineBox::logicalHeight):
3497         * rendering/InlineBox.h:
3498         (WebCore::InlineBox::logicalTop):
3499         (WebCore::InlineBox::logicalBottom):
3500         (WebCore::InlineBox::setLogicalTop):
3501         * rendering/InlineFlowBox.cpp:
3502         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
3503         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3504         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3505         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
3506         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
3507         (WebCore::InlineFlowBox::addReplacedChildOverflow):
3508         (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
3509         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
3510         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
3511         * rendering/InlineFlowBox.h:
3512         * rendering/RenderBlock.cpp:
3513         (WebCore::RenderBlock::logicalRightSelectionGap):
3514         * rendering/RenderBlock.h:
3515         * rendering/RootInlineBox.cpp:
3516         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
3517         (WebCore::RootInlineBox::lineSelectionGap):
3518         (WebCore::RootInlineBox::ascentAndDescentForBox):
3519         (WebCore::RootInlineBox::verticalPositionForBox):
3520         * rendering/RootInlineBox.h:
3521         * rendering/style/RenderStyle.cpp:
3522         (WebCore::RenderStyle::getShadowExtent):
3523         (WebCore::RenderStyle::getShadowHorizontalExtent):
3524         (WebCore::RenderStyle::getShadowVerticalExtent):
3525         * rendering/style/RenderStyle.h:
3526         (WebCore::InheritedFlags::getTextShadowExtent):
3527         (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
3528         (WebCore::InheritedFlags::getTextShadowVerticalExtent):
3529         (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
3530         (WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
3531         (WebCore::InheritedFlags::getBoxShadowExtent):
3532         (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
3533         (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
3534         (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
3535         (WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
3536         (WebCore::InheritedFlags::getShadowInlineDirectionExtent):
3537         (WebCore::InheritedFlags::getShadowBlockDirectionExtent):
3538         * rendering/style/ShadowData.cpp:
3539         (WebCore::calculateShadowExtent):
3540         (WebCore::ShadowData::adjustRectForShadow):
3541         * rendering/style/ShadowData.h:
3542         (WebCore::ShadowData::ShadowData):
3543         (WebCore::ShadowData::x):
3544         (WebCore::ShadowData::y):
3545
3546 2011-07-12  Kenichi Ishibashi  <bashi@chromium.org>
3547
3548         [Chromium] SVG text is not rendered sometimes with geometricPrecision
3549         https://bugs.webkit.org/show_bug.cgi?id=64341
3550
3551         Changing the type of x and y offsets of ComplexTextControllerLinux to make it possible to treat negative offsets.
3552
3553         Reviewed by Tony Chang.
3554
3555         Test: platform/chromium-linux/svg/text/text-with-geometric-precision.svg
3556
3557         * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Changed the type of m_offsetX and m_startingY from unsigned to int.
3558         (WebCore::ComplexTextController::ComplexTextController): Changed the type of the argument.
3559         (WebCore::ComplexTextController::reset): Ditto.
3560         * platform/graphics/chromium/ComplexTextControllerLinux.h:
3561
3562 2011-07-12  Alexandru Chiculita  <achicu@adobe.com>
3563
3564         Reviewed by David Hyatt.
3565
3566         [CSS Exclusions] Parse wrap-shape property
3567         https://bugs.webkit.org/show_bug.cgi?id=61726
3568
3569         Parsing wrap-shape: rect, circle, ellipse and polygon.
3570         Moved WindRule from Path.h to it's own file.
3571
3572         Test: fast/exclusions/parsing-wrap-shape.html
3573
3574         * WebCore.vcproj/WebCore.vcproj:
3575         * WebCore.xcodeproj/project.pbxproj:
3576         * css/CSSComputedStyleDeclaration.cpp:
3577         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3578         * css/CSSParser.cpp:
3579         (WebCore::CSSParser::parseValue):
3580         (WebCore::CSSParser::parseWrapShapeRect):
3581         (WebCore::CSSParser::parseWrapShapeCircle):
3582         (WebCore::CSSParser::parseWrapShapeEllipse):
3583         (WebCore::CSSParser::parseWrapShapePolygon):
3584         (WebCore::CSSParser::parseWrapShape):
3585         * css/CSSParser.h:
3586         * css/CSSPrimitiveValue.cpp:
3587         (WebCore::CSSPrimitiveValue::init):
3588         (WebCore::CSSPrimitiveValue::cleanup):
3589         (WebCore::CSSPrimitiveValue::cssText):
3590         * css/CSSPrimitiveValue.h:
3591         (WebCore::CSSPrimitiveValue::getShapeValue):
3592         * css/CSSPropertyNames.in:
3593         * css/CSSStyleSelector.cpp:
3594         (WebCore::CSSStyleSelector::applyProperty):
3595         * css/CSSValueKeywords.in:
3596         * css/CSSWrapShapes.cpp: Added.
3597         (WebCore::CSSWrapShapeRect::cssText):
3598         (WebCore::CSSWrapShapeCircle::cssText):
3599         (WebCore::CSSWrapShapeEllipse::cssText):
3600         (WebCore::CSSWrapShapePolygon::cssText):
3601         * css/CSSWrapShapes.h: Added.
3602         (WebCore::CSSWrapShape::~CSSWrapShape):
3603         (WebCore::CSSWrapShape::CSSWrapShape):
3604         (WebCore::CSSWrapShapeRect::create):
3605         (WebCore::CSSWrapShapeRect::left):
3606         (WebCore::CSSWrapShapeRect::top):
3607         (WebCore::CSSWrapShapeRect::width):
3608         (WebCore::CSSWrapShapeRect::height):
3609         (WebCore::CSSWrapShapeRect::radiusX):
3610         (WebCore::CSSWrapShapeRect::radiusY):
3611         (WebCore::CSSWrapShapeRect::setLeft):
3612         (WebCore::CSSWrapShapeRect::setTop):
3613         (WebCore::CSSWrapShapeRect::setWidth):
3614         (WebCore::CSSWrapShapeRect::setHeight):
3615         (WebCore::CSSWrapShapeRect::setRadiusX):
3616         (WebCore::CSSWrapShapeRect::setRadiusY):
3617         (WebCore::CSSWrapShapeRect::type):
3618         (WebCore::CSSWrapShapeRect::CSSWrapShapeRect):
3619         (WebCore::CSSWrapShapeCircle::create):
3620         (WebCore::CSSWrapShapeCircle::left):
3621         (WebCore::CSSWrapShapeCircle::top):
3622         (WebCore::CSSWrapShapeCircle::radius):
3623         (WebCore::CSSWrapShapeCircle::setLeft):
3624         (WebCore::CSSWrapShapeCircle::setTop):
3625         (WebCore::CSSWrapShapeCircle::setRadius):
3626         (WebCore::CSSWrapShapeCircle::type):
3627         (WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
3628         (WebCore::CSSWrapShapeEllipse::create):
3629         (WebCore::CSSWrapShapeEllipse::left):
3630         (WebCore::CSSWrapShapeEllipse::top):
3631         (WebCore::CSSWrapShapeEllipse::radiusX):
3632         (WebCore::CSSWrapShapeEllipse::radiusY):
3633         (WebCore::CSSWrapShapeEllipse::setLeft):
3634         (WebCore::CSSWrapShapeEllipse::setTop):
3635         (WebCore::CSSWrapShapeEllipse::setRadiusX):
3636         (WebCore::CSSWrapShapeEllipse::setRadiusY):
3637         (WebCore::CSSWrapShapeEllipse::type):
3638         (WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
3639         (WebCore::CSSWrapShapePolygon::create):
3640         (WebCore::CSSWrapShapePolygon::appendPoint):
3641         (WebCore::CSSWrapShapePolygon::getXAt):
3642         (WebCore::CSSWrapShapePolygon::getYAt):
3643         (WebCore::CSSWrapShapePolygon::setWindRule):
3644         (WebCore::CSSWrapShapePolygon::windRule):
3645         (WebCore::CSSWrapShapePolygon::type):
3646         (WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):
3647         * css/SVGCSSValueKeywords.in:
3648         * platform/graphics/Path.h:
3649         * platform/graphics/WindRule.h: Added.
3650         * rendering/style/RenderStyle.cpp:
3651         (WebCore::RenderStyle::diff):
3652         * rendering/style/RenderStyle.h:
3653         (WebCore::InheritedFlags::setWrapShape):
3654         (WebCore::InheritedFlags::wrapShape):
3655         (WebCore::InheritedFlags::initialWrapShape):
3656         * rendering/style/StyleRareNonInheritedData.cpp:
3657         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3658         (WebCore::StyleRareNonInheritedData::operator==):
3659         * rendering/style/StyleRareNonInheritedData.h:
3660
3661 2011-07-12  Simon Fraser  <simon.fraser@apple.com>
3662
3663         Clean up some RenderLayerCompositor code relating to scroll and root layers
3664         https://bugs.webkit.org/show_bug.cgi?id=64400
3665
3666         Reviewed by James Robinson.
3667
3668         There was no need for FrameView::syncCompositingStateForThisFrame()
3669         to call syncCompositingStateForThisLayerOnly() on the various
3670         scrollbar-related layers, because the subsequent call to 
3671         compositor()->flushPendingLayerChanges() starts to flush at
3672         m_overflowControlsHostLayer if one exists, and it's an ancestor
3673         of the scrollbar layers.
3674         
3675         Also clean up terminology in RenderLayerCompositor.
3676             m_rootPlatformLayer -> m_rootContentLayer
3677             rootPlatformLayer() -> rootGraphicsLayer()
3678         
3679         No behavior change, so no new tests.
3680         
3681         * page/FrameView.cpp:
3682         (WebCore::FrameView::syncCompositingStateForThisFrame):
3683         * rendering/RenderLayerCompositor.cpp:
3684         (WebCore::RenderLayerCompositor::enableCompositingMode):
3685         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
3686         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3687         (WebCore::RenderLayerCompositor::layerTreeAsText):
3688         (WebCore::RenderLayerCompositor::parentFrameContentLayers):
3689         (WebCore::RenderLayerCompositor::rootGraphicsLayer):
3690         (WebCore::RenderLayerCompositor::didMoveOnscreen):
3691         (WebCore::RenderLayerCompositor::willMoveOffscreen):
3692         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
3693         (WebCore::RenderLayerCompositor::ensureRootLayer):
3694         (WebCore::RenderLayerCompositor::destroyRootLayer):
3695         (WebCore::RenderLayerCompositor::attachRootLayer):
3696         (WebCore::RenderLayerCompositor::detachRootLayer):
3697         (WebCore::RenderLayerCompositor::updateRootLayerAttachment):
3698         * rendering/RenderLayerCompositor.h:
3699
3700 2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3701
3702         Unreviewed, rolling out r90842.
3703         http://trac.webkit.org/changeset/90842
3704         https://bugs.webkit.org/show_bug.cgi?id=64401
3705
3706         Causes crash in debug on compositing/overflow/content-gains-
3707         scrollbars.html (Requested by jamesr on #webkit).
3708
3709         * WebCore.gypi:
3710         * platform/graphics/chromium/ContentLayerChromium.cpp:
3711         (WebCore::ContentLayerChromium::ContentLayerChromium):
3712         (WebCore::ContentLayerChromium::paintContentsIfDirty):
3713         (WebCore::ContentLayerChromium::cleanupResources):
3714         (WebCore::ContentLayerChromium::setLayerRenderer):
3715         (WebCore::ContentLayerChromium::tilingTransform):
3716         (WebCore::ContentLayerChromium::contentBounds):
3717         (WebCore::ContentLayerChromium::updateLayerSize):
3718         (WebCore::ContentLayerChromium::draw):
3719         (WebCore::ContentLayerChromium::drawsContent):
3720         (WebCore::ContentLayerChromium::createTilerIfNeeded):
3721         (WebCore::ContentLayerChromium::updateCompositorResources):
3722         (WebCore::ContentLayerChromium::setTilingOption):
3723         (WebCore::ContentLayerChromium::bindContentsTexture):
3724         (WebCore::ContentLayerChromium::setIsMask):
3725         (WebCore::writeIndent):
3726         (WebCore::ContentLayerChromium::dumpLayerProperties):
3727         * platform/graphics/chromium/ContentLayerChromium.h:
3728         * platform/graphics/chromium/ImageLayerChromium.cpp:
3729         (WebCore::ImageLayerChromium::ImageLayerChromium):
3730         (WebCore::ImageLayerChromium::paintContentsIfDirty):
3731         (WebCore::ImageLayerChromium::updateCompositorResources):
3732         (WebCore::ImageLayerChromium::contentBounds):
3733         * platform/graphics/chromium/ImageLayerChromium.h:
3734         (WebCore::ImageLayerChromium::drawsContent):
3735         * platform/graphics/chromium/LayerChromium.cpp:
3736         (WebCore::LayerChromium::pushPropertiesTo):
3737         (WebCore::LayerChromium::ccLayerImpl):
3738         * platform/graphics/chromium/LayerChromium.h:
3739         (WebCore::LayerChromium::draw):
3740         * platform/graphics/chromium/LayerRendererChromium.cpp:
3741         (WebCore::LayerRendererChromium::drawRootLayer):
3742         * platform/graphics/chromium/LayerTilerChromium.cpp:
3743         (WebCore::LayerTilerChromium::updateRect):
3744         (WebCore::LayerTilerChromium::draw):
3745         (WebCore::LayerTilerChromium::drawTiles):
3746         * platform/graphics/chromium/LayerTilerChromium.h:
3747         * platform/graphics/chromium/TiledLayerChromium.cpp: Removed.
3748         * platform/graphics/chromium/TiledLayerChromium.h: Removed.
3749         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3750         (WebCore::CCLayerImpl::drawsContent):
3751         (WebCore::CCLayerImpl::draw):
3752         * platform/graphics/chromium/cc/CCLayerImpl.h:
3753         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Removed.
3754         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Removed.
3755
3756 2011-07-12  Joseph Pecoraro  <joepeck@webkit.org>
3757
3758         ApplicationCache update should not immediately fail when reaching per-origin quota
3759         https://bugs.webkit.org/show_bug.cgi?id=64177
3760
3761         Reviewed by Alexey Proskuryakov.
3762
3763         New behavior of handling ApplicationCache per-origin quotas. Previously,
3764         if the quota was reached while downloading we would fail the download
3765         and then prompt the user for a storage increase. This required a refresh,
3766         a redownload of resources, and the total storage was not known so the
3767         process could be repeated multiple times before an acceptable quota
3768         was found or the user disallowed an increase.
3769         
3770         The new behavior is to complete the download of the entire appcache.
3771         When the cache completes downloading and it is greater than the origin
3772         quota, prompt the user to allow a quota increase with the known space
3773         needed. If the quota is increased, the cache will succeed, otherwise
3774         it will fail with the normal failure steps.
3775
3776         An alternative behavior is prompting while downloading immediately
3777         when the origin quota is reached, however at that point the entire
3778         space needed is unknown and so quota increases might not be enough
3779         and could result in multiple prompts to the user.
3780
3781         Tests: http/tests/appcache/origin-quota-continued-download-multiple-manifests.html
3782                http/tests/appcache/origin-quota-continued-download.html
3783
3784         * loader/appcache/ApplicationCacheGroup.h:
3785         * loader/appcache/ApplicationCacheGroup.cpp:
3786         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
3787         Rename instance variable to be more clear on its intent.
3788
3789         (WebCore::ApplicationCacheGroup::didFinishLoading):
3790         Check the quota limit while downloading so we can fail early
3791         if the user already denied a quota increase.
3792
3793         (WebCore::ApplicationCacheGroup::didReachOriginQuota):
3794         Pass the space needed information to the chrome client.
3795
3796         (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
3797         Removed. Instead convert the callers to update state and console
3798         log when the per-origin quota is reached. This allows us to follow
3799         the normal failure steps if the quota is reached at the end of a
3800         download, and the alternative short path when we fail during downloading.
3801
3802         (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
3803         Extract to a helper function.
3804
3805         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
3806         Allow for a quota increase at the end of the download now that
3807         we know the space needed. Then proceed to fail or succeed
3808         as we normally would.
3809
3810         * loader/appcache/ApplicationCacheStorage.h:
3811         * loader/appcache/ApplicationCacheStorage.cpp:
3812         (WebCore::ApplicationCacheStorage::checkOriginQuota):
3813         (WebCore::ApplicationCacheStorage::storeNewestCache):
3814         Extract checking the origin quota for when an ApplicationCacheGroup
3815         will be replacing an ApplicationCacheGroup into a helper function.
3816         The helper also provides an out parameter for the space needed
3817         to properly fit the new cache group if it wouldn't fit.
3818
3819         * page/ChromeClient.h:
3820         * loader/EmptyClients.h:
3821         (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
3822         Add a space needed parameter when reaching the per-origin quota.
3823
3824 2011-07-12  Chris Rogers  <crogers@google.com>
3825
3826         AudioDevice::Stop can close NULL handle.
3827         https://bugs.webkit.org/show_bug.cgi?id=64157
3828
3829         Reviewed by Kenneth Russell.
3830
3831         No new tests since audio API is not yet implemented.
3832
3833         * bindings/js/JSAudioContextCustom.cpp:
3834         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
3835         * bindings/v8/custom/V8AudioContextCustom.cpp:
3836         (WebCore::V8AudioContext::constructorCallback):
3837         * webaudio/AudioContext.cpp:
3838         (WebCore::AudioContext::create):
3839         (WebCore::AudioContext::uninitialize):
3840         * webaudio/AudioContext.h:
3841
3842 2011-07-12  John Bates  <jbates@google.com>
3843
3844         Move call to syncCompositingLayers so that we do not trigger redundant draws.
3845         https://bugs.webkit.org/show_bug.cgi?id=64224
3846
3847         doComposite was triggering two composites every time a canvas was dirtied.
3848         By moving syncCompositingLayers call to layout, the client code can draw without triggering
3849         a redundant frame. Also renamed WebViewImpl::updateLayers to
3850         syncCompositingLayers, because it was confusing. CCLayerTreeHostImplProxy::updateLayers was
3851         no longer needed, because animateAndLayout calls WebViewImpl::layout.
3852
3853         Reviewed by James Robinson.
3854
3855         * platform/graphics/chromium/LayerRendererChromium.cpp:
3856         (WebCore::LayerRendererChromium::updateLayers):
3857         * platform/graphics/chromium/LayerRendererChromium.h:
3858         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3859         (WebCore::CCLayerTreeHost::syncCompositingLayers):
3860         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3861         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
3862         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
3863
3864 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
3865
3866         Isolate HTMLTextFormControlElement into a separate file
3867         https://bugs.webkit.org/show_bug.cgi?id=64381
3868
3869         Reviewed by Dimitri Glazkov.
3870
3871         Extracted HTMLTextFormControlElement.h and HTMLTextFormControlElement.cpp out of
3872         HTMLFormControlElement.h and HTMLFormControlElement.cpp.
3873
3874         Also moved defaultEventHandler from HTMLFormControlElementWithState to HTMLTextFormControlElement
3875         because it was specific to HTMLTextFormControlElement, and replaced all references to
3876         HTMLFormControlElementWithState in HTMLInputElement and HTMLTextAreaElement by ones to
3877         HTMLTextFormControlElement.
3878
3879         * CMakeLists.txt:
3880         * GNUmakefile.list.am:
3881         * WebCore.gypi:
3882         * WebCore.pro:
3883         * WebCore.vcproj/WebCore.vcproj:
3884         * WebCore.xcodeproj/project.pbxproj:
3885         * editing/TextIterator.cpp:
3886         * editing/htmlediting.cpp:
3887         * html/HTMLElementsAllInOne.cpp:
3888         * html/HTMLFormControlElement.cpp:
3889         (WebCore::HTMLFormControlElement::isFocusable):
3890         * html/HTMLFormControlElement.h:
3891         * html/HTMLInputElement.cpp:
3892         (WebCore::HTMLInputElement::isKeyboardFocusable):
3893         (WebCore::HTMLInputElement::isMouseFocusable):
3894         (WebCore::HTMLInputElement::updateFocusAppearance):
3895         (WebCore::HTMLInputElement::canStartSelection):
3896         (WebCore::HTMLInputElement::parseMappedAttribute):
3897         (WebCore::HTMLInputElement::finishParsingChildren):
3898         (WebCore::HTMLInputElement::rendererIsNeeded):
3899         (WebCore::HTMLInputElement::attach):
3900         (WebCore::HTMLInputElement::detach):
3901         (WebCore::HTMLInputElement::copyNonAttributeProperties):
3902         (WebCore::HTMLInputElement::defaultEventHandler):
3903         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
3904         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
3905         (WebCore::HTMLInputElement::addSubresourceAttributeURLs):
3906         (WebCore::HTMLInputElement::recalcWillValidate):
3907         * html/HTMLInputElement.h:
3908         * html/HTMLTextAreaElement.cpp:
3909         (WebCore::HTMLTextAreaElement::defaultEventHandler):
3910         * html/HTMLTextAreaElement.h:
3911         * html/HTMLTextFormControlElement.cpp: Copied from Source/WebCore/html/HTMLFormControlElement.cpp.
3912         (WebCore::HTMLTextFormControlElement::defaultEventHandler):
3913         * html/HTMLTextFormControlElement.h: Copied from Source/WebCore/html/HTMLFormControlElement.h.
3914
3915 2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3916
3917         Unreviewed, rolling out r90831.
3918         http://trac.webkit.org/changeset/90831
3919         https://bugs.webkit.org/show_bug.cgi?id=64389
3920
3921         Likely caused fast/canvas/DrawImageSinglePixelStretch.html to
3922         start timing out on the chromium GPU bots (Requested by ojan
3923         on #webkit).
3924
3925         * platform/graphics/skia/ImageBufferSkia.cpp:
3926         (WebCore::getImageData):
3927         (WebCore::putImageData):
3928
3929 2011-07-12  James Robinson  <jamesr@chromium.org>
3930
3931         Reviewed by Kenneth Russell.
3932
3933         [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
3934         https://bugs.webkit.org/show_bug.cgi?id=58833
3935
3936         Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
3937         so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
3938         the drawing responsibilities for tiled layers.
3939
3940         TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
3941         responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
3942         tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
3943         owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
3944         way tile eviction works.
3945
3946         * WebCore.gypi:
3947         * platform/graphics/chromium/ContentLayerChromium.cpp:
3948         (WebCore::ContentLayerChromium::ContentLayerChromium):
3949         (WebCore::ContentLayerChromium::paintContentsIfDirty):
3950         (WebCore::ContentLayerChromium::drawsContent):
3951         * platform/graphics/chromium/ContentLayerChromium.h:
3952         (WebCore::ContentLayerChromium::textureUpdater):
3953         * platform/graphics/chromium/ImageLayerChromium.cpp:
3954         (WebCore::ImageLayerChromium::ImageLayerChromium):
3955         (WebCore::ImageLayerChromium::cleanupResources):
3956         (WebCore::ImageLayerChromium::paintContentsIfDirty):
3957         (WebCore::ImageLayerChromium::textureUpdater):
3958         (WebCore::ImageLayerChromium::contentBounds):
3959         (WebCore::ImageLayerChromium::drawsContent):
3960         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
3961         * platform/graphics/chromium/ImageLayerChromium.h:
3962         * platform/graphics/chromium/LayerChromium.cpp:
3963         (WebCore::LayerChromium::pushPropertiesTo):
3964         (WebCore::LayerChromium::ccLayerImpl):
3965         * platform/graphics/chromium/LayerChromium.h:
3966         (WebCore::LayerChromium::contentBounds):
3967         * platform/graphics/chromium/LayerRendererChromium.cpp:
3968         (WebCore::LayerRendererChromium::drawRootLayer):
3969         (WebCore::visibleLayerRect):
3970         (WebCore::paintLayerContentsIfDirty):
3971         (WebCore::LayerRendererChromium::paintLayerContents):
3972         (WebCore::LayerRendererChromium::drawLayer):
3973         * platform/graphics/chromium/LayerTilerChromium.cpp:
3974         (WebCore::LayerTilerChromium::updateRect):
3975         (WebCore::LayerTilerChromium::draw):
3976         (WebCore::LayerTilerChromium::drawTiles):
3977         * platform/graphics/chromium/LayerTilerChromium.h:
3978         * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
3979         (WebCore::TiledLayerChromium::TiledLayerChromium):
3980         (WebCore::TiledLayerChromium::~TiledLayerChromium):
3981         (WebCore::TiledLayerChromium::createCCLayerImpl):
3982         (WebCore::TiledLayerChromium::cleanupResources):
3983         (WebCore::TiledLayerChromium::setLayerRenderer):
3984         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
3985         (WebCore::TiledLayerChromium::drawsContent):
3986         (WebCore::TiledLayerChromium::createTilerIfNeeded):
3987         (WebCore::TiledLayerChromium::updateCompositorResources):
3988         (WebCore::TiledLayerChromium::setTilingOption):
3989         (WebCore::TiledLayerChromium::setIsMask):
3990         (WebCore::TiledLayerChromium::tilingTransform):
3991         (WebCore::TiledLayerChromium::pushPropertiesTo):
3992         (WebCore::writeIndent):
3993         (WebCore::TiledLayerChromium::dumpLayerProperties):
3994         * platform/graphics/chromium/TiledLayerChromium.h: Copied from Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h.
3995         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3996         (WebCore::CCLayerImpl::draw):
3997         * platform/graphics/chromium/cc/CCLayerImpl.h:
3998         (WebCore::CCLayerImpl::setDrawsContent):
3999         (WebCore::CCLayerImpl::drawsContent):
4000         (WebCore::CCLayerImpl::contentBounds):
4001         (WebCore::CCLayerImpl::setContentBounds):
4002         (WebCore::CCLayerImpl::doubleSided):
4003         (WebCore::CCLayerImpl::setDoubleSided):
4004         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
4005         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
4006         (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
4007         (WebCore::CCTiledLayerImpl::draw):
4008         (WebCore::CCTiledLayerImpl::bindContentsTexture):
4009         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
4010         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
4011         (WebCore::CCTiledLayerImpl::create):
4012         (WebCore::CCTiledLayerImpl::setTilingTransform):
4013         (WebCore::CCTiledLayerImpl::setTiler):
4014
4015 2011-07-12  Arno Renevier  <arno@renevier.net>
4016
4017         [GTK] DOM bindings do not have gir annotations
4018         https://bugs.webkit.org/show_bug.cgi?id=45395
4019
4020         Reviewed by Xan Lopez.
4021
4022         * bindings/scripts/CodeGeneratorGObject.pm: generate introspection annotations.
4023         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: update for new output.
4024         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: ditto.
4025         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: ditto.
4026
4027 2011-07-12  Chris Rogers  <crogers@google.com>
4028
4029         webkitAudioContext does not do proper sanity checking on its arguments.
4030         https://bugs.webkit.org/show_bug.cgi?id=64076
4031
4032         Reviewed by Kenneth Russell.
4033
4034         No new tests since audio API is not yet implemented.
4035
4036         * bindings/js/JSAudioContextCustom.cpp:
4037         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
4038         (WebCore::JSAudioContext::createBuffer):
4039         * bindings/v8/custom/V8AudioContextCustom.cpp:
4040         (WebCore::V8AudioContext::constructorCallback):
4041         (WebCore::V8AudioContext::createBufferCallback):
4042         * platform/audio/HRTFDatabaseLoader.h:
4043         (WebCore::HRTFDatabaseLoader::databaseSampleRate):
4044         * webaudio/AudioContext.cpp:
4045         (WebCore::AudioContext::create):
4046         (WebCore::AudioContext::createOfflineContext):
4047         (WebCore::AudioContext::createBuffer):
4048         * webaudio/AudioContext.h:
4049
4050 2011-07-12  Pratik Solanki  <psolanki@apple.com>
4051
4052         Implement didReceiveDataArray callback for CFNetwork based loader
4053         https://bugs.webkit.org/show_bug.cgi?id=64130
4054
4055         Reviewed by David Kilz