5514c271ca66899dd4244e0b949a5af17dd01021
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-08-03  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Add RenderedPosition
4         https://bugs.webkit.org/show_bug.cgi?id=65221
5
6         Reviewed by Hajime Morita.
7
8         Add the skeleton for RenderedPosition and use it in rootBoxForLine.
9
10         * CMakeLists.txt:
11         * GNUmakefile.list.am:
12         * WebCore.gypi:
13         * WebCore.pro:
14         * WebCore.vcproj/WebCore.vcproj:
15         * WebCore.xcodeproj/project.pbxproj:
16         * editing/EditingAllInOne.cpp:
17         * editing/RenderedPosition.cpp: Added.
18         (WebCore::RenderedPosition::RenderedPosition):
19         * editing/RenderedPosition.h: Added.
20         (WebCore::RenderedPosition::isNull):
21         (WebCore::RenderedPosition::rootBox):
22         (WebCore::RenderedPosition::RenderedPosition):
23         * editing/visible_units.cpp:
24         (WebCore::startPositionForLine):
25         (WebCore::endPositionForLine):
26         (WebCore::logicalStartPositionForLine):
27         (WebCore::logicalEndPositionForLine):
28
29 2011-08-03  Roland Steiner  <rolandsteiner@chromium.org>
30
31         [V8] V8CSSRuleCustom.cpp: not all enum values are listed in switch statement
32         https://bugs.webkit.org/show_bug.cgi?id=65598
33
34         Reviewed by Dimitri Glazkov.
35
36         Added UNKNOWN_RULE to the switch statement.
37
38         No new tests. (No semantic change)
39
40         * bindings/v8/custom/V8CSSRuleCustom.cpp:
41         (WebCore::toV8):
42
43 2011-08-03  Pavel Feldman  <pfeldman@google.com>
44
45         Web Inspector: [Timeline] Hover on paint events and see rect outline around that area.
46         https://bugs.webkit.org/show_bug.cgi?id=65510
47
48         Reviewed by Yury Semikhatsky.
49
50         * WebCore.exp.in:
51         * WebCore.order:
52         * inspector/DOMNodeHighlighter.cpp:
53         (WebCore::DOMNodeHighlighter::drawRectHighlight):
54         * inspector/DOMNodeHighlighter.h:
55         * inspector/Inspector.json:
56         * inspector/InspectorController.cpp:
57         (WebCore::InspectorController::drawHighlight):
58         * inspector/InspectorController.h:
59         * inspector/InspectorDOMAgent.cpp:
60         (WebCore::InspectorDOMAgent::highlightRect):
61         (WebCore::InspectorDOMAgent::hideHighlight):
62         (WebCore::InspectorDOMAgent::drawHighlight):
63         * inspector/InspectorDOMAgent.h:
64         * inspector/front-end/ResourcesPanel.js:
65         (WebInspector.FrameTreeElement.prototype.onselect):
66         (WebInspector.FrameTreeElement.prototype.set hovered):
67         * inspector/front-end/TimelinePanel.js:
68         (WebInspector.TimelinePanel):
69         (WebInspector.TimelinePanel.prototype._mouseOut):
70         (WebInspector.TimelinePanel.prototype._mouseMove):
71         (WebInspector.TimelinePanel.prototype._highlightRect):
72         (WebInspector.TimelinePanel.prototype._hideRectHighlight):
73         * inspector/front-end/inspector.js:
74         (WebInspector.highlightDOMNode):
75
76 2011-08-03  Pavel Feldman  <pfeldman@google.com>
77
78         Web Inspector: make text in popover selectable + make popover re-appear faster.
79         https://bugs.webkit.org/show_bug.cgi?id=65603
80
81         Reviewed by Yury Semikhatsky.
82
83         * inspector/front-end/Popover.js:
84         (WebInspector.PopoverHelper.prototype.setTimeout):
85         (WebInspector.PopoverHelper.prototype._mouseMove):
86         (WebInspector.PopoverHelper.prototype._handleMouseAction):
87         * inspector/front-end/popover.css:
88         (.popover .content):
89
90 2011-08-03  Vsevolod Vlasov  <vsevik@chromium.org>
91
92         Web Inspector: Console scroll position should be saved when switching panels.
93         https://bugs.webkit.org/show_bug.cgi?id=65607
94
95         Reviewed by Pavel Feldman.
96
97         * inspector/front-end/ConsoleView.js:
98         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
99         (WebInspector.ConsoleView.prototype.get scrollLeft):
100         (WebInspector.ConsoleView.prototype.set scrollLeft):
101         (WebInspector.ConsoleView.prototype.get scrollTop):
102         (WebInspector.ConsoleView.prototype.set scrollTop):
103         * inspector/front-end/Drawer.js:
104         (WebInspector.Drawer.prototype.show):
105         (WebInspector.Drawer.prototype._endStatusBarDragging):
106         (WebInspector.Drawer.prototype.get scrollLeft):
107         (WebInspector.Drawer.prototype.set scrollLeft):
108         (WebInspector.Drawer.prototype.get scrollTop):
109         (WebInspector.Drawer.prototype.set scrollTop):
110
111 2011-08-03  Philippe Normand  <pnormand@igalia.com>
112
113         libsoup-CRITICAL **: soup_message_io_pause: assertion `io != NULL' failed
114         https://bugs.webkit.org/show_bug.cgi?id=64263
115
116         Reviewed by Martin Robinson.
117
118         Avoid any operation on not yet started messages and completed messages.
119
120         * platform/network/ResourceHandleInternal.h:
121         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
122         * platform/network/soup/ResourceHandleSoup.cpp:
123         (WebCore::finishedCallback):
124         (WebCore::startHTTPRequest):
125         (WebCore::ResourceHandle::platformSetDefersLoading):
126
127 2011-08-03  Jeremy Moskovich  <jeremy@chromium.org>
128
129         [Chromium] Fix OOP font loading to work on 10.6.6 and above.
130         https://bugs.webkit.org/show_bug.cgi?id=65543
131
132         In 10.6.6 the function used to get the unique ID for an NSFont in the 
133         renderer was changed so it fails in the sandbox (it now tries to access
134         the on-disk font file). In order to work around this, we get the font
135         ID from the browser process.
136
137         To speed things up, we introduce 2 levels of caching in WebKit. A font
138         name cache where we can perform a quick lookup without the need for the
139         font id and a font id cache which we can only lookup in after getting
140         the unique ID from the browser process.
141
142         Reviewed by Kenneth Russell.
143
144         No new tests since this is not readily testable.
145
146         * platform/chromium/PlatformBridge.h:
147         * platform/graphics/chromium/CrossProcessFontLoading.h:
148         * platform/graphics/chromium/CrossProcessFontLoading.mm:
149         (WebCore::MemoryActivatedFont::create):
150         (WebCore::MemoryActivatedFont::MemoryActivatedFont):
151         (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
152
153 2011-08-03  Hayato Ito  <hayato@chromium.org>
154
155         Make EventDispatchMediator RefCounted.
156         https://bugs.webkit.org/show_bug.cgi?id=65529
157
158         Reviewed by Hajime Morita.
159
160         Make EventDispatchMediator RefCounted so that it can be enqueued into a
161         ScopedEventQueue and called later.
162         A necessary change for ScopedEventQueue should be addressed in another patch.
163
164         This is a minor update of r92256, which failed on chromium win builds.
165
166         No changes to functionality so no new tests.
167
168         * dom/Event.cpp:
169         (WebCore::EventDispatchMediator::create):
170         * dom/Event.h:
171         * dom/EventDispatcher.cpp:
172         (WebCore::EventDispatcher::dispatchEvent):
173         * dom/EventDispatcher.h:
174         * dom/KeyboardEvent.cpp:
175         (WebCore::KeyboardEventDispatchMediator::create):
176         * dom/KeyboardEvent.h:
177         * dom/MouseEvent.cpp:
178         (WebCore::MouseEventDispatchMediator::create):
179         * dom/MouseEvent.h:
180         * dom/Node.cpp:
181         (WebCore::Node::dispatchEvent):
182         (WebCore::Node::dispatchKeyEvent):
183         (WebCore::Node::dispatchMouseEvent):
184         (WebCore::Node::dispatchWheelEvent):
185         * dom/WheelEvent.cpp:
186         (WebCore::WheelEventDispatchMediator::create):
187         * dom/WheelEvent.h:
188
189 2011-08-03  Pavel Feldman  <pfeldman@chromium.org>
190
191         Web Inspector: remove Node parameter from the InspectorClient::highlight
192         https://bugs.webkit.org/show_bug.cgi?id=65549
193
194         Reviewed by Yury Semikhatsky.
195
196         * inspector/InspectorClient.h:
197         * inspector/InspectorDOMAgent.cpp:
198         (WebCore::InspectorDOMAgent::highlight):
199         * loader/EmptyClients.h:
200         (WebCore::EmptyInspectorClient::highlight):
201
202 2011-08-03  Antti Koivisto  <antti@apple.com>
203
204         https://bugs.webkit.org/show_bug.cgi?id=65599
205         Image loads should trigger didFirstVisuallyNonEmptyLayout more easily
206
207         Reviewed by Dan Bernstein.
208
209         Tweak the heuristic pixel count so logo-sized images trigger didFirstVisuallyNonEmptyLayout.
210
211         * page/FrameView.h:
212         (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
213
214 2011-08-03  Takashi Toyoshima  <toyoshim@chromium.org>
215
216         WebSocket: Could not handle zero length text frame.
217         https://bugs.webkit.org/show_bug.cgi?id=65592
218
219         Reviewed by Kent Tamura.
220
221         Test: http/tests/websocket/tests/hybi/zero-length-text.html
222
223         * websockets/WebSocketChannel.cpp:
224         (WebCore::WebSocketChannel::processFrame):
225
226 2011-08-02  Pratik Solanki  <psolanki@apple.com>
227
228         Crash in ResourceResponse::platformCompare() with USE(CFNETWORK)
229         https://bugs.webkit.org/show_bug.cgi?id=65584
230
231         Reviewed by David Kilzer.
232
233         * platform/network/cf/ResourceResponseCFNet.cpp:
234         (WebCore::ResourceResponse::platformCompare): Don't call CFEqual with 0 as an argument.
235
236 2011-08-02  Takashi Toyoshima  <toyoshim@chromium.org>
237
238         WebSocket: Should be closed by receiving invalid continuation frame.
239
240         https://bugs.webkit.org/show_bug.cgi?id=65527
241
242         Reviewed by Kent Tamura.
243
244         Test: http/tests/websocket/tests/hybi/invalid-continuation.html
245
246         * websockets/WebSocketChannel.cpp:
247         (WebCore::WebSocketChannel::processFrame):
248
249 2011-08-02  Sheriff Bot  <webkit.review.bot@gmail.com>
250
251         Unreviewed, rolling out r92256.
252         http://trac.webkit.org/changeset/92256
253         https://bugs.webkit.org/show_bug.cgi?id=65593
254
255         Causing tons of crashes on the chromium win bots (Requested by
256         jamesr on #webkit).
257
258         * dom/Event.cpp:
259         * dom/Event.h:
260         * dom/EventDispatcher.cpp:
261         (WebCore::EventDispatcher::dispatchEvent):
262         * dom/EventDispatcher.h:
263         * dom/KeyboardEvent.cpp:
264         * dom/KeyboardEvent.h:
265         * dom/MouseEvent.cpp:
266         * dom/MouseEvent.h:
267         * dom/Node.cpp:
268         (WebCore::Node::dispatchEvent):
269         (WebCore::Node::dispatchKeyEvent):
270         (WebCore::Node::dispatchMouseEvent):
271         (WebCore::Node::dispatchWheelEvent):
272         * dom/WheelEvent.cpp:
273         * dom/WheelEvent.h:
274
275 2011-08-02  Hayato Ito  <hayato@chromium.org>
276
277         Make EventDispatchMediator RefCounted.
278         https://bugs.webkit.org/show_bug.cgi?id=65529
279
280         Reviewed by Dimitri Glazkov.
281
282         Make EventDispatchMediator RefCounted so that it can be enqueued into a
283         ScopedEventQueue and called later.
284         A necessary change for ScopedEventQueue should be addressed in another patch.
285
286         No changes to functionality so no new tests.
287
288         * dom/Event.cpp:
289         (WebCore::EventDispatchMediator::create):
290         * dom/Event.h:
291         * dom/EventDispatcher.cpp:
292         (WebCore::EventDispatcher::dispatchEvent):
293         * dom/EventDispatcher.h:
294         * dom/KeyboardEvent.cpp:
295         (WebCore::KeyboardEventDispatchMediator::create):
296         * dom/KeyboardEvent.h:
297         * dom/MouseEvent.cpp:
298         (WebCore::MouseEventDispatchMediator::create):
299         * dom/MouseEvent.h:
300         * dom/Node.cpp:
301         (WebCore::Node::dispatchEvent):
302         (WebCore::Node::dispatchKeyEvent):
303         (WebCore::Node::dispatchMouseEvent):
304         (WebCore::Node::dispatchWheelEvent):
305         * dom/WheelEvent.cpp:
306         (WebCore::WheelEventDispatchMediator::create):
307         * dom/WheelEvent.h:
308
309 2011-08-02  David Reveman  <reveman@chromium.org>
310
311         [Chromium] Use edge-distance method for layer anti-aliasing.
312         https://bugs.webkit.org/show_bug.cgi?id=64942
313
314         Reviewed by James Robinson.
315
316         Use an edge distance based method instead of the current linear
317         filtering method for producing anti-aliased edges on 3D transformed
318         layers. This removes the outer border handling from TilingData as
319         it's no longer needed for anti-aliasing.
320
321         Tests: platform/chromium/compositing/tiny-layer-rotated.html (existing)
322                platform/chromium/compositing/huge-layer-rotated.html (existing)
323                compositing/images/content-image-change.html (existing)
324                TilingDataTest in webkit_unit_tests
325
326         * platform/graphics/chromium/LayerRendererChromium.cpp:
327         (WebCore::screenMatrix):
328         (WebCore::LayerRendererChromium::drawLayers):
329         (WebCore::LayerRendererChromium::setDrawViewportRect):
330         (WebCore::LayerRendererChromium::tilerProgramAA):
331         (WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
332         * platform/graphics/chromium/LayerRendererChromium.h:
333         (WebCore::LayerRendererChromium::windowMatrix):
334         * platform/graphics/chromium/LayerTilerChromium.cpp:
335         (WebCore::LayerTilerChromium::setTileSize):
336         (WebCore::LayerTilerChromium::tileLayerRect):
337         (WebCore::LayerTilerChromium::invalidateRect):
338         (WebCore::LayerTilerChromium::prepareToUpdate):
339         (WebCore::LayerTilerChromium::updateRect):
340         (WebCore::LayerTilerChromium::draw):
341         (WebCore::LayerTilerChromium::growLayerToContain):
342         (WebCore::LayerTilerChromium::drawTiles):
343         * platform/graphics/chromium/LayerTilerChromium.h:
344         * platform/graphics/chromium/ShaderChromium.cpp:
345         (WebCore::VertexShaderTile::VertexShaderTile):
346         (WebCore::VertexShaderTile::init):
347         (WebCore::VertexShaderTile::getShaderString):
348         (WebCore::FragmentTexAlphaAABinding::FragmentTexAlphaAABinding):
349         (WebCore::FragmentTexAlphaAABinding::init):
350         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
351         (WebCore::FragmentShaderRGBATexSwizzleAlphaAA::getShaderString):
352         * platform/graphics/chromium/ShaderChromium.h:
353         (WebCore::VertexShaderTile::vertexTexTransformLocation):
354         (WebCore::FragmentTexAlphaAABinding::alphaLocation):
355         (WebCore::FragmentTexAlphaAABinding::samplerLocation):
356         (WebCore::FragmentTexAlphaAABinding::fragmentTexTransformLocation):
357         (WebCore::FragmentTexAlphaAABinding::edgeLocation):
358         * platform/graphics/chromium/TiledLayerChromium.cpp:
359         (WebCore::TiledLayerChromium::TiledLayerChromium):
360         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
361         (WebCore::TiledLayerChromium::createTilerIfNeeded):
362         (WebCore::TiledLayerChromium::setIsMask):
363         * platform/graphics/chromium/TiledLayerChromium.h:
364         * platform/graphics/gpu/TilingData.cpp:
365         (WebCore::computeNumTiles):
366         (WebCore::TilingData::tileXIndexFromSrcCoord):
367         (WebCore::TilingData::tileYIndexFromSrcCoord):
368         (WebCore::TilingData::tileSizeX):
369         (WebCore::TilingData::tileSizeY):
370         (WebCore::TilingData::intersectDrawQuad):
371         (WebCore::TilingData::textureOffset):
372         * platform/graphics/gpu/TilingData.h:
373
374 2011-08-01  David Levin  <levin@chromium.org>
375
376         Add asserts to RefCounted to make sure ref/deref happens on the right thread.
377         https://bugs.webkit.org/show_bug.cgi?id=31639
378
379         Reviewed by Dmitry Titov.
380
381         No new functionality exposed so no new tests. (The change is basically adding
382         more testing.)
383
384         * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
385         * loader/icon/IconDatabase.cpp:
386         (WebCore::IconDatabase::defaultIcon): Set the mutex which does the guarding of the variable.
387         (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
388         (WebCore::IconDatabase::getOrCreateIconRecord): Ditto.
389         (WebCore::IconDatabase::readFromDatabase): Ditto.
390
391 2011-08-02  Luke Macpherson   <macpherson@chromium.org>
392
393         Clean up value clampling in CSSStyleSelector and CSSPrimitiveValue.
394         https://bugs.webkit.org/show_bug.cgi?id=65441
395
396         Reviewed by Simon Fraser.
397
398         No new tests / refactoring only.
399
400         * css/CSSPrimitiveValue.h:
401         (WebCore::CSSPrimitiveValue::getFloatValue):
402         Implement in terms of the new templated getValue().
403         (WebCore::CSSPrimitiveValue::getIntValue):
404         Implement in terms of the new templated getValue().
405         (WebCore::CSSPrimitiveValue::getValue):
406         Templated getValue that works for all numeric types.
407
408         * css/CSSStyleSelector.cpp:
409         (WebCore::CSSStyleSelector::applyProperty):
410         Use getValue<short> instead of rolling-your-own clamp to short.
411
412 2011-08-02  Julien Chaffraix  <jchaffraix@webkit.org>
413
414         RenderObject::computeRectForRepaint and clippedOverflowRectForRepaint should be const
415         https://bugs.webkit.org/show_bug.cgi?id=65494
416
417         Reviewed by Darin Adler.
418
419         No new tests, const-ness change only.
420
421         * rendering/RenderObject.h:
422         (WebCore::RenderObject::absoluteClippedOverflowRect):
423         (WebCore::RenderObject::computeAbsoluteRepaintRect):
424         Made those 2 const as they call a const method now.
425
426         * rendering/RenderInline.cpp:
427         (WebCore::RenderInline::clippedOverflowRectForRepaint): Use a const RenderObject* for iterating as
428         this is const.
429
430         * rendering/RenderBlock.cpp:
431         (WebCore::RenderBlock::rectWithOutlineForRepaint):
432         * rendering/RenderBlock.h:
433         * rendering/RenderBox.cpp:
434         (WebCore::RenderBox::clippedOverflowRectForRepaint):
435         (WebCore::RenderBox::computeRectForRepaint):
436         * rendering/RenderBox.h:
437         * rendering/RenderInline.cpp:
438         (WebCore::RenderInline::clippedOverflowRectForRepaint):
439         (WebCore::RenderInline::rectWithOutlineForRepaint):
440         (WebCore::RenderInline::computeRectForRepaint):
441         * rendering/RenderInline.h:
442         * rendering/RenderObject.cpp:
443         (WebCore::RenderObject::rectWithOutlineForRepaint):
444         (WebCore::RenderObject::clippedOverflowRectForRepaint):
445         (WebCore::RenderObject::computeRectForRepaint):
446         * rendering/RenderReplaced.cpp:
447         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
448         * rendering/RenderReplaced.h:
449         * rendering/RenderTableCell.cpp:
450         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
451         (WebCore::RenderTableCell::computeRectForRepaint):
452         * rendering/RenderTableCell.h:
453         * rendering/RenderTableCol.cpp:
454         (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
455         * rendering/RenderTableCol.h:
456         * rendering/RenderTableRow.cpp:
457         (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
458         * rendering/RenderTableRow.h:
459         * rendering/RenderText.cpp:
460         (WebCore::RenderText::clippedOverflowRectForRepaint):
461         * rendering/RenderText.h:
462         * rendering/RenderView.cpp:
463         (WebCore::RenderView::computeRectForRepaint):
464         * rendering/RenderView.h:
465         * rendering/svg/RenderSVGForeignObject.cpp:
466         (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
467         (WebCore::RenderSVGForeignObject::computeRectForRepaint):
468         * rendering/svg/RenderSVGForeignObject.h:
469         * rendering/svg/RenderSVGGradientStop.h:
470         (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
471         * rendering/svg/RenderSVGHiddenContainer.h:
472         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
473         * rendering/svg/RenderSVGInline.cpp:
474         (WebCore::RenderSVGInline::clippedOverflowRectForRepaint):
475         (WebCore::RenderSVGInline::computeRectForRepaint):
476         * rendering/svg/RenderSVGInline.h:
477         * rendering/svg/RenderSVGModelObject.cpp:
478         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
479         (WebCore::RenderSVGModelObject::computeRectForRepaint):
480         * rendering/svg/RenderSVGModelObject.h:
481         * rendering/svg/RenderSVGRoot.cpp:
482         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
483         (WebCore::RenderSVGRoot::computeRectForRepaint):
484         * rendering/svg/RenderSVGRoot.h:
485         * rendering/svg/RenderSVGText.cpp:
486         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
487         (WebCore::RenderSVGText::computeRectForRepaint):
488         * rendering/svg/RenderSVGText.h:
489         * rendering/svg/SVGRenderSupport.cpp:
490         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
491         (WebCore::SVGRenderSupport::computeRectForRepaint):
492         * rendering/svg/SVGRenderSupport.h:
493         Updated the following method's signature to use a const object.
494
495 2011-08-02  Jeffrey Pfau  <jpfau@apple.com>
496
497         Add namespace prefix support in XML tokenizer
498         https://bugs.webkit.org/show_bug.cgi?id=65578
499
500         Reviewed by Adam Barth.
501
502         This also changes markup debug printing to print to stderr instead of stdout
503
504         * xml/parser/MarkupTokenBase.h:
505         (WebCore::MarkupTokenBase::printString):
506         * xml/parser/XMLToken.h:
507         (WebCore::XMLToken::XMLDeclarationData::XMLDeclarationData):
508         (WebCore::XMLToken::clear):
509         (WebCore::XMLToken::appendToName):
510         (WebCore::XMLToken::name):
511         (WebCore::XMLToken::target):
512         (WebCore::XMLToken::data):
513         (WebCore::XMLToken::prefix):
514         (WebCore::XMLToken::xmlDeclarationData):
515         (WebCore::XMLToken::endPrefix):
516         (WebCore::XMLToken::hasPrefix):
517         (WebCore::XMLToken::endAttributePrefix):
518         (WebCore::XMLToken::attributeHasPrefix):
519         (WebCore::XMLToken::printAttrs):
520         (WebCore::XMLToken::print):
521         * xml/parser/XMLTokenizer.cpp:
522         (WebCore::XMLTokenizer::nextToken):
523
524 2011-08-02  Zhenyao Mo  <zmo@google.com>
525
526         Unreviewed, rolling out r92238.
527         http://trac.webkit.org/changeset/92238
528         https://bugs.webkit.org/show_bug.cgi?id=65555
529
530         fail fast/events/scrollbar-double-click.html on Mac
531
532         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
533         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
534         * platform/chromium/ScrollbarThemeChromiumMac.h:
535         * platform/chromium/ScrollbarThemeChromiumMac.mm:
536         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
537         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
538         (WebCore::toScrollbarPainterKnobStyle):
539         (WebCore::ScrollbarThemeChromiumMac::paint):
540
541 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
542
543         Remove LegacyDefaultOptionalArguments flag from History.idl
544         https://bugs.webkit.org/show_bug.cgi?id=65572
545
546         Reviewed by Adam Barth.
547
548         No new tests, all existing tests pass.
549
550         * page/History.idl:
551
552 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
553
554         Remove LegacyDefaultOptionalArguments flag from WebKitAnimationList.idl
555         https://bugs.webkit.org/show_bug.cgi?id=65571
556
557         Reviewed by Adam Barth.
558
559         No new tests, all existing tests pass.
560
561         * page/WebKitAnimationList.idl:
562
563 2011-08-02  James Robinson  <jamesr@chromium.org>
564
565         [chromium] Decouple layer visibility calculations from render surfaces / computed draw transforms
566         https://bugs.webkit.org/show_bug.cgi?id=58840
567
568         Reviewed by Kenneth Russell.
569
570         This decouples the layer visibility related calculations from the LayerChromium and CCLayerImpl trees.  This is
571         done by making LayerRendererChromium's "calculate the world" function (renamed
572         calculateDrawTransformsAndVisibility()) a templated, free function that can operate on either LayerChromium +
573         RenderSurfaceChromium pairs or on CCLayerImpl + CCRenderSurface pairs and invoking it twice, once before
574         painting and once before drawing.  Before painting, these calculations are used to determine which layers are
575         potentially visible and should be painted, which depends on the calculated opacity, render surface bounds, and
576         draw transforms.  Before drawing, these calculations are used to figure out everything needed to draw.
577
578         RenderSurfaceChromium is now used just for visibility calculations when painting.  CCRenderSurfaceChromium is
579         responsible for actually drawing the render surfaces.
580
581         This does mean that in the current implementation the second calculations are redundant, but in the future this
582         won't be the case since the pre-draw time calculations might be influenced by animations or gestures.  I've
583         added some traces to try to monitor if this math is a significant amount of the per-frame computation.  Note
584         that layer sorting only happens on the CCLayerImpl tree and the layer sort algorithm is the most expensive part
585         of the calculations currently.
586
587         This removes all of the weak back/forward pointers between LayerChromium and CCLayerImpls, the trees are now
588         truly decoupled.
589
590         Covered by compositing/ tests.
591
592         * WebCore.gypi:
593         * platform/graphics/chromium/CanvasLayerChromium.cpp:
594         (WebCore::CanvasLayerChromium::createCCLayerImpl):
595         * platform/graphics/chromium/LayerChromium.cpp:
596         (WebCore::LayerChromium::LayerChromium):
597         (WebCore::LayerChromium::~LayerChromium):
598         (WebCore::LayerChromium::createCCLayerImpl):
599         (WebCore::LayerChromium::createRenderSurface):
600         (WebCore::LayerChromium::descendantsDrawsContent):
601         * platform/graphics/chromium/LayerChromium.h:
602         (WebCore::LayerChromium::setUsesLayerScissor):
603         (WebCore::LayerChromium::usesLayerScissor):
604         (WebCore::LayerChromium::clearRenderSurface):
605         (WebCore::LayerChromium::renderSurface):
606         (WebCore::LayerChromium::drawOpacity):
607         (WebCore::LayerChromium::setDrawOpacity):
608         (WebCore::LayerChromium::scissorRect):
609         (WebCore::LayerChromium::setScissorRect):
610         (WebCore::LayerChromium::targetRenderSurface):
611         (WebCore::LayerChromium::setTargetRenderSurface):
612         (WebCore::LayerChromium::drawTransform):
613         (WebCore::LayerChromium::setDrawTransform):
614         (WebCore::LayerChromium::drawableContentRect):
615         (WebCore::LayerChromium::setDrawableContentRect):
616         * platform/graphics/chromium/LayerRendererChromium.cpp:
617         (WebCore::LayerRendererChromium::updateLayers):
618         (WebCore::LayerRendererChromium::drawLayers):
619         (WebCore::LayerRendererChromium::paintLayerContents):
620         (WebCore::LayerRendererChromium::drawLayersInternal):
621         (WebCore::LayerRendererChromium::updateCompositorResources):
622         (WebCore::LayerRendererChromium::setCompositeOffscreen):
623         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
624         (WebCore::LayerRendererChromium::useRenderSurface):
625         (WebCore::LayerRendererChromium::drawLayer):
626         (WebCore::LayerRendererChromium::initializeSharedObjects):
627         (WebCore::LayerRendererChromium::renderSurfaceProgram):
628         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
629         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
630         * platform/graphics/chromium/LayerRendererChromium.h:
631         * platform/graphics/chromium/PluginLayerChromium.cpp:
632         (WebCore::PluginLayerChromium::createCCLayerImpl):
633         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
634         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
635         (WebCore::RenderSurfaceChromium::~RenderSurfaceChromium):
636         * platform/graphics/chromium/RenderSurfaceChromium.h:
637         (WebCore::RenderSurfaceChromium::clearLayerList):
638         (WebCore::RenderSurfaceChromium::layerList):
639         (WebCore::RenderSurfaceChromium::setMaskLayer):
640         * platform/graphics/chromium/TiledLayerChromium.cpp:
641         (WebCore::TiledLayerChromium::createCCLayerImpl):
642         (WebCore::TiledLayerChromium::tilingTransform):
643         * platform/graphics/chromium/TreeSynchronizer.cpp:
644         (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
645         * platform/graphics/chromium/VideoLayerChromium.cpp:
646         (WebCore::VideoLayerChromium::createCCLayerImpl):
647         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
648         (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
649         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
650         (WebCore::CCCanvasLayerImpl::create):
651         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
652         (WebCore::CCLayerImpl::CCLayerImpl):
653         (WebCore::CCLayerImpl::~CCLayerImpl):
654         (WebCore::CCLayerImpl::createRenderSurface):
655         (WebCore::CCLayerImpl::bindContentsTexture):
656         * platform/graphics/chromium/cc/CCLayerImpl.h:
657         (WebCore::CCLayerImpl::create):
658         (WebCore::CCLayerImpl::renderSurface):
659         (WebCore::CCLayerImpl::targetRenderSurface):
660         (WebCore::CCLayerImpl::setTargetRenderSurface):
661         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
662         (WebCore::CCLayerSorter::createGraphNodes):
663         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
664         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
665         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
666         (WebCore::CCPluginLayerImpl::create):
667         * platform/graphics/chromium/cc/CCRenderSurface.cpp: Copied from Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.cpp.
668         (WebCore::CCRenderSurface::CCRenderSurface):
669         (WebCore::CCRenderSurface::~CCRenderSurface):
670         (WebCore::CCRenderSurface::cleanupResources):
671         (WebCore::CCRenderSurface::layerRenderer):
672         (WebCore::CCRenderSurface::drawableContentRect):
673         (WebCore::CCRenderSurface::prepareContentsTexture):
674         (WebCore::CCRenderSurface::releaseContentsTexture):
675         (WebCore::CCRenderSurface::drawSurface):
676         (WebCore::CCRenderSurface::draw):
677         (WebCore::CCRenderSurface::name):
678         (WebCore::writeIndent):
679         (WebCore::CCRenderSurface::dumpSurface):
680         (WebCore::CCRenderSurface::owningLayerId):
681         * platform/graphics/chromium/cc/CCRenderSurface.h: Copied from Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.h.
682         (WebCore::CCRenderSurface::contentRectCenter):
683         (WebCore::CCRenderSurface::drawOpacity):
684         (WebCore::CCRenderSurface::setDrawOpacity):
685         (WebCore::CCRenderSurface::setDrawTransform):
686         (WebCore::CCRenderSurface::drawTransform):
687         (WebCore::CCRenderSurface::setReplicaDrawTransform):
688         (WebCore::CCRenderSurface::replicaDrawTransform):
689         (WebCore::CCRenderSurface::setOriginTransform):
690         (WebCore::CCRenderSurface::originTransform):
691         (WebCore::CCRenderSurface::setScissorRect):
692         (WebCore::CCRenderSurface::scissorRect):
693         (WebCore::CCRenderSurface::setContentRect):
694         (WebCore::CCRenderSurface::contentRect):
695         (WebCore::CCRenderSurface::setSkipsDraw):
696         (WebCore::CCRenderSurface::skipsDraw):
697         (WebCore::CCRenderSurface::clearLayerList):
698         (WebCore::CCRenderSurface::layerList):
699         (WebCore::CCRenderSurface::setMaskLayer):
700         (WebCore::CCRenderSurface::contentsTexture):
701         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
702         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
703         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
704         (WebCore::CCTiledLayerImpl::create):
705         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
706         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
707         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
708         (WebCore::CCVideoLayerImpl::create):
709
710 2011-08-02  Luke Macpherson   <macpherson@chromium.org>
711
712         Implement CSSPropertyWebkitTextCombine, CSSPropertyWebkitTextEmphasisPosition and CSSPropertyWebkitTextEmphasisStyle in CSSStyleApplyProperty.
713         https://bugs.webkit.org/show_bug.cgi?id=65517
714
715         Reviewed by Dimitri Glazkov.
716
717         No new tests. Just refactoring and moving code around.
718
719         * css/CSSStyleApplyProperty.cpp:
720         Added class ApplyPropertyTextEmphasisStyle to handle the special TextEmphasisStyle logic.
721         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
722         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
723         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
724         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
725         Added initializations for CSSPropertyWebkitTextCombine, CSSPropertyWebkitTextEmphasisPosition, CSSPropertyWebkitTextEmphasisStyle.
726         * css/CSSStyleSelector.cpp:
727         (WebCore::CSSStyleSelector::applyProperty):
728         Remove existing implementations.
729
730 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
731
732         Remove LegacyDefaultOptionalArguments flag from SpeechInputResultList.idl
733         https://bugs.webkit.org/show_bug.cgi?id=65570
734
735         Reviewed by Adam Barth.
736
737         No new tests, all existing tests pass
738
739         * page/SpeechInputResultList.idl:
740
741 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
742
743         Remove LegacyDefaultOptionalArguments flag from EventSource.idl
744         https://bugs.webkit.org/show_bug.cgi?id=65568
745
746         Reviewed by Adam Barth.
747
748         No new tests, all existing tests pass.
749
750         * page/EventSource.idl:
751
752 2011-08-02  Gavin Peters  <gavinp@chromium.org>
753
754         fail earlier to track down null CachedScript execution
755         https://bugs.webkit.org/show_bug.cgi?id=65563
756
757         Over in http://code.google.com/p/chromium/issues/detail?id=75604 I can't reproduce the problem.  Careful reading of the code hasn't led me
758         to an obvious cause either.  This patch should cause failure earlier, and lead to better stacks.  I'll watch Chrome Canary's crash
759         uploads carefully, and remove this CRASH() (and fix the underlying problem) once I understand it.
760
761         Reviewed by Alexey Proskuryakov.
762
763         No new tests, as my goal here is to get telemetry on a bug that I cannot reproduce.
764
765         * dom/ScriptRunner.cpp:
766         (WebCore::ScriptRunner::queueScriptForExecution):
767
768 2011-08-02  Sailesh Agrawal  <sail@chromium.org>
769
770         Chromium: Update forked ScrollbarThemeChromiumMac.mm
771         https://bugs.webkit.org/show_bug.cgi?id=65555
772
773         Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.
774
775         Reviewed by James Robinson.
776
777         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
778         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
779         (wkScrollbarPainterSetEnabled):
780         * platform/chromium/ScrollbarThemeChromiumMac.h:
781         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
782         * platform/chromium/ScrollbarThemeChromiumMac.mm:
783         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
784         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
785         (WebCore::toScrollbarPainterKnobStyle):
786         (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
787         (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
788         (WebCore::ScrollbarThemeChromiumMac::paint):
789
790 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
791
792         Remove LegacyDefaultOptionalArguments flag from SVG IDL files
793         https://bugs.webkit.org/show_bug.cgi?id=65337
794
795         Reviewed by Nikolas Zimmermann.
796
797         No new tests, all existing tests pass.
798
799         * svg/ElementTimeControl.idl:
800         * svg/SVGAnimationElement.idl:
801         * svg/SVGDocument.idl:
802         * svg/SVGElementInstance.idl:
803         * svg/SVGElementInstanceList.idl:
804         * svg/SVGException.idl:
805         * svg/SVGFEDropShadowElement.idl:
806         * svg/SVGFEGaussianBlurElement.idl:
807         * svg/SVGFEMorphologyElement.idl:
808         * svg/SVGFilterElement.idl:
809         * svg/SVGLocatable.idl:
810         * svg/SVGMarkerElement.idl:
811         * svg/SVGPathElement.idl:
812         * svg/SVGSVGElement.idl:
813         * svg/SVGStylable.idl:
814         * svg/SVGStyleElement.idl:
815         * svg/SVGTests.idl:
816         * svg/SVGTextContentElement.idl:
817
818 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
819
820         Remove LegacyDefaultOptionalArguments flag from CSS IDL files
821         https://bugs.webkit.org/show_bug.cgi?id=65341
822
823         Reviewed by Adam Barth.
824
825         No new tests. All existing tests pass.
826
827         * css/CSSMediaRule.idl:
828         * css/CSSPrimitiveValue.idl:
829         * css/CSSRuleList.idl:
830         * css/CSSStyleDeclaration.idl:
831         * css/CSSStyleSheet.idl:
832         * css/CSSValueList.idl:
833         * css/MediaList.idl:
834         * css/MediaQueryList.idl:
835         * css/MediaQueryListListener.idl:
836         * css/StyleMedia.idl:
837         * css/StyleSheetList.idl:
838         * css/WebKitCSSKeyframesRule.idl:
839         * css/WebKitCSSMatrix.idl:
840
841 2011-08-02  Robert Kroeger  <rjkroege@chromium.org>
842
843         [chromium] Layering violations in gesture recognizer
844         https://bugs.webkit.org/show_bug.cgi?id=65044
845
846         Reviewed by Adam Barth.
847
848         Divided the gesture recognizer up to correct a layering
849         violation by moving gesture implementation from it to
850         EventHandler::handleGestureEvent so that the gesture recognizer
851         could simply be an engine for generating gesture events from
852         touch events.
853
854         * dom/WheelEvent.cpp:
855         (WebCore::WheelEvent::WheelEvent):
856         (WebCore::WheelEvent::initWheelEvent):
857         * dom/WheelEvent.h:
858         Added symbolic contstant for tick multiplier.
859         * page/EventHandler.cpp:
860         (WebCore::EventHandler::EventHandler):
861         Removed construction of gesture recognizer.
862         (WebCore::EventHandler::handleGestureEvent):
863         Extended for new gesture events added in this patch.
864         (WebCore::EventHandler::handleTouchEvent):
865         Removed call into gesture recognizer.
866         * page/EventHandler.h:
867         * page/FrameView.cpp:
868         (WebCore::FrameView::reset):
869         Removed code to reset gesture recognizer.
870         * platform/PlatformGestureEvent.h:
871         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
872         (WebCore::PlatformGestureEvent::deltaX):
873         (WebCore::PlatformGestureEvent::deltaY):
874         (WebCore::PlatformGestureEvent::shiftKey):
875         (WebCore::PlatformGestureEvent::ctrlKey):
876         (WebCore::PlatformGestureEvent::altKey):
877         (WebCore::PlatformGestureEvent::metaKey):
878         Added additional gesture types and parameters.
879         * platform/PlatformGestureRecognizer.h:
880         * platform/chromium/FramelessScrollView.h:
881         Added support for displatching gesture and touch events.
882         * platform/chromium/GestureRecognizerChromium.cpp:
883         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
884         (WebCore::InnerGestureRecognizer::reset):
885         (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
886         (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
887         Removed all depedencies on EventHandler. Instead, create gesture
888         events from touch event stream.
889         (WebCore::InnerGestureRecognizer::constructScrollGesture):
890         (WebCore::touchDown):
891         (WebCore::noGesture):
892         (WebCore::click):
893         (WebCore::isClickOrScroll):
894         (WebCore::inScroll):
895         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
896         (WebCore::GestureRecognizerChromium::reset):
897         * platform/chromium/GestureRecognizerChromium.h:
898         * platform/chromium/PopupMenuChromium.cpp:
899         Added support to handle touch events and gesture events.
900         (WebCore::PopupContainer::handleTouchEvent):
901         (WebCore::PopupContainer::handleGestureEvent):
902         (WebCore::PopupListBox::handleTouchEvent):
903         (WebCore::PopupListBox::handleGestureEvent):
904         * platform/chromium/PopupMenuChromium.h:
905         * platform/mac/ScrollAnimatorMac.mm:
906         (WebCore::ScrollAnimatorMac::handleGestureEvent):
907         Ignores the newly added gesture event types.
908
909 2011-08-01  Michael Saboff  <msaboff@apple.com>
910
911         Virtual copying of FastMalloc allocated memory causes madvise MADV_FREE_REUSABLE errors
912         https://bugs.webkit.org/show_bug.cgi?id=65502
913
914         Reviewed by Anders Carlsson.
915
916         Change the vm_copy in PurgeableBuffer::create to be a memcpy.  The
917         vm_copy causes the process to have additional references to the same
918         memory region.  These additional reference caused madvise(MADV_FREE_REUSABLE)
919         to fail when it encountered such pages.
920
921         No tests added this is a resource defect and not a functional issue.
922
923         * platform/mac/PurgeableBufferMac.cpp:
924         (WebCore::PurgeableBuffer::create):
925
926 2011-08-02  Stephen White  <senorblanco@chromium.org>
927
928         [Chromium] Remove an unnecessary readback during accelerated 
929         canvas-to-canvas draws.
930         https://bugs.webkit.org/show_bug.cgi?id=65560
931
932         Reviewed by James Robinson.
933
934         No new tests.  (Printing has few tests, sadly.)
935
936         * platform/graphics/skia/ImageBufferSkia.cpp:
937         (WebCore::ImageBuffer::draw):
938         Revert most of the changes to this file from
939         http://trac.webkit.org/changeset/91870, except for the call which makes
940         the source context current, so that the readPixels() still works.
941
942
943 2011-08-02  Filip Pizlo  <fpizlo@apple.com>
944
945         JSC GC is far too conservative about growing the heap size, particularly
946         on desktop platforms
947         https://bugs.webkit.org/show_bug.cgi?id=65438
948
949         Reviewed by Oliver Hunt.
950
951         No change in behavior, thus no new tests.
952         
953         Pass the LargeHeap hint to JSGlobalData when creating the JSC runtime
954         instance corresponding to non-worker JS code.
955
956         * bindings/js/JSDOMWindowBase.cpp:
957         (WebCore::JSDOMWindowBase::commonJSGlobalData):
958
959 2011-08-02  Van Lam  <vanlam@google.com>
960
961         --webkit-visual-word: ctrl-arrow is not able to reach the boundary of line
962         https://bugs.webkit.org/show_bug.cgi?id=61346
963
964         Reviewed by Ryosuke Niwa.
965
966         When collecintg word boundaries in a box, explicitly check if the box
967         is at the end of line (so it should contain the end-of-line position)
968         and collect the end-of-line position.
969
970         * editing/visible_units.cpp:
971         (WebCore::isBoxVisuallyLastInLine):
972         (WebCore::appendPositionAtLogicalEndOfLine):
973         (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
974         (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
975
976 2011-08-02  Vsevolod Vlasov  <vsevik@chromium.org>
977
978         Web Inspector: Should save scroll positions for network panel Response and Preview tabs.
979         https://bugs.webkit.org/show_bug.cgi?id=65557
980
981         Reviewed by Pavel Feldman.
982
983         * inspector/front-end/NetworkItemView.js:
984         (WebInspector.ResourceContentView.prototype.get innerView):
985         (WebInspector.ResourceContentView.prototype.set innerView):
986         (WebInspector.ResourceContentView.prototype.hide):
987         * inspector/front-end/ResourcePreviewView.js:
988         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
989         * inspector/front-end/ResourceResponseView.js:
990         (WebInspector.ResourceResponseView.prototype.contentLoaded):
991
992 2011-08-02  Vsevolod Vlasov  <vsevik@chromium.org>
993
994         Web Inspector: Remove initator column for JSC, fix network resource initiator tests.
995         https://bugs.webkit.org/show_bug.cgi?id=65534
996
997         Reviewed by Pavel Feldman.
998
999         * inspector/front-end/NetworkPanel.js:
1000         (WebInspector.NetworkLogView.prototype._createTable):
1001         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
1002         (WebInspector.NetworkLogView.prototype.switchToBriefView):
1003         (WebInspector.NetworkLogView.prototype._toggleGridMode):
1004         (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
1005         (WebInspector.NetworkDataGridNode.prototype.createCells):
1006         (WebInspector.NetworkDataGridNode.prototype.refreshResource):
1007         * inspector/front-end/Settings.js:
1008
1009 2011-08-02  Vsevolod Vlasov  <vsevik@chromium.org>
1010
1011         Web Inspector: SourceFrame should store saved scroll positions in View.
1012         https://bugs.webkit.org/show_bug.cgi?id=65472
1013
1014         Reviewed by Pavel Feldman.
1015
1016         * inspector/front-end/ResourcesPanel.js:
1017         (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
1018         * inspector/front-end/ScriptsPanel.js:
1019         (WebInspector.ScriptsPanel.prototype._sourceFileChanged):
1020         * inspector/front-end/SourceFrame.js:
1021         (WebInspector.SourceFrame.prototype.show):
1022         (WebInspector.SourceFrame.prototype.hide):
1023         (WebInspector.SourceFrame.prototype.get scrollLeft):
1024         (WebInspector.SourceFrame.prototype.set scrollLeft):
1025         (WebInspector.SourceFrame.prototype.get scrollTop):
1026         (WebInspector.SourceFrame.prototype.set scrollTop):
1027         * inspector/front-end/View.js:
1028         (WebInspector.View.prototype._innerShow):
1029         (WebInspector.View.prototype._innerHide):
1030         (WebInspector.View.prototype.detach):
1031         (WebInspector.View.prototype.storeScrollPositions):
1032         (WebInspector.View.prototype.inheritScrollPositionsFromView):
1033         (WebInspector.View.prototype.restoreScrollPositions):
1034
1035 2011-08-02  Jeff Miller  <jeffm@apple.com>
1036
1037         Move WTF_USE_AVFOUNDATION from JavaScriptCore/wtf/platform.h to WebCore/config.h
1038         https://bugs.webkit.org/show_bug.cgi?id=65552
1039         
1040         Since this is a WebCore feature, there's no need to define it in JavaScriptCore/wtf/platform.h.
1041
1042         Reviewed by Adam Roben.
1043
1044         No change in functionality, so new tests.
1045
1046         * config.h: Added WTF_USE_AVFOUNDATION.
1047
1048 2011-08-02  Alexandru Chiculita  <achicu@adobe.com>
1049
1050         Split RenderBlock::layoutRunsAndFloats into multiple methods
1051         https://bugs.webkit.org/show_bug.cgi?id=65376
1052
1053         Extracted layoutRunsAndFloatsInRange, linkToEndLineIfNeeded and repaintDirtyFloats methods and moved
1054         most of the locals to LineLayoutState.
1055
1056         Reviewed by David Hyatt.
1057
1058         No new tests needed because it is just refactoring existing code.
1059
1060         * rendering/RenderBlock.h:
1061         * rendering/RenderBlockLineLayout.cpp:
1062         (WebCore::LineLayoutState::LineLayoutState):
1063         (WebCore::LineLayoutState::endLineMatched):
1064         (WebCore::LineLayoutState::setEndLineMatched):
1065         (WebCore::LineLayoutState::checkForFloatsFromLastLine):
1066         (WebCore::LineLayoutState::setCheckForFloatsFromLastLine):
1067         (WebCore::LineLayoutState::lineInfo):
1068         (WebCore::LineLayoutState::endLineLogicalTop):
1069         (WebCore::LineLayoutState::setEndLineLogicalTop):
1070         (WebCore::LineLayoutState::endLine):
1071         (WebCore::LineLayoutState::setEndLine):
1072         (WebCore::LineLayoutState::lastFloat):
1073         (WebCore::LineLayoutState::setLastFloat):
1074         (WebCore::LineLayoutState::floats):
1075         (WebCore::LineLayoutState::floatIndex):
1076         (WebCore::LineLayoutState::setFloatIndex):
1077         (WebCore::RenderBlock::layoutRunsAndFloats):
1078         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1079         (WebCore::RenderBlock::linkToEndLineIfNeeded):
1080         (WebCore::RenderBlock::repaintDirtyFloats):
1081         (WebCore::RenderBlock::layoutInlineChildren):
1082         (WebCore::RenderBlock::determineStartPosition):
1083         (WebCore::RenderBlock::determineEndPosition):
1084         (WebCore::RenderBlock::matchedEndLine):
1085
1086 2011-08-02  Nat Duca  <nduca@chromium.org>
1087
1088         [chromium] Remove resizeOnscreenContent from LRC. It can be derived.
1089         https://bugs.webkit.org/show_bug.cgi?id=65519
1090
1091         Reviewed by James Robinson.
1092
1093         * platform/graphics/chromium/LayerRendererChromium.cpp:
1094         (WebCore::LayerRendererChromium::setViewport):
1095         * platform/graphics/chromium/LayerRendererChromium.h:
1096
1097 2011-08-02  Nico Weber  <thakis@chromium.org>
1098
1099         [chromium] Fix unresolved symbols error when linking to libwebkit.dylib
1100         https://bugs.webkit.org/show_bug.cgi?id=65498
1101
1102         Reviewed by Dimitri Glazkov.
1103
1104         * WebCore.gyp/mac/adjust_visibility.sh:
1105
1106 2011-08-02  Mihnea Ovidenie  <mihnea@adobe.com>
1107
1108         hover then un-hover makes state change
1109         https://bugs.webkit.org/show_bug.cgi?id=56401
1110
1111         Reviewed by David Hyatt.
1112
1113         When a 'before' pseudo-element is re-added, we should check whether the insertion point is an anonymous
1114         block with inline children. If it is, then we should change the insertion point to the first child of the
1115         anonymous block, otherwise the 'before' pseudo-element ends up in a different block. We choose the insertion
1116         point to be the first child only if the anonymous block has children, otherwise the before element ends up
1117         in a wrong block.
1118
1119         Tests: fast/dynamic/hover-before-position-after-style-change.html
1120                fast/dynamic/hover-before-position-after-style-change2.html
1121
1122         * rendering/RenderObjectChildList.cpp:
1123         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1124
1125 2011-08-02  Andreas Kling  <kling@webkit.org>
1126
1127         [Qt] Simplify Path::translate() implementation.
1128         https://bugs.webkit.org/show_bug.cgi?id=65540
1129
1130         Reviewed by Benjamin Poulain.
1131
1132         * platform/graphics/qt/PathQt.cpp:
1133         (WebCore::Path::translate):
1134
1135 2011-07-30  Pavel Podivilov  <podivilov@chromium.org>
1136
1137         Web Inspector: merge FormattedSourceFile into SourceFile.
1138         https://bugs.webkit.org/show_bug.cgi?id=65411
1139
1140         Reviewed by Pavel Feldman.
1141
1142         Prepare for splitting SourceFile into RawSourceCode and UISourceCode:
1143          * merge FormattedSourceFile into SourceFile
1144          * rename SourceFile to RawSourceCode
1145          * hide formatter worker lazy creation in ScriptFormatter
1146
1147         * inspector/front-end/DebuggerPresentationModel.js:
1148         (WebInspector.DebuggerPresentationModel):
1149         (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation):
1150         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
1151         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1152         * inspector/front-end/ScriptFormatter.js:
1153         (WebInspector.ScriptFormatter):
1154         (WebInspector.ScriptFormatter.prototype._didFormatContent):
1155         (WebInspector.ScriptFormatter.prototype.get _worker):
1156         * inspector/front-end/SourceFile.js:
1157         (WebInspector.RawSourceCode):
1158         (WebInspector.RawSourceCode.prototype.setFormatted):
1159         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.didRequestContent):
1160         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
1161         (WebInspector.RawSourceCode.prototype._didRequestContent.didFormatContent):
1162         (WebInspector.RawSourceCode.prototype._didRequestContent):
1163         (WebInspector.RawSourceCode.prototype._invokeRequestContentCallbacks):
1164
1165 2011-08-02  Mihnea Ovidenie  <mihnea@adobe.com>
1166
1167         [CSSRegions]Fix build after changeset 92106
1168         https://bugs.webkit.org/show_bug.cgi?id=65539
1169
1170         Reviewed by Adam Roben.
1171
1172         No new tests since it is just a build fix.
1173
1174         * css/CSSStyleSelector.cpp:
1175         (WebCore::CSSStyleSelector::applyProperty):
1176
1177 2011-08-01  Vsevolod Vlasov  <vsevik@chromium.org>
1178
1179         Web Inspector: [REGRESSION] Console evaluations leading to resource loading cause errors.
1180         https://bugs.webkit.org/show_bug.cgi?id=65466
1181
1182         Reviewed by Pavel Feldman.
1183
1184         Test: http/tests/inspector/network/network-initiator-from-console.html
1185
1186         * inspector/front-end/NetworkPanel.js:
1187         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
1188
1189 2011-08-02  Alexander Pavlov  <apavlov@chromium.org>
1190
1191         Web Inspector: img[width=90] or align attributes shouldnt be shown above element.style block (as they have lower specificity)
1192         https://bugs.webkit.org/show_bug.cgi?id=65514
1193
1194         Reviewed by Pavel Feldman.
1195
1196         * inspector/front-end/StylesSidebarPane.js:
1197
1198 2011-08-02  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1199
1200         [EFL] Add fullscreen button to media control UI.
1201         https://bugs.webkit.org/show_bug.cgi?id=64428
1202
1203         Implement paintMediaFullscreenButton and emit fullscreen signal.
1204
1205         Reviewed by Antonio Gomes.
1206
1207         * platform/efl/RenderThemeEfl.cpp:
1208         (WebCore::RenderThemeEfl::edjeGroupFromFormType):
1209         (WebCore::RenderThemeEfl::emitMediaButtonSignal):
1210         (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
1211         * platform/efl/RenderThemeEfl.h:
1212
1213 2011-08-01  Andrey Kosyakov  <caseq@chromium.org>
1214
1215         Web Inspector: [Extensions API] webInspector.inspectedPage.reload() is broken
1216         https://bugs.webkit.org/show_bug.cgi?id=65476
1217
1218         - fixed webInspector.inspectedWindow.reload(), brought tests back.
1219         - removed redundant setting of user agent in FrameLoader::loadResourceSynchronously()
1220
1221         Reviewed by Yury Semikhatsky.
1222
1223         Test: http/tests/inspector/extensions-useragent.html
1224
1225         * inspector/front-end/ExtensionServer.js:
1226         (WebInspector.ExtensionServer.prototype._onReload):
1227         * loader/FrameLoader.cpp:
1228         (WebCore::FrameLoader::loadResourceSynchronously):
1229
1230 2011-08-02  Pavel Feldman  <pfeldman@chromium.org>
1231
1232         Not reviewed: fixing inspector tests.
1233
1234         * inspector/front-end/ScriptsPanel.js:
1235         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
1236
1237 2011-08-02  Pavel Feldman  <pfeldman@google.com>
1238
1239         Not reviewed: one line inspector style change.
1240
1241         * inspector/front-end/networkLogView.css:
1242         (.network-error-row, .network-error-row .network-cell-subtitle):
1243
1244 2011-08-02  Amruth Raj  <amruthraj@motorola.com>
1245
1246         Custom cursors cause the WebProcess to crash
1247         https://bugs.webkit.org/show_bug.cgi?id=64802
1248
1249         Reviewed by Martin Robinson.
1250
1251         * WebCore.exp.in:
1252
1253 2011-08-02  Pavel Feldman  <pfeldman@google.com>
1254
1255         Web Inspector: _normalizeEventTypes (via console's monitorEvents) doesnt handle all events like 'search' and other atypical ones.
1256         https://bugs.webkit.org/show_bug.cgi?id=65468
1257
1258         Reviewed by Yury Semikhatsky.
1259
1260         * inspector/InjectedScriptSource.js:
1261
1262 2011-08-02  Pavel Feldman  <pfeldman@google.com>
1263
1264         Web Inspector: 404/errors should get a RED visual treatment so easier to identify.
1265         https://bugs.webkit.org/show_bug.cgi?id=65471
1266
1267         Reviewed by Yury Semikhatsky.
1268
1269         * inspector/front-end/NetworkPanel.js:
1270         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
1271         * inspector/front-end/networkLogView.css:
1272         (.network-error-cell):
1273
1274 2011-08-02  Pavel Feldman  <pfeldman@google.com>
1275
1276         Web Inspector: arrow is a pain to click in console. Drive-by selection reset fix.
1277         https://bugs.webkit.org/show_bug.cgi?id=65467
1278
1279         Reviewed by Yury Semikhatsky.
1280
1281         * inspector/front-end/ConsoleView.js:
1282         (WebInspector.ConsoleView.prototype._messagesClicked):
1283         * inspector/front-end/ObjectPropertiesSection.js:
1284         (WebInspector.ObjectPropertyTreeElement):
1285         * inspector/front-end/inspector.css:
1286         (.properties-tree li):
1287         (.properties-tree li.parent::before):
1288         * inspector/front-end/treeoutline.js:
1289         (TreeElement.treeElementToggled):
1290
1291 2011-08-01  Pavel Feldman  <pfeldman@google.com>
1292
1293         Web Inspector: button + "New style rule"
1294         https://bugs.webkit.org/show_bug.cgi?id=65409
1295
1296         Reviewed by Yury Semikhatsky.
1297
1298         Test: inspector/styles/styles-add-new-rule.html
1299
1300         * inspector/front-end/StylesSidebarPane.js:
1301         (WebInspector.StylesSidebarPane):
1302         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
1303
1304 2011-08-01  Luke Macpherson   <macpherson@chromium.org>
1305
1306         Don't set m_fontDirty when setting zoom unless zoom has actually changed
1307         https://bugs.webkit.org/show_bug.cgi?id=65092
1308
1309         Reviewed by Darin Adler.
1310
1311         No new tests as no functionality changed - this is an optimization that
1312         should be logically equivalent to the current code.
1313
1314         The intent here is to avoid setting m_fontDirty unless the fornt information is actually dirty.
1315
1316         * css/CSSStyleSelector.cpp:
1317         (WebCore::CSSStyleSelector::styleForDocument):
1318         (WebCore::CSSStyleSelector::applyProperty):
1319         Use setZoom and setEffectiveZoom wrapper functions.
1320         * css/CSSStyleSelector.h:
1321         (WebCore::CSSStyleSelector::setZoom):
1322         Wrapper for m_style->setZoom() that automatically updates m_fontDirty.
1323         (WebCore::CSSStyleSelector::setEffectiveZoom):
1324         Wrapper for m_style->setEffectiveZoom that automatically updates m_fontDirty.
1325         * page/animation/AnimationBase.cpp:
1326         (WebCore::AnimationBase::ensurePropertyMap):
1327         Use 
1328         * rendering/style/RenderStyle.h:
1329         (WebCore::InheritedFlags::setZoom):
1330         Return true only if underlying values change.
1331         (WebCore::InheritedFlags::setZoomWithoutReturnValue):
1332         Return void to match function pointer type where required.
1333         (WebCore::InheritedFlags::setEffectiveZoom):
1334         Return true only if underlying values change.
1335
1336 2011-08-01  Jean-luc Brouillet  <jeanluc@chromium.org>
1337
1338         Removing old source files in gyp files that slow build
1339         https://bugs.webkit.org/show_bug.cgi?id=65503
1340
1341         Reviewed by Adam Barth.
1342
1343         A number of stale files are listed in the gyp files. These slow the
1344         build on Visual Studio 2010. Removing them.
1345
1346         * WebCore.gypi:
1347
1348 2011-08-01  Bradley Nelson  <bradnelson@chromium.org>
1349
1350         Shard webcore_remaining for msvs official builds
1351
1352         https://bugs.webkit.org/show_bug.cgi?id=65475
1353
1354         Reviewed by Darin Fisher.
1355
1356         webcore_remaining has consistently exceeded Visual Studio 2008's
1357         capacity to link when link time code generation is turned on (full
1358         release builds).  This has been dealt with the past by carving off
1359         larger and larger pieces of webcore_remaining (ie webcore_html,
1360         webcore_renderer etc).
1361         A new option has been added to gyp to automate this sharding:
1362         'msvs_shard': SHARD_COUNT,
1363         Targets marked in this way will be built in several pieces
1364         (target_0, target_1...).
1365         Since the resulting project is less comprehensible in the IDE (and
1366         since the linking limitation only afflicts official builds), this
1367         option is only needed for those builds.
1368         This patch shards webcore_remaining into 10 parts for official builds.
1369
1370         * WebCore.gyp/WebCore.gyp:
1371
1372 2011-08-01  Alice Boxhall  <aboxhall@chromium.org>
1373
1374         WAI-ARIA textbox role should be AXTextArea for aria-multiline=true, AXTextField for aria-multiline=false
1375         https://bugs.webkit.org/show_bug.cgi?id=65451
1376
1377         Reviewed by Chris Fleizach.
1378
1379         * accessibility/AccessibilityRenderObject.cpp:
1380         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
1381
1382 2011-08-01  srikumar bonda  <srikumar.b@gmail.com>
1383
1384         Use threadsafeCopy() API when using Database Directory path variable 
1385         https://bugs.webkit.org/show_bug.cgi?id=65436
1386
1387         Reviewed by David Levin.
1388
1389         Use threadsafeCopy() API while using m_databaseDirectoryPath string variable
1390         when the databaseGuard lock hasn't been taken in DatabaseTracker class. 
1391         This is just a safety fix.
1392
1393         No changes to functionality so no new tests.
1394
1395         * storage/DatabaseTracker.cpp:
1396         (WebCore::DatabaseTracker::trackerDatabasePath):
1397         (WebCore::DatabaseTracker::deleteOrigin):
1398
1399 2011-08-01  Michael Nordman  <michaeln@google.com>
1400
1401         [Chromium] WebSQLDatabase version handling is broken in multi-process browsers.
1402         https://bugs.webkit.org/show_bug.cgi?id=65486
1403
1404         The WebCore::AbstractDatabase class maintains a global in-memory map of
1405         the version numbers associated with open database files, but that map is
1406         not reliable in a multi-process system like Chrome. So instead of relying
1407         on the cached values in that map, we read the value from the database (and
1408         update the cached value) where possible. There are two edge cases where that's
1409         not possible because the scriptable interface requires synchronous access
1410         to the version: the .version attribute getter and the .openDatabase() method.
1411         In those cases, we have no choice but to use the potentially stale cached value.
1412
1413         Reviewed by Darin Fisher.
1414
1415         No new tests. Existing layout tests cover the version handling functionality.
1416
1417         * storage/AbstractDatabase.cpp:
1418         (WebCore::AbstractDatabase::version):
1419         (WebCore::AbstractDatabase::performOpenAndVerify):
1420         (WebCore::AbstractDatabase::getVersionFromDatabase):
1421         (WebCore::AbstractDatabase::setVersionInDatabase):
1422         (WebCore::AbstractDatabase::setExpectedVersion):
1423         (WebCore::AbstractDatabase::getCachedVersion):
1424         (WebCore::AbstractDatabase::setCachedVersion):
1425         (WebCore::AbstractDatabase::getActualVersionForTransaction):
1426         * storage/AbstractDatabase.h:
1427         (WebCore::AbstractDatabase::expectedVersion):
1428         * storage/ChangeVersionWrapper.cpp:
1429         (WebCore::ChangeVersionWrapper::handleCommitFailedAfterPostflight):
1430         * storage/ChangeVersionWrapper.h:
1431         * storage/Database.cpp:
1432         (WebCore::Database::openDatabase):
1433         * storage/DatabaseSync.cpp:
1434         (WebCore::DatabaseSync::openDatabaseSync):
1435         (WebCore::DatabaseSync::changeVersion):
1436         * storage/SQLTransaction.cpp:
1437         (WebCore::SQLTransaction::SQLTransaction):
1438         (WebCore::SQLTransaction::executeSQL):
1439         (WebCore::SQLTransaction::openTransactionAndPreflight):
1440         (WebCore::SQLTransaction::runCurrentStatement):
1441         (WebCore::SQLTransaction::postflightAndCommit):
1442         * storage/SQLTransaction.h:
1443         * storage/SQLTransactionSync.cpp:
1444         (WebCore::SQLTransactionSync::SQLTransactionSync):
1445         (WebCore::SQLTransactionSync::executeSQL):
1446         (WebCore::SQLTransactionSync::begin):
1447         * storage/SQLTransactionSync.h:
1448
1449 2011-08-01  Tim Horton  <timothy_horton@apple.com>
1450
1451         Severe shadow repaint issues with SVGText elements
1452         https://bugs.webkit.org/show_bug.cgi?id=63648
1453         <rdar://problem/7632269>
1454
1455         Reviewed by Darin Adler.
1456
1457         Make SVG elements which inherit from RenderSVGBlock take text-shadow
1458         overflow into account when determining whether or not they should draw
1459
1460         Test: svg/custom/repaint-shadow.svg
1461
1462         * rendering/RenderBox.h:
1463         (WebCore::RenderBox::visualOverflowRect):
1464         * rendering/svg/RenderSVGBlock.cpp:
1465         (WebCore::RenderSVGBlock::visualOverflowRect):
1466         * rendering/svg/RenderSVGBlock.h:
1467
1468 2011-08-01  Zhenyao Mo  <zmo@google.com>
1469
1470         Unreviewed, rolling out r92022.
1471         http://trac.webkit.org/changeset/92022
1472         https://bugs.webkit.org/show_bug.cgi?id=65203
1473
1474         try to see if this is causing a bunch of browser tests failues
1475         on win bots - will recommit if not
1476
1477         * platform/graphics/chromium/FontChromiumWin.cpp:
1478         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
1479         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
1480         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
1481         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
1482         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
1483         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
1484         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
1485         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
1486         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
1487         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
1488         (WebCore::drawGlyphsWin):
1489         (WebCore::Font::drawComplexText):
1490         * platform/graphics/chromium/UniscribeHelper.cpp:
1491         (WebCore::UniscribeHelper::draw):
1492         * platform/graphics/skia/PlatformContextSkia.cpp:
1493         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
1494         * platform/graphics/skia/PlatformContextSkia.h:
1495         * platform/graphics/skia/SkiaFontWin.cpp:
1496         (WebCore::windowsCanHandleDrawTextShadow):
1497         (WebCore::windowsCanHandleTextDrawing):
1498         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
1499         * platform/graphics/skia/SkiaFontWin.h:
1500
1501 2011-08-01  Scott Graham  <scottmg@chromium.org>
1502
1503         REGRESSION (r39725?): Resources removed from document can not be freed
1504         until the document is deleted
1505         https://bugs.webkit.org/show_bug.cgi?id=61006
1506
1507         Reviewed by Antti Koivisto.
1508
1509         Upon completing a load start a Timer to iterate through
1510         CachedResourceLoader's m_documentResources map to check for any items
1511         that have only one reference (thus being the reference in the map
1512         itself). The map should really be weak, but because the
1513         CachedResourceHandle achieves bookkeeping work in addition to
1514         reference counting, this is a simpler and more localized way to free
1515         the used memory while maintaining the other behaviour (when
1516         CachedResource is used as proxy).
1517
1518         With this patch the testcase at
1519         https://bugs.webkit.org/attachment.cgi?id=93850 should no longer
1520         consume 400MB of ram on load. Test added for crash discovered in
1521         previous revision, but no tests for memory usage.
1522
1523         Test: http/tests/inspector/network/disabled-cache-crash.html
1524
1525         * WebCore.exp.in:
1526         * loader/cache/CachedResource.h:
1527         (WebCore::CachedResource::hasOneHandle):
1528         * loader/cache/CachedResourceLoader.cpp:
1529         (WebCore::CachedResourceLoader::CachedResourceLoader):
1530         (WebCore::CachedResourceLoader::loadDone):
1531         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
1532         * loader/cache/CachedResourceLoader.h:
1533         * testing/Internals.cpp:
1534         (WebCore::Internals::disableMemoryCache):
1535         * testing/Internals.h:
1536         * testing/Internals.idl:
1537
1538 2011-08-01  Jochen Eisinger  <jochen@chromium.org>
1539
1540         Never override the policy URL on form submissions.
1541         https://bugs.webkit.org/show_bug.cgi?id=61809
1542
1543         Reviewed by Adam Barth.
1544
1545         Tests: http/tests/security/cookies/third-party-cookie-blocking-main-frame.html
1546                http/tests/security/cookies/third-party-cookie-blocking-user-action.html
1547                http/tests/security/cookies/third-party-cookie-blocking.html
1548
1549         * loader/FrameLoader.cpp:
1550         (WebCore::FrameLoader::loadURL):
1551         (WebCore::FrameLoader::addExtraFieldsToSubresourceRequest):
1552         (WebCore::FrameLoader::addExtraFieldsToMainResourceRequest):
1553         (WebCore::FrameLoader::addExtraFieldsToRequest):
1554         (WebCore::FrameLoader::loadPostRequest):
1555         (WebCore::FrameLoader::loadDifferentDocumentItem):
1556         * loader/FrameLoader.h:
1557
1558
1559 2011-08-01  Ryosuke Niwa  <rniwa@webkit.org>
1560
1561         Update comment added in r92139 per Darin's suggestion.
1562
1563         * css/CSSStyleSelector.cpp:
1564         (WebCore::CSSStyleSelector::styleForElement):
1565
1566 2011-08-01  Ryosuke Niwa  <rniwa@webkit.org>
1567
1568         Search field in designMode causes a crash
1569         https://bugs.webkit.org/show_bug.cgi?id=65362
1570
1571         Reviewed by Dimitri Glazkov.
1572
1573         The crashed was caused by editing code inadvertently deleting search and cancel buttons in the design mode.
1574         Fixed the bug by avoid inheriting user-modify property from the shadow host.
1575
1576         Test: editing/input/search-field-crash-in-designmode.html
1577
1578         * css/CSSStyleSelector.cpp:
1579         (WebCore::isAtShadowBoundary): Moved.
1580         (WebCore::CSSStyleSelector::styleForElement): Overrides -webkit-user-modify by the initial value after m_style
1581         inherited the values from m_parentStyle but before applying matched rules.
1582         * dom/Node.cpp:
1583         (WebCore::Node::rendererIsEditable): Ignore page's editability inside a shadow DOM.
1584
1585 2011-08-01  Marco Peereboom  <marco@peereboom.us>
1586
1587         [Soup] Set default max-conns to a more sane default value and fix comment 
1588         https://bugs.webkit.org/show_bug.cgi?id=65335
1589
1590         Reviewed by Martin Robinson.
1591
1592         Rigged the xxxterm web browser and validated that the default values were set properly.
1593
1594         * platform/network/soup/ResourceHandleSoup.cpp:
1595         (WebCore::ResourceHandle::defaultSession):
1596
1597 2011-07-28  Abhishek Arya  <inferno@chromium.org>
1598
1599         Regression(82144): Crash in TrailingObjects::updateMidpointsForTrailingBoxes
1600         https://bugs.webkit.org/show_bug.cgi?id=65137
1601
1602         Fix the looping condition to prevent trailingSpaceMidpoint from becoming negative.
1603
1604         Reviewed by Dave Hyatt.
1605
1606         Test: fast/block/update-midpoints-for-trailing-boxes-crash.html
1607
1608         * rendering/RenderBlockLineLayout.cpp:
1609         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
1610
1611 2011-08-01  Benjamin Poulain  <benjamin@webkit.org>
1612
1613         [Qt] OpenGLShims does not build on ARM
1614         https://bugs.webkit.org/show_bug.cgi?id=65465
1615
1616         Reviewed by Noam Rosenthal.
1617
1618         Fix the build with OpenGL ES 2:
1619         -lookupOpenGLFunctionAddress() was defined but not used for OpenGL ES.
1620         -glBlitFramebuffer() and glRenderbufferStorageMultisample() are not part of the specification.
1621         When those are available as platform extension, the extension has been added.
1622         -GLchar is not defined on some platform. The patch adds the same typedef as the official definition
1623         to avoid conflicts.
1624
1625         * platform/graphics/cairo/OpenGLShims.cpp:
1626         (lookupOpenGLFunctionAddress):
1627         (WebCore::initializeOpenGLShims):
1628         * platform/graphics/cairo/OpenGLShims.h:
1629
1630 2011-08-01  Yury Semikhatsky  <yurys@chromium.org>
1631
1632         Unreviewed. Trivial fix for inspector/debugger/debugger-completions-on-call-frame.html after r92122.
1633
1634         * inspector/front-end/ConsoleView.js:
1635
1636 2011-08-01  Hayato Ito  <hayato@chromium.org>
1637
1638         Add support for getting an element in shadow root by its id into a window.internals object.
1639         https://bugs.webkit.org/show_bug.cgi?id=64587
1640
1641         Reviewed by Hajime Morita.
1642
1643         Test: fast/dom/shadow/get-element-by-id-in-shadow-root.html
1644
1645         * WebCore.exp.in:
1646         * testing/Internals.cpp:
1647         (WebCore::Internals::getElementByIdInShadowRoot):
1648         * testing/Internals.h:
1649         * testing/Internals.idl:
1650
1651 2011-07-15  Hayato Ito  <hayato@chromium.org>
1652
1653         Add support for retrieving an element in TreeScope by id to window.internals object.
1654         https://bugs.webkit.org/show_bug.cgi?id=64587
1655
1656         Reviewed by Hajime Morita.
1657
1658         Test: fast/dom/shadow/get-element-by-id-in-shadow.html
1659
1660         * WebCore.exp.in:
1661         * testing/Internals.cpp:
1662         (WebCore::Internals::getElementByIdInTreeScope):
1663         * testing/Internals.h:
1664         * testing/Internals.idl:
1665
1666 2011-08-01  Yury Semikhatsky  <yurys@chromium.org>
1667
1668         Web Inspector: typing an expression in an iframe leads to multiple "Unsafe JavaScript attempt to access frame..." errors
1669         https://bugs.webkit.org/show_bug.cgi?id=65457
1670
1671         Console completions are now done using evaluation which returns a JSON object with all property names rather than a remote
1672         object. Also Runtime.evaluate and Runtime.callFunctionOn commands were extended with an optional parameter that allows to
1673         get result as JSON value.
1674
1675         Reviewed by Pavel Feldman.
1676
1677         Test: http/tests/inspector/console-cd-completions.html
1678
1679         * inspector/InjectedScript.cpp:
1680         (WebCore::InjectedScript::evaluate):
1681         (WebCore::InjectedScript::callFunctionOn):
1682         * inspector/InjectedScript.h:
1683         * inspector/InjectedScriptSource.js:
1684         (.):
1685         ():
1686         * inspector/Inspector.json:
1687         * inspector/InspectorRuntimeAgent.cpp:
1688         (WebCore::asBool):
1689         (WebCore::InspectorRuntimeAgent::evaluate):
1690         (WebCore::InspectorRuntimeAgent::callFunctionOn):
1691         * inspector/InspectorRuntimeAgent.h:
1692         * inspector/front-end/ConsoleView.js:
1693         (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
1694         (WebInspector.ConsoleView.prototype._completions.evaluated):
1695         (WebInspector.ConsoleView.prototype._completions.receivedPropertySet):
1696         (WebInspector.ConsoleView.prototype._completions):
1697         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
1698         * inspector/front-end/RemoteObject.js:
1699         (WebInspector.RemoteObject):
1700         (WebInspector.RemoteObject.prototype.callFunction):
1701         (WebInspector.RemoteObject.prototype.callFunctionJSON):
1702         * inspector/front-end/WatchExpressionsSidebarPane.js:
1703         (WebInspector.WatchExpressionsSection.prototype.update):
1704
1705 2011-08-01  Mihnea Ovidenie  <mihnea@adobe.com>
1706
1707         BORDER attribute with the object tag, using percentage values not working.
1708         https://bugs.webkit.org/show_bug.cgi?id=65176
1709
1710         Reviewed by Hajime Morita.
1711
1712         When border presentational attribute for object element has % in it, it should be parsed using HTML parser rules.
1713
1714         Test: fast/borders/border-width-percent.html
1715
1716         * html/HTMLElement.cpp:
1717         (WebCore::HTMLElement::parseBorderWidthAttribute):
1718         * html/HTMLElement.h:
1719         * html/HTMLImageElement.cpp:
1720         * html/HTMLObjectElement.cpp:
1721         (WebCore::HTMLObjectElement::parseMappedAttribute):
1722
1723 2011-08-01  Yuta Kitamura  <yutak@chromium.org>
1724
1725         WebSocket: Receive URL and subprotocol in WebSocketChannel::connect()
1726         https://bugs.webkit.org/show_bug.cgi?id=65367
1727
1728         Reviewed by Kent Tamura.
1729
1730         To implement multiple subprotocols support (bug 65247), WebSocket::connect() will need to validate
1731         the value of subprotocols after constructing WebSocketChannel, because the result depends on which
1732         WebSocket protocol is used, which is obtained from WebSocketChannel::useHixie76Protocol(). This
1733         means the subprotocol value will not be available at the time of WebSocketChannel construction.
1734
1735         This change moves URL and subprotocol arguments in WebSocketChannel constructor to
1736         WebSocketChannel::connect(), which allows WebSocket::connect() function to check the subprotocol
1737         value before the actual connection is established.
1738
1739         Relocating URL argument is technically not necessary, but seemed legitimate in terms of functional
1740         correspondence between WebSocket and WebSocketChannel (constructor versus connect()).
1741
1742         No change in behavior, thus no new tests.
1743
1744         * websockets/ThreadableWebSocketChannel.cpp:
1745         Remove "url" and "protocol" arguments from constructor and add them in connect().
1746         (WebCore::ThreadableWebSocketChannel::create):
1747         * websockets/ThreadableWebSocketChannel.h:
1748         * websockets/WebSocket.cpp:
1749         (WebCore::WebSocket::connect):
1750         * websockets/WebSocketChannel.cpp: Same as ThreadableWebSocketChannel.
1751         (WebCore::WebSocketChannel::WebSocketChannel):
1752         (WebCore::WebSocketChannel::connect):
1753         InspectorInstrumentation::didCreateWebSocket() call was moved to connect() because it needs URL.
1754         This does not change behavior, because connect() is guaranteed to be called immediately after
1755         WebSocketChannel is constructed.
1756         * websockets/WebSocketChannel.h:
1757         (WebCore::WebSocketChannel::create):
1758         * websockets/WorkerThreadableWebSocketChannel.cpp: Same as ThreadableWebSocketChannel.
1759         (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
1760         (WebCore::WorkerThreadableWebSocketChannel::connect):
1761         (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
1762         (WebCore::WorkerThreadableWebSocketChannel::Peer::connect):
1763         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
1764         (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
1765         (WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect):
1766         (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
1767         * websockets/WorkerThreadableWebSocketChannel.h:
1768         (WebCore::WorkerThreadableWebSocketChannel::create):
1769         (WebCore::WorkerThreadableWebSocketChannel::Peer::create):
1770         (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
1771
1772 2011-08-01  Luke Macpherson   <macpherson@chromium.org>
1773
1774         Add iterator to CSSValueList
1775         https://bugs.webkit.org/show_bug.cgi?id=65297
1776
1777         Reviewed by Darin Adler.
1778
1779         No new tests / refactoring only.
1780
1781         * css/CSSPrimitiveValue.h:
1782         (WebCore::CSSPrimitiveValue::isLength):
1783         Add shorthand to determine if this primitive value is a length.
1784         * css/CSSStyleSelector.cpp:
1785         Use CSSValueListIterator throughout.
1786         (WebCore::CSSStyleSelector::applyProperty):
1787         (WebCore::CSSStyleSelector::applyPageSizeProperty):
1788         (WebCore::CSSStyleSelector::createTransformOperations):
1789         * css/CSSValueList.cpp:
1790         (WebCore::CSSValueList::copy):
1791         Use itemWithoutBoundsCheck() instead of item().
1792         * css/CSSValueList.h:
1793         Add CSSValueListIterator and CSSValueListInspector class definitions.
1794         (WebCore::CSSValueList::item)
1795         Provide inline definition of item.
1796         (WebCore::CSSValueListIterator::CSSValueListIterator):
1797         (WebCore::CSSValueListIterator::hasMore):
1798         Return true if there are more values to consume, including the current value.
1799         (WebCore::CSSValueListIterator::value):
1800         Return the value at the current position.
1801         (WebCore::CSSValueListIterator::next):
1802         Move the iterator forward to the next item.
1803         (WebCore::CSSValueListIterator::index):
1804         Return the current position in the list.
1805         (WebCore::CSSValueListInspector::item):
1806         Return the item at a given index.
1807         (WebCore::CSSValueListInspector::first):
1808         Return the first item in the list.
1809         (WebCore::CSSValueListInspector::second):
1810         Return the second item in the list.
1811         (WebCore::CSSValueListInspector::length):
1812         Return the size of the underlying list.
1813
1814 2011-08-01  Pavel Feldman  <pfeldman@google.com>
1815
1816         Web Inspector: group scripts by folder in the scripts selector.
1817         https://bugs.webkit.org/show_bug.cgi?id=65321
1818
1819         Reviewed by Yury Semikhatsky.
1820
1821         Test: inspector/debugger/scripts-sorting.html
1822
1823         * inspector/front-end/ScriptsPanel.js:
1824         (WebInspector.ScriptsPanel.prototype._sourceFileAdded.get if):
1825         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
1826         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
1827         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
1828         (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
1829         (WebInspector.ScriptsPanel.prototype.reset):
1830         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
1831
1832 2011-07-28  Pavel Feldman  <pfeldman@google.com>
1833
1834         Web Inspector: [protocol] methods where all parameters are optional should not require empty params object.
1835         https://bugs.webkit.org/show_bug.cgi?id=65331
1836
1837         Reviewed by Yury Semikhatsky.
1838
1839         * inspector/CodeGeneratorInspector.pm:
1840         (generateBackendFunction):
1841         (generateArgumentGetters):
1842
1843 2011-08-01  Adam Barth  <abarth@webkit.org>
1844
1845         application/json MIME type shouldn't cause warnings in <script> tags
1846         https://bugs.webkit.org/show_bug.cgi?id=65448
1847
1848         Reviewed by Pavel Feldman.
1849
1850         This patch stops the web inspector from logging a ton of spam warnings
1851         when a web page uses a JSONP service (which points script tags at
1852         application/json resources).
1853
1854         * inspector/front-end/inspector.js:
1855         (WebInspector.reset):
1856
1857 2011-08-01  Yuta Kitamura  <yutak@chromium.org>
1858
1859         WebSocket: Rename SocketStreamHandleClient member functions
1860         https://bugs.webkit.org/show_bug.cgi?id=65374
1861
1862         Reviewed by Kent Tamura.
1863
1864         Rename SocketStreamHandleClient member functions to avoid conflict of the names of
1865         FileReaderLoaderClient functions.
1866
1867         No change in behavior, thus no new tests are added.
1868
1869         * platform/network/SocketStreamHandleClient.h:
1870         (WebCore::SocketStreamHandleClient::didOpenSocketStream):
1871         (WebCore::SocketStreamHandleClient::didCloseSocketStream):
1872         (WebCore::SocketStreamHandleClient::didReceiveSocketStreamData):
1873         (WebCore::SocketStreamHandleClient::didFailSocketStream):
1874         * platform/network/brew/SocketStreamHandleBrew.cpp:
1875         (WebCore::SocketStreamHandlePrivate::socketConnected):
1876         (WebCore::SocketStreamHandlePrivate::socketReadyRead):
1877         (WebCore::SocketStreamHandlePrivate::socketClosed):
1878         (WebCore::SocketStreamHandlePrivate::socketError):
1879         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1880         (WebCore::SocketStreamHandle::addCONNECTCredentials):
1881         (WebCore::SocketStreamHandle::readStreamCallback):
1882         (WebCore::SocketStreamHandle::writeStreamCallback):
1883         (WebCore::SocketStreamHandle::reportErrorToClient):
1884         (WebCore::SocketStreamHandle::platformClose):
1885         * platform/network/qt/SocketStreamHandleQt.cpp:
1886         (WebCore::SocketStreamHandlePrivate::socketConnected):
1887         (WebCore::SocketStreamHandlePrivate::socketReadyRead):
1888         (WebCore::SocketStreamHandlePrivate::socketClosedCallback):
1889         (WebCore::SocketStreamHandlePrivate::socketErrorCallback):
1890         * platform/network/soup/SocketStreamHandleSoup.cpp:
1891         (WebCore::SocketStreamHandle::connected):
1892         (WebCore::SocketStreamHandle::readBytes):
1893         (WebCore::SocketStreamHandle::platformSend):
1894         (WebCore::SocketStreamHandle::platformClose):
1895         * websockets/WebSocketChannel.cpp:
1896         (WebCore::WebSocketChannel::didOpenSocketStream):
1897         (WebCore::WebSocketChannel::didCloseSocketStream):
1898         (WebCore::WebSocketChannel::didReceiveSocketStreamData):
1899         (WebCore::WebSocketChannel::didFailSocketStream):
1900         (WebCore::WebSocketChannel::resumeTimerFired):
1901         * websockets/WebSocketChannel.h:
1902
1903 2011-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
1904
1905         Unreviewed, rolling out r92094.
1906         http://trac.webkit.org/changeset/92094
1907         https://bugs.webkit.org/show_bug.cgi?id=65443
1908
1909         Triggered many asserts (Requested by abarth on #webkit).
1910
1911         * dom/EventDispatcher.cpp:
1912         (WebCore::EventDispatcher::dispatchEvent):
1913
1914 2011-07-31  Dominic Cooney  <dominicc@chromium.org>
1915
1916         Event target set to null post event dispatch
1917         https://bugs.webkit.org/show_bug.cgi?id=63934
1918
1919         Reviewed by Dimitri Glazkov.
1920
1921         Test: fast/events/event-target-reset.html
1922
1923         * dom/EventDispatcher.cpp:
1924         (WebCore::EventDispatcher::dispatchEvent): Reset target to outermost
1925         shadow host.
1926
1927 2011-07-31  Sam Weinig  <sam@webkit.org>
1928
1929         REGRESSION: getBoundingClientRect() method of Range incorrectly returns null for collapsed Range
1930         https://bugs.webkit.org/show_bug.cgi?id=65324
1931
1932         Reviewed by Ryosuke Niwa.
1933
1934         Update to more closely match the spec.
1935
1936         * dom/Range.cpp:
1937         (WebCore::Range::getClientRects):
1938         Return an empty ClientRectList instead of null when the range is empty.
1939
1940         (WebCore::Range::getBoundingClientRect):
1941         Always return a ClientRect, even for an empty bounding rect.
1942
1943 2011-07-29  Ryosuke Niwa  <rniwa@webkit.org>
1944
1945         [HTML5] Implement the selectionDirection property on input and textarea
1946         https://bugs.webkit.org/show_bug.cgi?id=60403
1947
1948         Reviewed by Darin Adler.
1949
1950         Implements selectionDirection property as specified in HTML5 section 4.10.20:
1951         http://www.whatwg.org/specs/web-apps/current-work/#textFieldSelection
1952
1953         selectionDirection is a property on input and textarea elements, which, on getting returns either "none",
1954         "forward", or "backward" corresponding to the current selection direction, and on setting, modifies
1955         the direction of the current selection. When selection doesn't exist or direction is unknown, "none"
1956         is returned on getting. Setting the property value to neither of above values will result in setting "none".
1957
1958         This patch also adds the optional third argument, direction, to setSelectionRange.
1959
1960         Test: fast/forms/selection-direction.html
1961               fast/forms/selection-wrongtype.html
1962
1963         * bindings/js/JSHTMLInputElementCustom.cpp:
1964         (WebCore::JSHTMLInputElement::selectionDirection): Added.
1965         (WebCore::JSHTMLInputElement::setSelectionDirection): Added.
1966         (WebCore::JSHTMLInputElement::setSelectionRange): Processes the third argument.
1967         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
1968         (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter): Added.
1969         (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter): Added.
1970         (WebCore::V8HTMLInputElement::setSelectionRangeCallback): Processes the third argument.
1971         * html/HTMLTextAreaElement.cpp:
1972         (WebCore::HTMLTextAreaElement::updateFocusAppearance): Calls hasCachedSelection.
1973         * html/HTMLInputElement.cpp:
1974         (WebCore::HTMLInputElement::updateFocusAppearance): Ditto.
1975         (WebCore::HTMLInputElement::setValue): Calls cacheSelection with SelectionHasNoDirection.
1976         * html/HTMLTextAreaElement.idl: Added selectionDirection and the third argument to setSelectionRange.
1977         * html/HTMLInputElement.idl: Ditto.
1978         * html/HTMLTextFormControlElement.cpp:
1979         (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement): Initializes
1980         m_cachedSelectionDirection.
1981         (WebCore::HTMLTextFormControlElement::setSelectionStart): Calls setSelectionRange.
1982         (WebCore::HTMLTextFormControlElement::setSelectionEnd): Ditto.
1983         (WebCore::HTMLTextFormControlElement::setSelectionDirection): Added.
1984         (WebCore::HTMLTextFormControlElement::select): Calls setSelectionRange with SelectionHasNoDirection.
1985         (WebCore::HTMLTextFormControlElement::setSelectionRange): Added the version that takes direction
1986         string as the third argument, which calls the version that takes two ints and TextFieldSelectionDirection.
1987         (WebCore::HTMLTextFormControlElement::selectionStart): Calls hasCachedSelection.
1988         (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
1989         (WebCore::directionString): Added.
1990         (WebCore::HTMLTextFormControlElement::selectionDirection): Added.
1991         (WebCore::HTMLTextFormControlElement::computeSelectionDirection): Added.
1992         (WebCore::HTMLTextFormControlElement::selection): Calls hasCachedSelection.
1993         (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Calls setSelectionRange.
1994         (WebCore::HTMLTextFormControlElement::selectionChanged): Calls cacheSelection.
1995         * html/HTMLTextFormControlElement.h:
1996         (WebCore::HTMLTextFormControlElement::cacheSelection): Takes TextFieldSelectionDirection.
1997         (WebCore::HTMLTextFormControlElement::hasCachedSelection): Extracted from hasCachedSelectionStart;
1998         cacheSelection is the only function that modifies m_cacheSelectionStart and m_cacheSelectionEnd
1999         and none of its callers ever set one of them be -1 so they are always both -1 or both non-negative.
2000         Thus, having two separate functions for m_cacheSelectionStart and m_cacheSelectionEnd was redundant.
2001
2002 2011-07-31  Daniel Bates  <dbates@webkit.org>
2003
2004         [GTK] Remove unused variable coreChild in WebCore::getChildForTable()
2005         https://bugs.webkit.org/show_bug.cgi?id=65427
2006
2007         This variable was unused when it was initially added in <http://trac.webkit.org/changeset/89660> (bug #62718)
2008         and it is unused today. We should remove it. This will also resolve a compiler warning.
2009
2010         Reviewed by Xan Lopez.
2011
2012         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2013         (getChildForTable):
2014
2015 2011-07-30  Daniel Bates  <dbates@webkit.org>
2016
2017         Fix the WinCairo Debug build after <http://trac.webkit.org/changeset/91914>
2018         (https://bugs.webkit.org/show_bug.cgi?id=64744)
2019
2020         * WebCore.vcproj/WebCore.vcproj: Remove ContextShadowCairo.cpp from the build since this
2021           file was deleted in <http://trac.webkit.org/changeset/91914>.
2022
2023 2011-07-30  Daniel Bates  <dbates@webkit.org>
2024
2025         Fix the Chromium Linux Release Flexbot build after <http://trac.webkit.org/changeset/92004>
2026         (https://bugs.webkit.org/show_bug.cgi?id=65342)
2027
2028         * rendering/RenderFlexibleBox.cpp:
2029         (WebCore::RenderFlexibleBox::layoutBlock): Update the definition of RenderFlexibleBox::layoutBlock()
2030         to be consistent with its declaration in RenderFlexibleBox.h; Add argument layoutPass of type BlockLayoutPass.
2031
2032 2011-07-30  Adam Barth  <abarth@webkit.org>
2033
2034         Update run-bindings-tests results after
2035         http://trac.webkit.org/changeset/92068
2036
2037         * bindings/scripts/test/JS/JSTestCallback.cpp:
2038
2039 2011-07-30  Patrick Gansterer  <paroga@webkit.org>
2040
2041         Remove inclusion of MainThread.h from Threading.h
2042         https://bugs.webkit.org/show_bug.cgi?id=65081
2043
2044         Reviewed by Darin Adler.
2045
2046         Add missing include statements for MainThread.
2047
2048         * bindings/js/DOMWrapperWorld.cpp:
2049         * bindings/js/JSDOMWindowBase.cpp:
2050         * bindings/scripts/CodeGeneratorJS.pm:
2051         (GenerateCallbackImplementation):
2052         * bindings/v8/DOMDataStore.cpp:
2053         * bindings/v8/DOMWrapperWorld.cpp:
2054         * bindings/v8/V8Binding.cpp:
2055         * bindings/v8/V8DOMMap.cpp:
2056         * bindings/v8/V8DOMWrapper.h:
2057         * dom/EventTarget.cpp:
2058         * fileapi/LocalFileSystem.cpp:
2059         * loader/CrossOriginPreflightResultCache.cpp:
2060         * loader/ResourceLoadScheduler.cpp:
2061         * loader/WorkerThreadableLoader.cpp:
2062         * loader/appcache/ApplicationCacheGroup.cpp:
2063         * page/DOMWindow.cpp:
2064         * page/History.cpp:
2065         * page/SecurityOrigin.cpp:
2066         * page/mac/EventHandlerMac.mm:
2067         * platform/MIMETypeRegistry.cpp:
2068         * platform/ThreadGlobalData.cpp:
2069         * platform/ThreadTimers.cpp:
2070         * platform/TreeShared.h:
2071         * platform/audio/HRTFDatabaseLoader.cpp:
2072         * platform/graphics/Font.cpp:
2073         * platform/graphics/FontFallbackList.h:
2074         * platform/graphics/FontFastPath.cpp:
2075         * platform/graphics/Image.cpp:
2076         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2077         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
2078         * platform/graphics/cg/ImageBufferCG.cpp:
2079         * platform/graphics/chromium/LayerRendererChromium.cpp:
2080         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
2081         * platform/mac/LocalizedStringsMac.mm:
2082         * platform/mac/SharedBufferMac.mm:
2083         * platform/network/BlobResourceHandle.cpp:
2084         * platform/network/cf/DNSCFNet.cpp:
2085         * platform/network/cf/LoaderRunLoopCF.cpp:
2086         * platform/text/LocalizedNumberICU.cpp:
2087         * platform/text/TextEncodingRegistry.cpp:
2088         * platform/text/mac/LocalizedNumberMac.mm:
2089         * platform/win/LocalizedStringsWin.cpp:
2090         * storage/LocalStorageThread.cpp:
2091         * storage/StorageAreaImpl.cpp:
2092         * storage/StorageAreaSync.cpp:
2093         * storage/StorageNamespaceImpl.cpp:
2094         * storage/StorageSyncManager.cpp:
2095         * webaudio/AsyncAudioDecoder.cpp:
2096         * webaudio/AudioBufferSourceNode.cpp:
2097         * webaudio/AudioContext.h
2098         * webaudio/AudioContext.cpp:
2099         * webaudio/AudioNode.cpp:
2100         * webaudio/ConvolverNode.cpp:
2101         * webaudio/OfflineAudioDestinationNode.cpp:
2102         * webaudio/RealtimeAnalyser.cpp:
2103         * webaudio/WaveShaperNode.cpp:
2104         * websockets/WorkerThreadableWebSocketChannel.cpp:
2105         * workers/WorkerMessagingProxy.cpp:
2106
2107 2011-07-30  Enrica Casucci  <enrica@apple.com>
2108
2109         REGRESSION: culledInlineAbsoluteRects needs to translate a 0,0 point to absolute
2110         coordinates so that the top left position is accurate.
2111         https://bugs.webkit.org/show_bug.cgi?id=65419
2112         <rdar://problem/9408862>
2113
2114         This patch fixes a regression introduced in r83075.
2115         Make sure that culledInlineAbsoluteRects still does
2116         a translation of a 0,0 point to absolute coordinates so that the top left position is
2117         accurate.
2118         This code path could not be tested via JavaScript. The patch
2119         extends the Internals object to be able to test this case.
2120
2121         Reviewed by Dan Bernstein.
2122
2123         Test: fast/inline/skipped-whitespace-boundingBox.html
2124
2125         * WebCore.exp.in: Added some exports.
2126         * rendering/RenderInline.cpp:
2127         (WebCore::RenderInline::culledInlineAbsoluteRects):
2128         * testing/Internals.cpp:
2129         (WebCore::Internals::boundingBox):
2130         * testing/Internals.h:
2131         * testing/Internals.idl:
2132
2133 2011-07-26  Pavel Podivilov  <podivilov@chromium.org>
2134
2135         Web Inspector: move location conversion functions to SourceFile.
2136         https://bugs.webkit.org/show_bug.cgi?id=65185
2137
2138         Reviewed by Pavel Feldman.
2139
2140         Test: inspector/debugger/source-file.html
2141
2142         * inspector/front-end/DebuggerPresentationModel.js:
2143         (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation.didCreateSourceMapping):
2144         (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation):
2145         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation.didCreateSourceMapping):
2146         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
2147         * inspector/front-end/SourceFile.js:
2148         (WebInspector.SourceFile.prototype.rawLocationToUILocation):
2149         (WebInspector.SourceFile.prototype.uiLocationToRawLocation):
2150         (WebInspector.SourceFile.prototype._scriptForRawLocation):
2151         (WebInspector.SourceFile.prototype.createSourceMappingIfNeeded):
2152         (WebInspector.FormattedSourceFile.prototype.createSourceMappingIfNeeded):
2153         (WebInspector.FormattedSourceFile.prototype._didRequestContent):
2154
2155 2011-07-29  Rob Buis  <rbuis@rim.com>
2156
2157         URL references are completely broken in SVG
2158         https://bugs.webkit.org/show_bug.cgi?id=63283
2159
2160         Reviewed by Nikolas Zimmermann.
2161
2162         Change SVGURIElement::getTarget to be more strict about iri resolving and make it serve as a central
2163         place to resolve a iri to a SVGElement. The iri can be same-document or external, for now we only handle
2164         the former, the latter will be handled in bug 65344.
2165         Accept as same-document if the iri combined with the base uri equals the document url (ignoring
2166         the fragment identifier). For convenience a method is added to lookup the element, if found.
2167
2168         Tests: svg/custom/external-paintserver-reference.svg
2169                svg/custom/linking-base-external-reference.xhtml
2170                svg/custom/uri-reference-handling.svg
2171
2172         * css/CSSCursorImageValue.cpp:
2173         (WebCore::resourceReferencedByCursorElement):
2174         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
2175         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2176         * css/CSSFontFaceSource.cpp:
2177         (WebCore::CSSFontFaceSource::getFontData):
2178         * css/CSSFontSelector.h:
2179         (WebCore::CSSFontSelector::document):
2180         * css/SVGCSSStyleSelector.cpp:
2181         (WebCore::CSSStyleSelector::applySVGProperty):
2182         * rendering/svg/RenderSVGTextPath.cpp:
2183         (WebCore::RenderSVGTextPath::layoutPath):
2184         * rendering/svg/SVGResources.cpp:
2185         (WebCore::targetReferenceFromResource):
2186         (WebCore::paintingResourceFromSVGPaint):
2187         * svg/SVGAltGlyphElement.cpp:
2188         (WebCore::SVGAltGlyphElement::hasValidGlyphElements):
2189         * svg/SVGFEImageElement.cpp:
2190         (WebCore::SVGFEImageElement::requestImageResource):
2191         (WebCore::SVGFEImageElement::build):
2192         * svg/SVGGlyphRefElement.cpp:
2193         (WebCore::SVGGlyphRefElement::hasValidGlyphElement):
2194         * svg/SVGLinearGradientElement.cpp:
2195         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
2196         * svg/SVGMPathElement.cpp:
2197         (WebCore::SVGMPathElement::pathElement):
2198         * svg/SVGPaint.cpp:
2199         (WebCore::SVGPaint::matchesTargetURI):
2200         * svg/SVGPatternElement.cpp:
2201         (WebCore::SVGPatternElement::collectPatternAttributes):
2202         * svg/SVGRadialGradientElement.cpp:
2203         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
2204         * svg/SVGTRefElement.cpp:
2205         (WebCore::SVGTRefElement::updateReferencedText):
2206         (WebCore::SVGTRefElement::svgAttributeChanged):
2207         (WebCore::SVGTRefElement::buildPendingResource):
2208         * svg/SVGTextPathElement.cpp:
2209         (WebCore::SVGTextPathElement::insertedIntoDocument):
2210         * svg/SVGURIReference.cpp:
2211         (WebCore::SVGURIReference::fragmentIdentifierFromIRIString):
2212         (WebCore::SVGURIReference::targetElementFromIRIString):
2213         * svg/SVGURIReference.h:
2214         * svg/SVGUseElement.cpp:
2215         (WebCore::SVGUseElement::buildPendingResource):
2216         (WebCore::SVGUseElement::hasCycleUseReferencing):
2217         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2218         * svg/animation/SVGSMILElement.cpp:
2219         (WebCore::SVGSMILElement::targetElement):
2220
2221 2011-07-29  James Simonsen  <simonjam@chromium.org>
2222
2223         Remove zipcar.com site specific hack added in r87361
2224         https://bugs.webkit.org/show_bug.cgi?id=65405
2225
2226         Reviewed by Adam Barth.
2227
2228         * html/HTMLScriptElement.cpp:
2229         (WebCore::HTMLScriptElement::insertedIntoDocument):
2230
2231 2011-07-29  James Robinson  <jamesr@chromium.org>
2232
2233         [chromium] Reorder functions in LayerRendererChromium.cpp to make bug 58840 easier to review
2234         https://bugs.webkit.org/show_bug.cgi?id=65354
2235
2236         Reviewed by Kenneth Russell.
2237
2238         This moves a few function definitions in LayerRendererChromium around to make the patch on bug 58840 easier to
2239         review.  In that patch, updatePropertiesAndRenderSurfaces() becomes a templated free function instead of a
2240         member function, so it has to be near the top of the .cpp.
2241
2242         * platform/graphics/chromium/LayerRendererChromium.cpp:
2243         (WebCore::calculateVisibleRect):
2244         (WebCore::isScaleOrTranslation):
2245         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
2246         (WebCore::LayerRendererChromium::updateLayers):
2247
2248 2011-07-29  Jeff Miller  <jeffm@apple.com>
2249
2250         Work-in-progress on Adopt AVCF media back end on Windows
2251         https://bugs.webkit.org/show_bug.cgi?id=65400
2252         <rdar://problem/9083559>
2253         
2254         Prepare WebCore.vcproj to support AVCF media back end on Windows.
2255
2256         Reviewed by Darin Adler.
2257
2258         No changes to functionality so no new tests.
2259
2260         * WebCore.vcproj/WebCore.vcproj: Added MediaPlayerPrivateAVFoundation and MediaPlayerPrivateAVFoundationCF sources.
2261         * WebCore.vcproj/WebCoreMediaQT.vsprops: Added additional include directories and dleay load DLLs for AVCF.
2262         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Added, just a stub for now.
2263         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Added, just a stub for now.
2264
2265 2011-07-29  Jeff Miller  <jeffm@apple.com>
2266
2267         Work-in-progress on Adopt AVCF media back end on Windows
2268         https://bugs.webkit.org/show_bug.cgi?id=65400
2269         <rdar://problem/9083559>
2270         
2271         Make MediaPlayerPrivateAVFoundation::setDelayCallbacks() const and make the ivars
2272         it references mutable so other const member functions can call it.
2273
2274         Reviewed by Darin Adler.
2275
2276         No changes to functionality so no new tests.
2277
2278         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2279         (WebCore::MediaPlayerPrivateAVFoundation::setDelayCallbacks):
2280         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2281
2282 2011-07-29  Zhenyao Mo  <zmo@google.com>
2283
2284         Unreviewed, rolling out r92011.
2285         http://trac.webkit.org/changeset/92011
2286         https://bugs.webkit.org/show_bug.cgi?id=65044
2287
2288         break chromium win build
2289
2290         * dom/WheelEvent.cpp:
2291         (WebCore::WheelEvent::WheelEvent):
2292         (WebCore::WheelEvent::initWheelEvent):
2293         * dom/WheelEvent.h:
2294         * page/EventHandler.cpp:
2295         (WebCore::EventHandler::EventHandler):
2296         (WebCore::EventHandler::handleGestureEvent):
2297         (WebCore::EventHandler::handleTouchEvent):
2298         (WebCore::EventHandler::resetGestureRecognizer):
2299         * page/EventHandler.h:
2300         * page/FrameView.cpp:
2301         (WebCore::FrameView::reset):
2302         * platform/PlatformGestureEvent.h:
2303         * platform/PlatformGestureRecognizer.h:
2304         * platform/ScrollAnimatorWin.cpp:
2305         * platform/chromium/FramelessScrollView.h:
2306         * platform/chromium/GestureRecognizerChromium.cpp:
2307         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
2308         (WebCore::InnerGestureRecognizer::reset):
2309         (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
2310         (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
2311         (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
2312         (WebCore::touchDown):
2313         (WebCore::noGesture):
2314         (WebCore::click):
2315         (WebCore::isClickOrScroll):
2316         (WebCore::inScroll):
2317         * platform/chromium/GestureRecognizerChromium.h:
2318         (WebCore::GestureRecognizerChromium::reset):
2319         (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
2320         * platform/chromium/PopupMenuChromium.cpp:
2321         * platform/chromium/PopupMenuChromium.h:
2322         * platform/mac/ScrollAnimatorMac.mm:
2323         (WebCore::ScrollAnimatorMac::handleGestureEvent):
2324
2325 2011-07-29  Adrienne Walker  <enne@google.com>
2326
2327         [chromium] Only force slow scrolling for iframes under --force-compositing-mode
2328         https://bugs.webkit.org/show_bug.cgi?id=65394
2329
2330         Reviewed by James Robinson.
2331
2332         The previous code introduced by r91591 made composited frames as well
2333         as non-composited subframes go down the slow scrolling path.  Adjust
2334         the check to use ownerElement to test for subframe and use
2335         hasCompositedContent() which is a more correct test for compositing
2336         than isEnclosedInCompositingLayer.
2337
2338         * page/FrameView.cpp:
2339         (WebCore::FrameView::useSlowRepaints):
2340
2341 2011-07-29  Emil A Eklund  <eae@chromium.org>
2342
2343         -webkit-marquee with anonymous node causes segmentation fault in Node::document
2344         https://bugs.webkit.org/show_bug.cgi?id=64693
2345
2346         Reviewed by Simon Fraser.
2347
2348         Test: fast/css/webkit-marquee-anonymous-node-crash.html
2349
2350         * rendering/RenderLayer.cpp:
2351         (WebCore::RenderLayer::scrollTo):
2352         Add null check as renderer()->node() is null for anonymous nodes.
2353
2354 2011-07-29  Mike Reed  <reed@google.com>
2355
2356         [skia] never draw with GDI, so that all text can be gpu-accelerated
2357         https://bugs.webkit.org/show_bug.cgi?id=65203
2358
2359         Reviewed by Kenneth Russell.
2360
2361         * platform/graphics/chromium/FontChromiumWin.cpp:
2362         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
2363         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
2364         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
2365         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
2366         (WebCore::drawGlyphsWin):
2367         (WebCore::Font::drawComplexText):
2368         * platform/graphics/chromium/UniscribeHelper.cpp:
2369         (WebCore::UniscribeHelper::draw):
2370         * platform/graphics/skia/PlatformContextSkia.cpp:
2371         * platform/graphics/skia/PlatformContextSkia.h:
2372         * platform/graphics/skia/SkiaFontWin.cpp:
2373         * platform/graphics/skia/SkiaFontWin.h:
2374
2375 2011-07-29  Sam Weinig  <sam@webkit.org>
2376
2377         Move Region code from WebKit2 to WebCore
2378         https://bugs.webkit.org/show_bug.cgi?id=65392
2379
2380         Reviewed by David Hyatt.
2381
2382         * CMakeLists.txt:
2383         * GNUmakefile.list.am:
2384         * WebCore.gypi:
2385         * WebCore.pro:
2386         * WebCore.vcproj/WebCore.vcproj:
2387         * WebCore.xcodeproj/project.pbxproj:
2388         Update project files.
2389
2390         * WebCore.exp.in:
2391         Update exports.
2392
2393         * platform/graphics/Region.cpp: Copied from Source/WebKit2/Platform/Region.cpp.
2394         * platform/graphics/Region.h: Copied from Source/WebKit2/Platform/Region.h.
2395         Add files.
2396
2397 2011-07-29  Robert Kroeger  <rjkroege@chromium.org>
2398
2399         [chromium] Layering violations in gesture recognizer
2400         https://bugs.webkit.org/show_bug.cgi?id=65044
2401
2402         Reviewed by Adam Barth.
2403
2404         Divided the gesture recognizer up to correct a layering
2405         violation by moving gesture implementation from it to
2406         EventHandler::handleGestureEvent so that the gesture recognizer
2407         could simply be an engine for generating gesture events from
2408         touch events.
2409
2410         * dom/WheelEvent.cpp:
2411         (WebCore::WheelEvent::WheelEvent):
2412         (WebCore::WheelEvent::initWheelEvent):
2413         * dom/WheelEvent.h:
2414         Added symbolic contstant for tick multiplier.
2415         * page/EventHandler.cpp:
2416         (WebCore::EventHandler::EventHandler):
2417         Removed construction of gesture recognizer.
2418         (WebCore::EventHandler::handleGestureEvent):
2419         Extended for new gesture events added in this patch.
2420         (WebCore::EventHandler::handleTouchEvent):
2421         Removed call into gesture recognizer.
2422         * page/EventHandler.h:
2423         * page/FrameView.cpp:
2424         (WebCore::FrameView::reset):
2425         Removed code to reset gesture recognizer.
2426         * platform/PlatformGestureEvent.h:
2427         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
2428         (WebCore::PlatformGestureEvent::deltaX):
2429         (WebCore::PlatformGestureEvent::deltaY):
2430         (WebCore::PlatformGestureEvent::shiftKey):
2431         (WebCore::PlatformGestureEvent::ctrlKey):
2432         (WebCore::PlatformGestureEvent::altKey):
2433         (WebCore::PlatformGestureEvent::metaKey):
2434         Added additional gesture types and parameters.
2435         * platform/PlatformGestureRecognizer.h:
2436         * platform/ScrollAnimatorWin.cpp:
2437         (WebCore::ScrollAnimatorWin::handleGestureEvent):
2438         Added missing method needed to fix the build on windows.
2439         * platform/chromium/FramelessScrollView.h:
2440         Added support for displatching gesture and touch events.
2441         * platform/chromium/GestureRecognizerChromium.cpp:
2442         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
2443         (WebCore::InnerGestureRecognizer::reset):
2444         (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
2445         (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
2446         Removed all depedencies on EventHandler. Instead, create gesture
2447         events from touch event stream.
2448         (WebCore::InnerGestureRecognizer::constructScrollGesture):
2449         (WebCore::touchDown):
2450         (WebCore::noGesture):
2451         (WebCore::click):
2452         (WebCore::isClickOrScroll):
2453         (WebCore::inScroll):
2454         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
2455         (WebCore::GestureRecognizerChromium::reset):
2456         * platform/chromium/GestureRecognizerChromium.h:
2457         * platform/chromium/PopupMenuChromium.cpp:
2458         Added support to handle touch events and gesture events.
2459         (WebCore::PopupContainer::handleTouchEvent):
2460         (WebCore::PopupContainer::handleGestureEvent):
2461         (WebCore::PopupListBox::handleTouchEvent):
2462         (WebCore::PopupListBox::handleGestureEvent):
2463         * platform/chromium/PopupMenuChromium.h:
2464         * platform/mac/ScrollAnimatorMac.mm:
2465         (WebCore::ScrollAnimatorMac::handleGestureEvent):
2466         Ignores the newly added gesture event types.
2467
2468 2011-07-29  Eric Carlson  <eric.carlson@apple.com>
2469
2470         Load delegate not consulted before loading some poster images
2471         https://bugs.webkit.org/show_bug.cgi?id=65270
2472
2473         Reviewed by Joseph Pecoraro.
2474
2475         * html/HTMLVideoElement.cpp:
2476         (WebCore::HTMLVideoElement::setDisplayMode): Don't ask a load delegate if it is OK to 
2477             load an empty poster url.
2478
2479 2011-07-29  Jeff Miller  <jeffm@apple.com>
2480
2481         Re-sort one more file in the WebCore project with Visual Studio.
2482
2483         * WebCore.vcproj/WebCore.vcproj:
2484
2485 2011-07-29  Jeff Miller  <jeffm@apple.com>
2486
2487         Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
2488
2489         * WebCore.vcproj/WebCore.vcproj:
2490
2491 2011-07-29  Dan Bernstein  <mitz@apple.com>
2492
2493         Added the regional indicator symbols to the set of codepoints that force use of the complex text code path.
2494
2495         Fixes <rdar://problem/9864578> Regional indicator symbols do not combine into national flags
2496         https://bugs.webkit.org/show_bug.cgi?id=65380
2497
2498         Reviewed by Anders Carlsson.
2499
2500         Test: fast/text/regional-indicator-symobls.html
2501
2502         * platform/graphics/Font.cpp:
2503         (WebCore::Font::codePath): Added handling of surrogate pairs, which returns Complex for characters in
2504         the range U+1F1E6..U+1F1FF.
2505
2506 2011-07-28  David Hyatt  <hyatt@apple.com>
2507
2508         https://bugs.webkit.org/show_bug.cgi?id=65342
2509
2510         Add support for positioned floats being placed into a RenderBlock's FloatingObject list and for
2511         correct propagation of those floating objects into descendants.
2512
2513         Reviewed by Sam Weinig.
2514
2515         * rendering/RenderBlock.cpp:
2516         (WebCore::RenderBlock::layoutBlock):
2517         The positioned float layout algorithm is 2-pass. You lay out without the positioned objects, and then
2518         once they have been placed, you lay out again and use that placement to determine the float positions.
2519         layoutBlock now has an extra parameter to indicate which layout pass you are in.
2520         
2521         (WebCore::RenderBlock::addOverflowFromFloats):
2522         Don't add overflow from positioned floats ever, since the positioning overflow function takes care of that
2523         already.
2524
2525         (WebCore::RenderBlock::layoutBlockChild):
2526         Include positioned floats in the lowestFloatLogicalBottom we look at so that overhang is computed properly.
2527
2528         (WebCore::RenderBlock::simplifiedLayout):
2529         If layoutPositionedObjects indicates that a positioned float moved, then we can't do simplified layout. Bail
2530         instead and do a full layout.
2531
2532         (WebCore::RenderBlock::positionedFloatsNeedRelayout):
2533         Helper for layoutBlock in order to bypass the 2-pass model if we can detect that none of the positioned objects
2534         will actually need to lay out again. This allows incremental layout to not always fault back to 2-pass as normal
2535         flow content streams in.
2536
2537         (WebCore::RenderBlock::layoutPositionedObjects):
2538         Modified to return a boolean indicating whether a positioned float got a layout. If so, we will lay out again
2539         once our positioned objects are placed.
2540
2541         (WebCore::RenderBlock::insertFloatingObject):
2542         insertFloatingObject can now handle positioned objects being inserted.
2543
2544         (WebCore::RenderBlock::positionNewFloats):
2545         positionNewFloats doesn't attempt to position this new type of float. It only handles left/right floats.
2546
2547         (WebCore::RenderBlock::addPositionedFloats):
2548         Helper to add in the floating objects for positioned floats. This is used instead of positionNewFloats and
2549         just walks the positioned objects instead.
2550
2551         (WebCore::RenderBlock::clearFloats):
2552         clearFloats now handles adding in positioned floats if the layout pass says they should be included.
2553
2554         (WebCore::RenderBlock::marginLogicalLeftForChild):
2555         (WebCore::RenderBlock::marginLogicalRightForChild):
2556         New helpers used by addPositionedFloats.
2557     
2558         (WebCore::RenderBlock::FloatingObjects::clear):
2559         (WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
2560         (WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):
2561         Make sure the object count tracking handles positioned floats as well as left/right floats.
2562     
2563         * rendering/RenderBlock.h:
2564         (WebCore::RenderBlock::logicalLeftForChild):
2565         New helper used by addPositionedFloats.
2566
2567         (WebCore::RenderBlock::FloatingObject::FloatingObject):
2568         Change the constructor to take the RenderStyle enum. This makes the construction simpler.
2569
2570         (WebCore::RenderBlock::hasPositionedFloats):
2571         A bit tracks whether or not a block has positioned floats in its positioned objects list.
2572
2573         (WebCore::RenderBlock::hasOverhangingFloats):
2574         Modified to include positioned floats.
2575
2576         (WebCore::RenderBlock::lowestFloatLogicalBottom):
2577         This function excludes positioned floats by default, so that places that - for example - expand to
2578         encompass their lowestFloatLogicalBottom won't accidentally expand to encompass positioned objects.
2579
2580         (WebCore::RenderBlock::lowestFloatLogicalBottomIncludingPositionedFloats):
2581         A new function that includes positioned floats for callers that care.
2582
2583         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
2584         (WebCore::RenderBlock::FloatingObjects::hasPositionedObjects):
2585         The object count tracking for positioned floats within a block's FloatingObjects list.
2586
2587         * rendering/RenderBox.cpp:
2588         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
2589         Make sure isFloating is set even if isPositioned is also set for the positioned float case.
2590
2591         * rendering/RenderDeprecatedFlexibleBox.cpp:
2592         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2593         Modified to do the extra layout pass if needed.
2594
2595 2011-07-29  Scott Byer  <scottbyer@chromium.org>
2596
2597         Scroll animation refinements.
2598         https://bugs.webkit.org/show_bug.cgi?id=65154
2599
2600         Reviewed by Adam Barth.
2601
2602         Fix scroll animation bugs when scrolling to the ends of a document. Smooth over slow event repeat rates
2603         better. Fix tests to allow for unit testing of scrolling up and not just down.
2604
2605         Additional unit tests added to ScrollAnimatorNoneTest:
2606         ScrollQuadraticSmoothed, ScrollLotsQuadraticSmoothed, ScrollDownToBumper, ScrollUpToBumper
2607
2608         * platform/ScrollAnimatorNone.cpp:
2609         (WebCore::ScrollAnimatorNone::Parameters::Parameters):
2610         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
2611         (WebCore::ScrollAnimatorNone::scroll):
2612         * platform/ScrollAnimatorNone.h:
2613
2614 2011-07-29  Samuel White  <samuel_white@apple.com>
2615
2616         Add the ability to search the AccessibilityObject cache
2617         https://bugs.webkit.org/show_bug.cgi?id=64994
2618         
2619         To support searching the AccessibilityObject cache, we first need to
2620         implement a minimal set of functions that will allow AccessibilityObjects
2621         to be identified when searching using common search criteria. The additional
2622         functions below complement the existing identification functionality already
2623         available and together provide a basic working set to build search on top of.
2624         Additionally, the blockquoteLevel function has been moved into the AccessibilityObject
2625         class to make it available to all platforms.
2626
2627         Reviewed by Chris Fleizach.
2628
2629         New tests will be included in the following patch that will also implement
2630         basic search functionality.
2631
2632         * accessibility/AccessibilityObject.cpp:
2633         (WebCore::AccessibilityObject::isBlockquote):
2634         (WebCore::AccessibilityObject::isLandmark):
2635         (WebCore::AccessibilityObject::hasMisspelling):
2636         (WebCore::AccessibilityObject::blockquoteLevel):
2637         * accessibility/AccessibilityObject.h:
2638         (WebCore::AccessibilityObject::isUnvisited):
2639         (WebCore::AccessibilityObject::hasBoldFont):
2640         (WebCore::AccessibilityObject::hasItalicFont):
2641         (WebCore::AccessibilityObject::hasPlainText):
2642         (WebCore::AccessibilityObject::hasSameFont):
2643         (WebCore::AccessibilityObject::hasSameFontColor):
2644         (WebCore::AccessibilityObject::hasSameStyle):
2645         (WebCore::AccessibilityObject::hasStaticText):
2646         (WebCore::AccessibilityObject::hasUnderline):
2647         (WebCore::AccessibilityObject::tableLevel):
2648         * accessibility/AccessibilityRenderObject.cpp:
2649         (WebCore::AccessibilityRenderObject::isUnvisited):
2650         (WebCore::AccessibilityRenderObject::hasBoldFont):
2651         (WebCore::AccessibilityRenderObject::hasItalicFont):
2652         (WebCore::AccessibilityRenderObject::hasPlainText):
2653         (WebCore::AccessibilityRenderObject::hasSameFont):
2654         (WebCore::AccessibilityRenderObject::hasSameFontColor):
2655         (WebCore::AccessibilityRenderObject::hasSameStyle):
2656         (WebCore::AccessibilityRenderObject::hasUnderline):
2657         * accessibility/AccessibilityRenderObject.h:
2658         * accessibility/AccessibilityTable.cpp:
2659         (WebCore::AccessibilityTable::tableLevel):
2660         * accessibility/AccessibilityTable.h:
2661         * accessibility/mac/AccessibilityObjectWrapper.mm:
2662         (AXAttributeStringSetBlockquoteLevel):
2663         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2664
2665 2011-07-29  Zeng Huiqing  <huiqing.zeng@intel.com>
2666
2667         Avoid calling animation timer updates while the page is loading
2668         https://bugs.webkit.org/show_bug.cgi?id=64851
2669
2670         Reviewed by Simon Fraser.
2671
2672         There is no need to update the animation timer for a RenderObject that has not yet been inserted into the render tree, or that doesn't have animations. Our tests show that this improves page loading by up to 3x on pages with a large number of transitionable objects.
2673
2674         * page/animation/AnimationController.cpp:
2675         (WebCore::AnimationController::updateAnimations):
2676
2677 2011-07-29  Anders Carlsson  <andersca@apple.com>
2678
2679         Pass the HTTP referrer header for URLs loaded by plug-ins
2680         https://bugs.webkit.org/show_bug.cgi?id=65379
2681         <rdar://problem/9822116>
2682
2683         Reviewed by Sam Weinig.
2684
2685         Export a symbol needed by WebKit2.
2686
2687         * WebCore.exp.in:
2688
2689 2011-07-28  Leandro Gracia Gil  <leandrogracia@chromium.org>
2690
2691         Fix speech input icon rect on RTL directions.
2692         https://bugs.webkit.org/show_bug.cgi?id=65333
2693
2694         Reviewed by Tony Gentilcore.
2695
2696         No new tests. This is used by platforms, not WebCore, and
2697         the base functionality is not changed but only the failing cases.
2698
2699         * html/shadow/TextControlInnerElements.cpp:
2700         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2701
2702 2011-07-29  Kent Tamura  <tkent@chromium.org>
2703
2704         Make the ExceptionCode argument of Element::setShadowPseudoId() ASSERT_NO_EXCEPTION by default
2705         https://bugs.webkit.org/show_bug.cgi?id=65363
2706
2707         Reviewed by Hajime Morita.
2708
2709         No new tests. Cleanup-only.
2710
2711         * dom/Element.h: Make the ExceptionCode argument ASSERT_NO_EXCEPTION by default.
2712         * html/ColorInputType.cpp:
2713         (WebCore::ColorInputType::createShadowSubtree): Remove the ExceptionCode argument and ASSERT(!ec).
2714         * html/HTMLTextAreaElement.cpp:
2715         (WebCore::HTMLTextAreaElement::updatePlaceholderText): ditto.
2716         * html/RangeInputType.cpp:
2717         (WebCore::RangeInputType::createShadowSubtree): ditto.
2718         * html/TextFieldInputType.cpp:
2719         (WebCore::TextFieldInputType::createShadowSubtree): ditto.
2720         (WebCore::TextFieldInputType::updatePlaceholderText): ditto.
2721         * html/ValidationMessage.cpp:
2722         (WebCore::ValidationMessage::buildBubbleTree): ditto.
2723
2724 2011-07-28  Luke Macpherson   <macpherson@chromium.org>
2725
2726         Remove remaining uses of CSSPrimitiveValue::computeLengthIntForLength()
2727         https://bugs.webkit.org/show_bug.cgi?id=64919
2728
2729         Reviewed by Darin Adler.
2730
2731         No new tests / cleanup only.
2732
2733         * css/CSSPrimitiveValue.cpp:
2734         (WebCore::CSSPrimitiveValue::computeLength):
2735         Remove implementation of computeLengthIntForLength()
2736         * css/CSSPrimitiveValue.h:
2737         Remove definition of computeLengthIntForLength()
2738         * css/CSSStyleApplyProperty.cpp:
2739         (WebCore::ApplyPropertyLength::applyValue):
2740         Remove use of computeLengthIntForLength()
2741         * css/CSSStyleSelector.cpp:
2742         (WebCore::CSSStyleSelector::applyProperty):
2743         Remove use of computeLengthIntForLength()
2744         * platform/Length.h:
2745         (WebCore::Length::setQuirk):
2746         Adds the ability to set the m_quirk member variable after construction.
2747
2748 2011-07-28  Anders Carlsson  <andersca@apple.com>
2749
2750         Unreviewed, rolling out r88601. (Requested by Sam Weinig).
2751         http://trac.webkit.org/changeset/88601
2752         https://bugs.webkit.org/show_bug.cgi?id=62230
2753
2754         Caused a regression, see https://bugs.webkit.org/show_bug.cgi?id=64378
2755
2756         * dom/StyledElement.cpp:
2757         * dom/StyledElement.h:
2758         * html/HTMLBodyElement.cpp:
2759         (WebCore::HTMLBodyElement::parseMappedAttribute):
2760         (WebCore::HTMLBodyElement::insertedIntoDocument):
2761         (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument):
2762         * html/HTMLBodyElement.h:
2763
2764 2011-07-28  Justin Schuh  <jschuh@chromium.org>
2765
2766         Simplify createCanonicalUUIDString implementation.
2767         https://bugs.webkit.org/show_bug.cgi?id=65157
2768
2769         All ports support OS_RANDOMNESS, so better to have one implementation.
2770
2771         Reviewed by Adam Barth.
2772
2773         Change covered by existing tests.
2774
2775         * platform/UUID.cpp:
2776         (WebCore::createCanonicalUUIDString):
2777
2778 2011-07-28  Devdatta Deshpande  <pwjd73@motorola.com>
2779
2780         Fixed gif animation dependency on system time
2781         https://bugs.webkit.org/show_bug.cgi?id=64996
2782
2783         Reviewed by James Robinson.
2784
2785         Test: Load WebCore/manual-tests/animated-gif-looping.html
2786         Change system time to a time in past
2787
2788         * platform/graphics/BitmapImage.cpp:
2789         (WebCore::BitmapImage::startAnimation): Bitmap animation is now based
2790         on monotonicallyIncreasingTime instead of currentTime
2791
2792 2011-07-28  Luke Zarko  <lukezarko@gmail.com>
2793
2794         V8 should correctly serialize Boolean, Number and String objects.
2795
2796         https://bugs.webkit.org/show_bug.cgi?id=65286
2797
2798         Reviewed by David Levin.
2799         
2800         New APIs were exposed to allow V8 to correctly serialize Boolean, Number and String objects, as well as detect certain native errors as required by the HTML5 Structured Clone algorithm (http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#safe-passing-of-structured-data). SerializedScriptValue should make use of these APIs.
2801
2802         - Checks for and serializes Boolean, Number and String objects.
2803         - Checks for native errors and aborts should a script attempt to serialize them.
2804         - Small name change to clear up the code: m_objectReferenceStack => m_openCompositeReferenceStack
2805
2806         Tests: fast/dom/Window/window-postmessage-clone.html
2807                fast/loader/stateobjects/pushstate-object-types.html
2808
2809         * bindings/v8/SerializedScriptValue.cpp:
2810         (WebCore::V8ObjectMap::Writer::writeBooleanObject):
2811         (WebCore::V8ObjectMap::Writer::writeStringObject):
2812         (WebCore::V8ObjectMap::Writer::writeNumberObject):
2813         (WebCore::V8ObjectMap::Serializer::writeStringObject):
2814         (WebCore::V8ObjectMap::Serializer::writeNumberObject):
2815         (WebCore::V8ObjectMap::Serializer::writeBooleanObject):
2816         (WebCore::V8ObjectMap::Serializer::doSerialize):
2817         (WebCore::V8ObjectMap::Reader::read):
2818         (WebCore::V8ObjectMap::Reader::readStringObject):
2819         (WebCore::V8ObjectMap::Reader::readNumberObject):
2820         (WebCore::V8ObjectMap::Deserializer::deserialize):
2821         (WebCore::V8ObjectMap::Deserializer::openComposite):
2822         (WebCore::V8ObjectMap::Deserializer::closeComposite):
2823
2824 2011-07-28  Adam Barth  <abarth@webkit.org>
2825
2826         Old code about empty security origins could use a bath
2827         https://bugs.webkit.org/show_bug.cgi?id=64735
2828
2829         Reviewed by Dimitri Glazkov.
2830
2831         This patch cleans up some old code related to empty security origins.
2832         It also removes some dodgy code that seems wrong.
2833
2834         Test: http/tests/security/inactive-document-with-empty-security-origin.html
2835
2836         * bindings/generic/BindingSecurityBase.cpp:
2837         (WebCore::BindingSecurityBase::canAccess):
2838         * page/SecurityOrigin.cpp:
2839         (WebCore::SecurityOrigin::isEmpty):
2840         (WebCore::SecurityOrigin::isSecureTransitionTo):
2841         (WebCore::SecurityOrigin::toString):
2842
2843 2011-07-28  Vsevolod Vlasov  <vsevik@chromium.org>
2844
2845         Web Inspector: [REGRESSION] Inspected tab crashes if navigated with inspector open and there are watch expressions added.
2846         https://bugs.webkit.org/show_bug.cgi?id=65322
2847
2848         Reviewed by Pavel Feldman.
2849
2850         * inspector/InspectorController.cpp:
2851         * inspector/InspectorRuntimeAgent.cpp:
2852         (WebCore::InspectorRuntimeAgent::evaluate):
2853         * inspector/InspectorRuntimeAgent.h:
2854         * inspector/WorkerInspectorController.cpp:
2855
2856 2011-07-28  Mihnea Ovidenie  <mihnea@adobe.com>
2857
2858         [CSSRegions]Add basic RenderRegion support
2859         https://bugs.webkit.org/show_bug.cgi?id=64689
2860
2861         Reviewed by David Hyatt.
2862
2863         This patch introduces the RenderRegion object.
2864         A RenderObject that takes its content from a "named" flow will become a RenderRegion, an element that is used to display the content from a RenderFlowThread.
2865         A RenderRegion that is marked to take its content from a non existing flow, will have its content disconnected from the normal flow.
2866
2867         Tests: fast/regions/region-element-display-restriction.html
2868                fast/regions/region-element-dynamic-attach-flow.html
2869                fast/regions/region-element-dynamic-detach-flow.html
2870                fast/regions/render-region-renderer.html
2871
2872         * WebCore.vcproj/WebCore.vcproj:
2873         * WebCore.xcodeproj/project.pbxproj:
2874         * dom/Node.cpp:
2875         (WebCore::Node::diff):
2876         * rendering/RenderObject.cpp:
2877         (WebCore::RenderObject::createObject):
2878         * rendering/RenderObject.h:
2879         (WebCore::RenderObject::isRenderRegion):
2880         * rendering/RenderRegion.cpp: Added.
2881         (WebCore::RenderRegion::RenderRegion):
2882         (WebCore::RenderRegion::~RenderRegion):
2883         (WebCore::RenderRegion::layout):
2884         (WebCore::RenderRegion::paint):
2885         * rendering/RenderRegion.h: Added.
2886         (WebCore::RenderRegion::isRenderRegion):
2887         (WebCore::RenderRegion::renderName):
2888         (WebCore::toRenderRegion):
2889         * rendering/style/RenderStyle.cpp:
2890         (WebCore::RenderStyle::diff):
2891
2892 2011-07-28  Marco Peereboom  <marco@peereboom.us>
2893
2894         [Soup] Cannot override default max-conns and max-conns-per-host Soup Session settings
2895         https://bugs.webkit.org/show_bug.cgi?id=64355
2896         Default max-conns and max-conns-per-host are set at "first contact" with
2897         a site instead of at creation time.  This results in values being
2898         overwritten if they are set prior to said "first contact"; which is the
2899         most likely (or only) scenario.
2900
2901         Reviewed by Martin Robinson.
2902
2903         No new tests.  Rigged libsoup and xxxterm web browser to diagnose the
2904         issue and validate the patch.
2905
2906         * platform/network/soup/ResourceHandleSoup.cpp:
2907         (WebCore::ensureSessionIsInitialized): No longer ininitalize connection limits.
2908         (WebCore::ResourceHandle::defaultSession): Initialize connection limits here instead.
2909
2910 2011-07-28  Brady Eidson  <beidson@apple.com>
2911
2912         https://bugs.webkit.org/show_bug.cgi?id=65323
2913         r91931 causes NOTREACHED to be hit via StorageTracker
2914
2915         Change the meaning of the "has been initialized" flag to "needs initialization", and only set it to true
2916         if the ::initializeTracker() method has been called.
2917
2918         Reviewed by Sam Weinig.
2919
2920         * storage/StorageTracker.cpp:
2921         (WebCore::StorageTracker::initializeTracker): Set m_needsInitialization to true since the calling WebKit port expects full
2922           initialization instead of a dummy tracker.
2923         (WebCore::StorageTracker::internalInitialize):
2924         (WebCore::StorageTracker::tracker): Only initialize the tracker if it was created in the above initializeTracker().
2925         (WebCore::StorageTracker::StorageTracker):
2926         * storage/StorageTracker.h:
2927
2928 2011-07-28  David Kilzer  <ddkilzer@apple.com>
2929
2930         <http://webkit.org/b/65289> Remove GeolocationPositionCache
2931
2932         Reviewed by Adam Barth.
2933
2934         * CMakeLists.txt: Remove references to GeolocationPositionCache.
2935         * GNUmakefile.list.am: Ditto.
2936         * WebCore.gypi: Ditto.
2937         * WebCore.order: Ditto.
2938         * WebCore.pro: Ditto.
2939         * WebCore.vcproj/WebCore.vcproj: Ditto.
2940         * WebCore.xcodeproj/project.pbxproj: Ditto.
2941
2942         * page/Geolocation.cpp: Switch from using m_positionCache to
2943         m_cachedPosition.
2944         (WebCore::Geolocation::makeCachedPositionCallbacks):
2945         (WebCore::Geolocation::haveSuitableCachedPosition):
2946         (WebCore::Geolocation::positionChangedInternal):
2947         * page/Geolocation.h: Remove PositionCacheWrapper and replace
2948         with RefPtr<Geoposition>.
2949         * page/GeolocationPositionCache.cpp: Removed.
2950         * page/GeolocationPositionCache.h: Removed.
2951
2952 2011-07-28  Dan Bernstein  <mitz@apple.com>
2953
2954         <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds
2955
2956         Reviewed by Darin Adler.
2957
2958         * WebCore.exp.in: Exported wkGetVerticalGlyphsForCharacters.
2959         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2960         (WebCore::GlyphPage::fill): Use wkGetVerticalGlyphsForCharacters. If it returns false, proceed
2961         with the existing, slower method of getting vertical glyphs.
2962         * platform/mac/WebCoreSystemInterface.h:
2963         * platform/mac/WebCoreSystemInterface.mm:
2964
2965 2011-07-28  Brady Eidson  <beidson@apple.com>
2966
2967         <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306
2968         WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView
2969
2970         Move the heavy lifting done in StorageTracker::initializeTracker() until when the global tracker is actually
2971         accessed, therefore deferring it until a web page actually uses LocalStorage or the app uses the API.
2972
2973         Reviewed by Maciej Stachowiak.
2974
2975         No new tests. (Not possible to test this API implementation detail)
2976
2977         * WebCore.exp.in:
2978
2979         * storage/StorageAreaImpl.cpp:
2980         (WebCore::StorageAreaImpl::StorageAreaImpl): Access the global StorageTracker to indicate that a web page
2981           is actually using the storage APIs.
2982
2983         * storage/StorageTracker.cpp:
2984         (WebCore::StorageTracker::initializeTracker): Moved the potentially hefty work from here...
2985         (WebCore::StorageTracker::internalInitialize): ...to here.
2986         (WebCore::StorageTracker::tracker): If the global tracker hasn't had internalInitialize() called, do so.
2987         (WebCore::StorageTracker::StorageTracker):
2988         * storage/StorageTracker.h:
2989
2990 2011-07-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2991
2992         [GTK] Copy and paste is broken in WebKit2
2993         https://bugs.webkit.org/show_bug.cgi?id=65252
2994
2995         Reviewed by Martin Robinson.
2996
2997         Use gtk_clipboard_get_for_display() instead of
2998         gtk_widget_get_clipboard(), using the the default display when
2999         there's no page client widget, which is the case of WebKit2.
3000
3001         * platform/gtk/PasteboardHelper.cpp:
3002         (WebCore::displayFromFrame): Return the display of the current
3003         frame widget or the default display if there's no widget.
3004         (WebCore::PasteboardHelper::getClipboard):
3005         (WebCore::PasteboardHelper::getPrimarySelectionClipboard):
3006
3007 2011-07-28  Vsevolod Vlasov  <vsevik@chromium.org>
3008
3009         Web Inspector: Add resource initiator column to network panel.
3010         https://bugs.webkit.org/show_bug.cgi?id=65105
3011
3012         Reviewed by Pavel Feldman.
3013
3014         Test: http/tests/inspector/network/network-initiator.html
3015
3016         * English.lproj/localizedStrings.js:
3017         * dom/Document.cpp:
3018         (WebCore::Document::scheduleStyleRecalc):
3019         * inspector/Inspector.json:
3020         * inspector/InspectorInstrumentation.cpp:
3021         (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
3022         (WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
3023         (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
3024         * inspector/InspectorInstrumentation.h:
3025         (WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
3026         * inspector/InspectorResourceAgent.cpp:
3027         (WebCore::InspectorResourceAgent::willSendRequest):
3028         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
3029         (WebCore::InspectorResourceAgent::willRecalculateStyle):
3030         (WebCore::InspectorResourceAgent::didRecalculateStyle):
3031         (WebCore::InspectorResourceAgent::didScheduleStyleRecalculation):
3032         (WebCore::InspectorResourceAgent::buildInitiatorObject):
3033         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3034         * inspector/InspectorResourceAgent.h:
3035         * inspector/front-end/NetworkManager.js:
3036         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
3037         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
3038         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
3039         (WebInspector.NetworkDispatcher.prototype._createResource):
3040         * inspector/front-end/NetworkPanel.js:
3041         (WebInspector.NetworkLogView.prototype._createTable):
3042         (WebInspector.NetworkLogView.prototype._createSortingFunctions):
3043         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
3044         (WebInspector.NetworkLogView.prototype.switchToBriefView):
3045         (WebInspector.NetworkLogView.prototype._toggleGridMode):
3046         (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
3047         (WebInspector.NetworkDataGridNode.prototype.createCells):
3048         (WebInspector.NetworkDataGridNode.prototype.refreshResource):
3049         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
3050         (WebInspector.NetworkDataGridNode.InitiatorComparator):
3051         * inspector/front-end/networkLogView.css:
3052         (.initiator-column a):
3053
3054 2011-07-28  Rob Buis  <rbuis@rim.com>
3055
3056         Use styling test from ietestcenter fails
3057         https://bugs.webkit.org/show_bug.cgi?id=62147 
3058
3059         Reviewed by Nikolas Zimmermann.
3060
3061         Make sure CSS selectors are applied to the DOM tree referenced by <use>, not the internal shadow tree. In order to quickly
3062         find the corresponding DOM tree element store this info in SVGElementRareData. 
3063
3064         Test: svg/W3C-SVG-1.1-SE/struct-use-11-f.svg
3065
3066         * rendering/svg/SVGShadowTreeElements.cpp:
3067         (WebCore::SVGShadowTreeContainerElement::styleForRenderer):
3068         * rendering/svg/SVGShadowTreeElements.h:
3069         * svg/SVGElement.cpp:
3070         (WebCore::SVGElement::correspondingElement):
3071         (WebCore::SVGElement::setCorrespondingElement):
3072         (WebCore::SVGElement::styleForRenderer):
3073         * svg/SVGElement.h:
3074         * svg/SVGElementInstance.cpp:
3075         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
3076         * svg/SVGElementRareData.h:
3077         (WebCore::SVGElementRareData::SVGElementRareData):
3078         (WebCore::SVGElementRareData::correspondingElement):
3079         (WebCore::SVGElementRareData::setCorrespondingElement):
3080         * svg/SVGStyledElement.cpp:
3081         (WebCore::SVGStyledElement::removedFromDocument):
3082         * svg/SVGUseElement.cpp:
3083         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3084         * svg/SVGUseElement.h:
3085
3086 2011-07-28  Denis Oliver Kropp  <dok@directfb.org>
3087
3088         This fixes build without video enabled.
3089         https://bugs.webkit.org/show_bug.cgi?id=65084
3090
3091         Reviewed by Philippe Normand.
3092
3093         Test with --disable-video.
3094
3095         * dom/EventDispatcher.cpp:
3096         (WebCore::EventDispatcher::determineDispatchBehavior):
3097
3098 2011-07-28  Yuta Kitamura  <yutak@chromium.org>
3099
3100         WebSocket: Pass the value of useHixie76Protocol flag to WebSocket object
3101         https://bugs.webkit.org/show_bug.cgi?id=65250
3102
3103         Reviewed by Alexey Proskuryakov.
3104
3105         Add useHixie76Protocol() method to WebSocketChannel and its family. To implement hybi-specific
3106         attributes in WebSocket object, WebSocket class needs to be able to get the value of
3107         useHixie76Protocol flag of WebSocketChannel.
3108
3109         If the WebSocket object is created in a worker thread, the flag value must be obtained from
3110         WebSocketChannel which resides in the loader thread (through WorkerThreadableWebSocketChannel).
3111         Since the value does not change after creation of WebSocketChannel, it can be cached in
3112         the worker thread.
3113
3114         There is no change in behavior, thus no new tests.
3115
3116         * websockets/ThreadableWebSocketChannel.h:
3117         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
3118         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
3119         (WebCore::ThreadableWebSocketChannelClientWrapper::useHixie76Protocol):
3120         (WebCore::ThreadableWebSocketChannelClientWrapper::setUseHixie76Protocol):
3121         * websockets/ThreadableWebSocketChannelClientWrapper.h:
3122         * websockets/WebSocketChannel.cpp:
3123         (WebCore::WebSocketChannel::useHixie76Protocol):
3124         * websockets/WebSocketChannel.h:
3125         * websockets/WorkerThreadableWebSocketChannel.cpp:
3126         (WebCore::WorkerThreadableWebSocketChannel::useHixie76Protocol):
3127         (WebCore::WorkerThreadableWebSocketChannel::Peer::useHixie76Protocol):
3128         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
3129         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
3130         * websockets/WorkerThreadableWebSocketChannel.h:
3131
3132 2011-07-28  Rob Buis  <rbuis@rim.com>
3133
3134         REGRESSION (r91125): Google Drawings is broken
3135         https://bugs.webkit.org/show_bug.cgi?id=65257
3136
3137         Reviewed by Darin Adler.
3138
3139         Only consider zero-length path rendering code path when a stroke is defined.
3140
3141         Test: svg/custom/zero-path-square-cap-rendering2.svg
3142
3143         * rendering/svg/RenderSVGPath.cpp:
3144         (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
3145
3146 2011-07-22  Martin Robinson  <mrobinson@igalia.com>
3147
3148         [Cairo] Switch from ContextShadow to ShadowBlur
3149         https://bugs.webkit.org/show_bug.cgi?id=64744
3150
3151         Use ShadowBlur in the Cairo backend instead of ContextShadow. This allows us
3152         to share shadowing code with Qt and Mac ports and to correct some broken
3153         shadow rendering.
3154
3155         Reviewed by Dirk Schulze.
3156
3157         * CMakeLists.txt: Remove ContextShadow from the build.
3158         * CMakeListsEfl.txt: Ditto.
3159         * GNUmakefile.list.am: Add ShadowBlur source files and remove ContextShadow
3160         source files.
3161         * platform/graphics/GraphicsContext.cpp:Add #ifdefs to support ShadowBlur for Cairo.
3162         * platform/graphics/GraphicsContext.h: Remove Cairo ContextShadow code.
3163         * platform/graphics/ShadowBlur.cpp:
3164         (WebCore::ShadowBlur::drawInsetShadowWithTiling): Since the ShadowBlur is a property
3165         of the GraphicsContext, we cannot clear the GraphicsContext shadow until we have
3166         finished using properties like m_offset. If we clear the GrahpicsContext shadow
3167         before using these properties, they will be zero when we try to use them.
3168         (WebCore::ShadowBlur::drawRectShadowWithTiling):Ditto.
3169         (WebCore::ShadowBlur::drawLayerPieces): Ditto.
3170         (WebCore::ShadowBlur::beginShadowLayer):Cairo is the first port to keep ShadowBlur
3171         as a persistent property of GraphicsContext and use drawRectShadow and drawInsetShadow.
3172         Thus, we must manually clear the cached tiling values so that ShadowBlur does not
3173         try to reuse the scratch buffer for rectangular shadows after using beginShadowLayer
3174         and endShadowLayer.
3175         (WebCore::ShadowBlur::mustUseShadowBlur): Moved this method from the Qt port to
3176         this cross-platform location.
3177         * platform/graphics/ShadowBlur.h: Added new method declaration.
3178         * platform/graphics/cairo/ContextShadowCairo.cpp: Removed.
3179         * platform/graphics/cairo/FontCairo.cpp: Switched to using ShadowBlur.
3180         (WebCore::drawGlyphsShadow):Ditto.
3181         * platform/graphics/cairo/GraphicsContextCairo.cpp: Switch to using ShadowBlur.
3182         (WebCore::drawPathShadow): ShadowBlur has slightly different semantics than
3183         ContextShadow. When filling the shadow layer, we do not need to use the fill
3184         alpha. We also need to restore the Cairo path to the target context after
3185         endShadowLayer as it destroys the current path.
3186         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Switch to using ShadowBlur.
3187         * platform/graphics/cairo/ImageCairo.cpp: Ditto.
3188         * platform/graphics/cairo/PlatformContextCairo.cpp:
3189         (WebCore::PlatformContextCairo::drawSurfaceToContext):Ditto.
3190         (WebCore::PlatformContextCairo::prepareForStroking): Add a mode ignoring alpha.
3191         * platform/graphics/cairo/PlatformContextCairo.h: Ditto.
3192         (WebCore::PlatformContextCairo::shadowBlur):Added.
3193         * platform/graphics/gtk/FontGtk.cpp: Update to use ShadowBlur.
3194         * platform/graphics/qt/GraphicsContextQt.cpp: Switch to using the new version of mustUseShadowBlur.
3195
3196 2011-07-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3197
3198         [EFL] Add dummy NotificationPresenterClientEfl
3199         https://bugs.webkit.org/show_bug.cgi?id=64064
3200
3201         Add two files to CMakeLists.txt for HTML5 Notification.
3202
3203         Reviewed by Antonio Gomes.
3204
3205         * CMakeLists.txt:
3206
3207 2011-07-27  Ryosuke Niwa  <rniwa@webkit.org>
3208
3209         Calling window.find immediately after mutating the document crashes WebKit.
3210         https://bugs.webkit.org/show_bug.cgi?id=65296
3211
3212         Reviewed by Darin Adler.
3213
3214         Don't forget to layout first.
3215
3216         Test: editing/text-iterator/find-after-mutation.html
3217
3218         * editing/TextIterator.cpp:
3219         (WebCore::findPlainText):
3220
3221 2011-07-27  Ben Wells  <benwells@chromium.org>
3222
3223         Remove skia special case for outline rendering code
3224         https://bugs.webkit.org/show_bug.cgi?id=65295
3225
3226         Reviewed by James Robinson.
3227
3228         The fix for bug 58999 (outlines with alpha channels showed artifacts in the corners) was
3229         excluded from skia builds until bug 61369 (skia drawConvexPoly didn't pay attention to
3230         shouldAntialias) was fixed. That bug is fixed so now the #if's can be removed.
3231
3232         * rendering/RenderInline.cpp:
3233         (WebCore::RenderInline::paintOutline):
3234         * rendering/RenderObject.cpp:
3235         (WebCore::RenderObject::paintOutline):
3236
3237 2011-07-27  Adam Barth  <abarth@webkit.org>
3238
3239         Crypto.idl doesn't need legacy optional arguments
3240         https://bugs.webkit.org/show_bug.cgi?id=65298
3241
3242         Reviewed by Darin Adler.
3243
3244         This API is relatively new and useless to call without its only argument.
3245
3246         * page/Crypto.idl:
3247
3248 2011-07-27  Mark Hahnenberg  <mhahnenberg@apple.com>
3249
3250         Remove operator new from JSCell
3251         https://bugs.webkit.org/show_bug.cgi?id=64999
3252
3253         Reviewed by Oliver Hunt.
3254
3255         No new tests.
3256
3257         Removed the implementation of operator new in JSCell, so any further uses
3258         will not successfully link.  Also removed any remaining uses of operator new.
3259
3260         * bridge/c/CRuntimeObject.h:
3261         (JSC::Bindings::CRuntimeObject::create):
3262         * bridge/c/c_instance.cpp:
3263         (JSC::Bindings::CInstance::newRuntimeObject):
3264         (JSC::Bindings::CRuntimeMethod::create):
3265         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
3266         (JSC::Bindings::CInstance::getMethod):
3267         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3268         (JavaInstance::newRuntimeObject):
3269         (JavaRuntimeMethod::create):
3270         (JavaRuntimeMethod::JavaRuntimeMethod):
3271         (JavaInstance::getMethod):
3272         * bridge/jni/jsc/JavaRuntimeObject.h:
3273         (JSC::Bindings::JavaRuntimeObject::create):
3274         * bridge/objc/ObjCRuntimeObject.h:
3275         (JSC::Bindings::ObjCRuntimeObject::create):
3276         * bridge/objc/objc_class.mm:
3277         (JSC::Bindings::ObjcClass::fallbackObject):
3278         * bridge/objc/objc_instance.mm:
3279         (ObjcInstance::newRuntimeObject):
3280         (ObjCRuntimeMethod::create):
3281         (ObjCRuntimeMethod::ObjCRuntimeMethod):
3282         (ObjcInstance::getMethod):
3283         * bridge/objc/objc_runtime.h:
3284         (JSC::Bindings::ObjcFallbackObjectImp::create):
3285
3286 2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>
3287
3288         Web Inspector: Network panel sidebar should have width saved in preferences when resource is selected.
3289         https://bugs.webkit.org/show_bug.cgi?id=65256
3290
3291         Reviewed by Pavel Feldman.
3292
3293         * inspector/front-end/NetworkPanel.js:
3294         (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
3295         (WebInspector.NetworkPanel.prototype.restoreSidebarWidth):
3296         (WebInspector.NetworkPanel.prototype._showResource):
3297         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
3298         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
3299         * inspector/front-end/Panel.js:
3300         (WebInspector.Panel.prototype.show):
3301         (WebInspector.Panel.prototype.preferredSidebarWidth):
3302         (WebInspector.Panel.prototype.get restoreSidebarWidth):
3303
3304 2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>
3305
3306         Web Inspector: [REGRESSION] [Chromium] Opening link in new tab does not work properly.
3307         https://bugs.webkit.org/show_bug.cgi?id=65279
3308
3309         Reviewed by Pavel Feldman.
3310
3311         * inspector/InspectorPageAgent.cpp:
3312         (WebCore::InspectorPageAgent::open):
3313
3314 2011-07-27  Adam Klein  <adamk@chromium.org>
3315
3316         [V8] Remove unused m_isWeak member of V8AbstractEventListener
3317         https://bugs.webkit.org/show_bug.cgi?id=65273
3318
3319         Reviewed by Adam Barth.
3320
3321         m_isWeak is set to true in the constructor and never changed,
3322         so the one if statement that tests it always executes; the
3323         code has been updated to make this clear.
3324
3325         No behavior change, thus no tests.
3326
3327         * bindings/v8/V8AbstractEventListener.cpp:
3328         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
3329         (WebCore::V8AbstractEventListener::setListenerObject):
3330         * bindings/v8/V8AbstractEventListener.h:
3331
3332 2011-07-27  Fady Samuel  <fsamuel@chromium.org>
3333
3334         Popups on Chromium now check the minimum row height set through the Chromium WebKit API when
3335         computing the height of a row in a popup listbox.
3336         https://bugs.webkit.org/show_bug.cgi?id=64897
3337
3338         Reviewed by Darin Fisher.
3339
3340         No new tests.
3341
3342         * platform/chromium/PopupMenuChromium.cpp:
3343         (WebCore::PopupListBox::getRowHeight):
3344         * platform/chromium/PopupMenuChromium.h:
3345         (WebCore::PopupMenuChromium::minimumRowHeight):
3346         (WebCore::PopupMenuChromium::setMinimumRowHeight):
3347
3348 2011-07-27  MORITA Hajime  <morrita@google.com>
3349
3350         Inconsistent state of TreeScope reference.
3351         https://bugs.webkit.org/show_bug.cgi?id=65235
3352         
3353         The tree scope pointers on shadow tree nodes didn't cleared.
3354         even when the tree scope (shadow root) is destroyed.
3355         This change clear these poitners before detaching the shadow root.
3356
3357         Reviewed by Dimitri Glazkov.
3358
3359         Test: fast/dom/shadow/tree-scope-crash.html
3360
3361         * dom/Element.cpp:
3362         (WebCore::Element::removeShadowRoot):
3363
3364 2011-07-27  Rachel Blum  <groby@chromium.org>
3365
3366         Implement sizes attribute for link tag from HTML5
3367         https://bugs.webkit.org/show_bug.cgi?id=37674
3368
3369         Reviewed by Dimitri Glazkov.
3370
3371         Test: fast/dom/icon-size-property.html
3372
3373         * WebCore.gypi:
3374         * WebCore.pro:
3375         * bindings/js/JSHTMLLinkElementCustom.cpp:
3376         (WebCore::JSHTMLLinkElement::sizes):
3377         (WebCore::JSHTMLLinkElement::setSizes):
3378         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp: Added.
3379         (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
3380         (WebCore::V8HTMLLinkElement::sizesAccessorSetter):
3381         * html/HTMLAttributeNames.in:
3382         * html/HTMLLinkElement.cpp:
3383         (WebCore::HTMLLinkElement::HTMLLinkElement):
3384         (WebCore::HTMLLinkElement::parseMappedAttribute):
3385         (WebCore::HTMLLinkElement::sizes):
3386         (WebCore::HTMLLinkElement::setSizes):
3387         * html/HTMLLinkElement.h:
3388         * html/HTMLLinkElement.idl:
3389
3390 2011-07-27  Pratik Solanki  <psolanki@apple.com>
3391
3392         Incorrect arguments passed to LOG statement
3393         https://bugs.webkit.org/show_bug.cgi?id=65293
3394
3395         Reviewed by Oliver Hunt.
3396
3397         * platform/network/mac/ResourceHandleMac.mm:
3398         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]):
3399
3400 2011-07-27  Levi Weintraub  <leviw@chromium.org>
3401
3402         Switch transform operations to FloatSize
3403         https://bugs.webkit.org/show_bug.cgi?id=64301
3404
3405         Reviewed by Simon Fraser.
3406
3407         Changing TransformOperation and its progeny to operate on FloatSizes instead of IntSizes.
3408
3409         * platform/graphics/transforms/IdentityTransformOperation.h:
3410         (WebCore::IdentityTransformOperation::apply):
3411         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
3412         (WebCore::Matrix3DTransformOperation::blend):
3413         * platform/graphics/transforms/Matrix3DTransformOperation.h:
3414         (WebCore::Matrix3DTransformOperation::apply):
3415         * platform/graphics/transforms/MatrixTransformOperation.cpp:
3416         (WebCore::MatrixTransformOperation::blend):
3417         * platform/graphics/transforms/MatrixTransformOperation.h:
3418         (WebCore::MatrixTransformOperation::apply):
3419         * platform/graphics/transforms/PerspectiveTransformOperation.h:
3420         (WebCore::PerspectiveTransformOperation::apply):
3421         * platform/graphics/transforms/RotateTransformOperation.h:
3422         (WebCore::RotateTransformOperation::apply):
3423         * platform/graphics/transforms/ScaleTransformOperation.h:
3424         (WebCore::ScaleTransformOperation::apply):
3425         * platform/graphics/transforms/SkewTransformOperation.h:
3426         (WebCore::SkewTransformOperation::apply):
3427         * platform/graphics/transforms/TransformOperation.h:
3428         * platform/graphics/transforms/TransformOperations.h:
3429         (WebCore::TransformOperations::apply):
3430         * platform/graphics/transforms/TranslateTransformOperation.h:
3431         (WebCore::TranslateTransformOperation::x):
3432         (WebCore::TranslateTransformOperation::y):
3433         (WebCore::TranslateTransformOperation::z):
3434         (WebCore::TranslateTransformOperation::apply):
3435
3436 2011-07-27  Levi Weintraub  <leviw@chromium.org>
3437
3438         unicode-bidi:-webkit-plaintext does not work on <textarea>
3439         https://bugs.webkit.org/show_bug.cgi?id=65074
3440
3441         Reviewed by Ryosuke Niwa.
3442
3443         Fixing unicode-bidi style propagation into text control shadow trees.
3444
3445         Test: fast/text/international/unicode-bidi-plaintext-in-textarea.html
3446
3447         * rendering/RenderTextControl.cpp:
3448         (WebCore::RenderTextControl::adjustInnerTextStyle):
3449
3450 2011-07-27  Eric Carlson  <eric.carlson@apple.com>
3451
3452         Load delegate not consulted before loading some poster images
3453         https://bugs.webkit.org/show_bug.cgi?id=65270
3454
3455         Reviewed by Darin Adler.
3456
3457         Test: media/video-poster-blocked-by-willsendrequest.html
3458
3459         * html/HTMLVideoElement.cpp:
3460         (WebCore::HTMLVideoElement::setDisplayMode): Don't ask media engine to set poster if
3461             willLoadMediaElementURL returns false.
3462
3463 2011-07-27  Stephen White  <senorblanco@chromium.org>
3464
3465         Fix for printing with accelerated <canvas>
3466         https://bugs.webkit.org/show_bug.cgi?id=62406
3467
3468         Reviewed by James Robinson.
3469
3470         The platform-independent side of this should be covered by existing
3471         tests.  Printing itself in Chrome has few tests, sadly.  :(
3472
3473         * html/HTMLCanvasElement.cpp:
3474         (WebCore::HTMLCanvasElement::paint):
3475         * platform/graphics/skia/ImageBufferSkia.cpp:
3476         (WebCore::ImageBuffer::draw):
3477
3478 2011-07-25  Mihai Parparita  <mihaip@chromium.org>
3479
3480         [Chromium] Add better WebKit API for chrome.tabs.insertCSS extension API
3481         https://bugs.webkit.org/show_bug.cgi?id=65158
3482
3483         Reviewed by David Hyatt.
3484
3485         Add per-Document instance user stylesheets (as opposed to the page 
3486         group user styles and the global page stylesheet).
3487
3488         * css/CSSStyleSelector.cpp:
3489         (WebCore::CSSStyleSelector::CSSStyleSelector):
3490         * css/CSSStyleSelector.h:
3491         * dom/Document.cpp:
3492         (WebCore::Document::~Document):
3493         (WebCore::Document::createStyleSelector):
3494         (WebCore::Document::addUserSheet):
3495         * dom/Document.h:
3496
3497 2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>
3498
3499         Web Inspector: Disable cache option should only clear memory cache, not disable it.
3500         https://bugs.webkit.org/show_bug.cgi?id=65184
3501
3502         Reviewed by Pavel Feldman.
3503
3504         * inspector/InspectorClient.h:
3505         * inspector/InspectorResourceAgent.cpp:
3506         (WebCore::InspectorResourceAgent::enable):
3507         (WebCore::InspectorResourceAgent::disable):
3508         (WebCore::InspectorResourceAgent::setCacheDisabled):
3509         (WebCore::InspectorResourceAgent::mainFrameNavigated):
3510
3511 2011-07-27  Rob Buis  <rbuis@rim.com>
3512
3513         Implement getIntersectionList(), getEnclosureList(), checkIntersection() and checkEnclosure() in SVGSVGElement
3514         https://bugs.webkit.org/show_bug.cgi?id=11274
3515
3516         Reviewed by Nikolas Zimmermann.
3517
3518         Implement checkIntersection/checkEnclosure and use it to implement getIntersectionList and getEnclosureList as well.
3519         The referenceElement is used to provide a DOM subtree to find matches in. Also we do not allow elements that specify
3520         pointer-events=none in the list.
3521
3522         Tests: svg/W3C-SVG-1.1-SE/struct-dom-11-f.svg
3523                svg/custom/intersection-list-clipping.svg
3524                svg/custom/intersection-list-nested-svg.svg
3525
3526         * rendering/svg/RenderSVGModelObject.cpp:
3527         (WebCore::getElementCTM):
3528         (WebCore::intersectsAllowingEmpty):
3529         (WebCore::isGraphicsElement):
3530         (WebCore::RenderSVGModelObject::checkIntersection):
3531         (WebCore::RenderSVGModelObject::checkEnclosure):
3532         * rendering/svg/RenderSVGModelObject.h:
3533         * svg/SVGSVGElement.cpp:
3534         (WebCore::SVGSVGElement::checkIntersection):
3535         (WebCore::SVGSVGElement::checkEnclosure):
3536
3537 2011-07-27  Becsi Andras  <abecsi@webkit.org>
3538
3539         [Qt][V8] Fix the build.
3540
3541         Unreviewed build fix.
3542
3543         No new tests needed.
3544
3545         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Add missing CString.h include.
3546
3547 2011-07-27  Alexis Menard  <alexis.menard@openbossa.org>
3548
3549         [Qt] Unreviewed build fix for mac.
3550
3551         QtKit is now our default media player, the define is WTF_USE_QTKIT and it's not part
3552         of the options passed to build-webkit, therefore DerivedSources should now generate the
3553         includes when it's mac.
3554
3555         * DerivedSources.pro:
3556         * WebCore.pro:
3557
3558 2011-07-27  Yury Semikhatsky  <yurys@chromium.org>
3559
3560         Inspector should support cd(window) in the command line
3561         https://bugs.webkit.org/show_bug.cgi?id=19872
3562
3563         Added dropdown list with all iframes to allow selecting current evaluation context for console expressions.
3564
3565         Reviewed by Pavel Feldman.
3566
3567         Test: http/tests/inspector/console-cd.html
3568
3569         * WebCore.gypi:
3570         * inspector/Inspector.json:
3571         * inspector/InspectorController.cpp:
3572         (WebCore::InspectorController::InspectorController):
3573         * inspector/InspectorRuntimeAgent.cpp:
3574         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
3575         (WebCore::InspectorRuntimeAgent::evaluate):
3576         * inspector/InspectorRuntimeAgent.h:
3577         * inspector/WorkerInspectorController.cpp:
3578         * inspector/front-end/ConsoleView.js:
3579         (WebInspector.ConsoleView.prototype.addContext):
3580         (WebInspector.ConsoleView.prototype.removeContext):
3581         (WebInspector.ConsoleView.prototype._contextUpdated):
3582         (WebInspector.ConsoleView.prototype.get _currentEvaluationContextId):
3583         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
3584         * inspector/front-end/ContextManager.js: Added.
3585         (WebInspector.ContextManager):
3586         (WebInspector.ContextManager.prototype._frameAdded):
3587         (WebInspector.ContextManager.prototype._frameNavigated):
3588         (WebInspector.ContextManager.prototype._frameDetached):
3589         (WebInspector.FrameEvaluationContext):
3590         (WebInspector.FrameEvaluationContext.prototype._frameNavigated):
3591         (WebInspector.FrameEvaluationContext.prototype.get id):
3592         (WebInspector.FrameEvaluationContext.prototype.get url):
3593         (WebInspector.FrameEvaluationContext.prototype.get displayName):
3594         * inspector/front-end/ResourceTreeModel.js:
3595         (WebInspector.ResourceTreeModel.prototype._cleanupFramesAfterNavigation):
3596         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
3597         * inspector/front-end/WebKit.qrc:
3598         * inspector/front-end/inspector.html:
3599         * inspector/front-end/inspector.js:
3600
3601 2011-07-27  Shinya Kawanaka  <shinyak@google.com>
3602
3603         Uses isHTMLSpace to normalize white spaces.
3604         https://bugs.webkit.org/show_bug.cgi?id=57746
3605
3606         Reviewed by Kent Tamura.
3607
3608         Test: fast/forms/option-strip-unicode-spaces.html
3609
3610         * dom/OptionElement.cpp:
3611         (WebCore::OptionElement::normalizeText):
3612           Uses isHTMLSpace to trim and replace white spaces.
3613
3614 2011-05-15  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
3615
3616         [chromium] Remove include of skia/ext/platform_canvas.h
3617         https://bugs.webkit.org/show_bug.cgi?id=60852
3618
3619         Reviewed by Hajime Morita.
3620
3621         In https://bugs.webkit.org/show_bug.cgi?id=57563 the usage of the
3622         skia::PlatformCanvas was eliminated in favor of directly using
3623         SkCanvas directly. The include of platform_canvas.h was not removed
3624         leaving the dependency on Chromium in the header files. Remove
3625         that dependency now.
3626
3627         * platform/graphics/skia/PlatformContextSkia.h: Remove platform_canvas.h
3628
3629 2011-07-27  Mikhail Naganov  <mnaganov@chromium.org>
3630
3631         Web Inspector: [Chromium] REGRESSION: Uncaught TypeError: Cannot read property 'isTracingToWindowObjects' of undefined
3632         https://bugs.webkit.org/show_bug.cgi?id=65213
3633
3634         Reviewed by Pavel Feldman.
3635
3636         * inspector/front-end/DetailedHeapshotView.js:
3637         (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
3638
3639 2011-07-27  Shinya Kawanaka  <shinyak@google.com>
3640
3641         Knob of a disabled or readonly range control should not be draggable.
3642         https://bugs.webkit.org/show_bug.cgi?id=54820
3643
3644         Reviewed by Kent Tamura.
3645
3646         Made disabled or readonly range control undraggable.
3647
3648         Test: fast/forms/range-drag.html
3649
3650         * html/RangeInputType.cpp:
3651         (WebCore::RangeInputType::handleMouseDownEvent):
3652           Added check that the element is readonly or disabled.
3653         * html/shadow/SliderThumbElement.cpp:
3654         (WebCore::SliderThumbElement::defaultEventHandler): ditto.
3655
3656 2011-07-27  Yuta Kitamura  <yutak@chromium.org>
3657
3658         WebSocket: CloseEvent attribute is not available on WebWorkers in JSC
3659         https://bugs.webkit.org/show_bug.cgi?id=65232
3660
3661         Reviewed by Kent Tamura.
3662
3663         Add [NoStaticTables] attribute to CloseEvent interface definition. This attribute
3664         makes the code generator obtain the attributes table used for building ClassInfo
3665         through JSGlobalData, instead of directly using a statically-allocated table.
3666
3667         Generally speaking, NoStaticTables needs to be specified in interfaces which
3668         may be accessed from workers.
3669
3670         Tests: http/tests/websocket/tests/hybi/workers/shared-worker-simple.html (updated)
3671                http/tests/websocket/tests/hybi/workers/worker-simple.html (updated)
3672
3673         * websockets/CloseEvent.idl: Fixed the formatting, too.
3674
3675 2011-07-26  James Robinson  <jamesr@chromium.org>
3676
3677         [chromium] REGRESSION(90963): Content layers are not redrawn after losing the compositor context
3678         https://bugs.webkit.org/show_bug.cgi?id=65224
3679
3680         Reviewed by Kenneth Russell.
3681
3682         There's no automated way to test lost compositor contexts (yet), but to test manually open up the poster circle
3683         page and kill the GPU process.
3684
3685         * platform/graphics/chromium/ContentLayerChromium.cpp:
3686         (WebCore::ContentLayerChromium::cleanupResources):
3687         * platform/graphics/chromium/ContentLayerChromium.h:
3688
3689 2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
3690
3691         Unreviewed, rolling out r91805.
3692         http://trac.webkit.org/changeset/91805
3693         https://bugs.webkit.org/show_bug.cgi?id=65226
3694
3695         Breaks @ symbols and changes other font rendering on Windows
3696         (Requested by enne on #webkit).
3697
3698         * platform/graphics/chromium/FontChromiumWin.cpp:
3699         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
3700         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
3701         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
3702         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
3703         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
3704         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
3705         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
3706         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
3707         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
3708         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
3709         (WebCore::drawGlyphsWin):
3710         (WebCore::Font::drawComplexText):
3711         * platform/graphics/chromium/UniscribeHelper.cpp:
3712         (WebCore::UniscribeHelper::draw):
3713         * platform/graphics/skia/PlatformContextSkia.cpp:
3714         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
3715         * platform/graphics/skia/PlatformContextSkia.h:
3716         * platform/graphics/skia/SkiaFontWin.cpp:
3717         (WebCore::windowsCanHandleDrawTextShadow):
3718         (WebCore::windowsCanHandleTextDrawing):
3719         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
3720         * platform/graphics/skia/SkiaFontWin.h:
3721
3722 2011-07-26  Adrienne Walker  <enne@google.com>
3723
3724         Unreviewed, rolling out r91812.
3725         http://trac.webkit.org/changeset/91812
3726         https://bugs.webkit.org/show_bug.cgi?id=65210
3727
3728         Breaks OSX GPU tests.
3729
3730         * platform/graphics/chromium/LayerRendererChromium.cpp:
3731         (WebCore::LayerRendererChromium::drawLayers):
3732
3733 2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
3734
3735         Unreviewed, rolling out r91809.
3736         http://trac.webkit.org/changeset/91809
3737         https://bugs.webkit.org/show_bug.cgi?id=65225
3738
3739         Does not build on Chromium Windows (Requested by abarth on
3740         #webkit).
3741
3742         * dom/WheelEvent.cpp:
3743         (WebCore::WheelEvent::WheelEvent):
3744         (WebCore::WheelEvent::initWheelEvent):
3745         * dom/WheelEvent.h:
3746         * page/EventHandler.cpp:
3747         (WebCore::EventHandler::EventHandler):
3748         (WebCore::EventHandler::handleGestureEvent):
3749         (WebCore::EventHandler::handleTouchEvent):
3750         (WebCore::EventHandler::resetGestureRecognizer):
3751         * page/EventHandler.h:
3752         * page/FrameView.cpp:
3753         (WebCore::FrameView::reset):
3754         * platform/PlatformGestureEvent.h:
3755         * platform/PlatformGestureRecognizer.h:
3756         * platform/chromium/FramelessScrollView.h:
3757         * platform/chromium/GestureRecognizerChromium.cpp:
3758         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
3759         (WebCore::InnerGestureRecognizer::reset):
3760         (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
3761         (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
3762         (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
3763         (WebCore::touchDown):
3764         (WebCore::noGesture):
3765         (WebCore::click):
3766         (WebCore::isClickOrScroll):
3767         (WebCore::inScroll):
3768         * platform/chromium/GestureRecognizerChromium.h:
3769         (WebCore::GestureRecognizerChromium::reset):
3770         (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
3771         * platform/chromium/PopupMenuChromium.cpp:
3772         * platform/chromium/PopupMenuChromium.h:
3773         * platform/mac/ScrollAnimatorMac.mm:
3774         (WebCore::ScrollAnimatorMac::handleGestureEvent):
3775
3776 2011-07-26  Dmitry Lomov  <dslomov@google.com>
3777
3778         [V8][Chromium] Run workers in a separate v8::Isolate 
3779         https://bugs.webkit.org/show_bug.cgi?id=65004
3780         This patch allocates a new v8::Isolate for every worker and enters it on worker thread.
3781
3782         Reviewed by David Levin.
3783
3784         Covered by existing chromium tests.
3785
3786         * bindings/v8/DOMDataStore.cpp:
3787         (WebCore::DOMDataStore::DOMDataStore):
3788         (WebCore::DOMDataStore::~DOMDataStore):
3789         * bindings/v8/StaticDOMDataStore.cpp:
3790         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
3791         (WebCore::StaticDOMDataStore::~StaticDOMDataStore):
3792         * bindings/v8/StaticDOMDataStore.h:
3793         * bindings/v8/V8Binding.h:
3794         (WebCore::V8BindingPerIsolateData::registerDOMDataStore):
3795         (WebCore::V8BindingPerIsolateData::unregisterDOMDataStore):
3796         * bindings/v8/V8DOMMap.cpp:
3797         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
3798         (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
3799         * bindings/v8/WorkerContextExecutionProxy.cpp:
3800         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
3801         (WebCore::WorkerContextExecutionProxy::initV8):
3802         * bindings/v8/WorkerContextExecutionProxy.h:
3803         * bindings/v8/WorkerScriptController.cpp:
3804         (WebCore::WorkerScriptController::WorkerScriptController):
3805         (WebCore::WorkerScriptController::~WorkerScriptController):
3806         * bindings/v8/WorkerScriptController.h:
3807
3808 2011-07-26  James Robinson  <jamesr@chromium.org>
3809
3810         [chromium] Avoid clearing the framebuffer when compositing in release builds
3811         https://bugs.webkit.org/show_bug.cgi?id=65210
3812
3813         Reviewed by Kenneth Russell.
3814
3815         We clear the default framebuffer to blue when compositing so it's
3816         easier to spot regions we miss. This is useful for debugging, but eats
3817         bandwidth unnecessarily in release builds.
3818
3819         * platform/graphics/chromium/LayerRendererChromium.cpp:
3820         (WebCore::LayerRendererChromium::drawLayers):
3821
3822 2011-07-26  Jeffrey Pfau  <jpfau@apple.com>
3823
3824         New XML tokenizer
3825         https://bugs.webkit.org/show_bug.cgi?id=64566
3826
3827         Reviewed by Adam Barth.
3828
3829         Add tokenizer for XML and tests in NewXMLDocumentParser for printing results of tokenization.
3830
3831         * GNUmakefile.list.am:
3832         * WebCore.gypi:
3833         * WebCore.pro:
3834         * WebCore.vcproj/WebCore.vcproj:
3835         * WebCore.xcodeproj/project.pbxproj:
3836         * xml/parser/NewXMLDocumentParser.cpp:
3837         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
3838         (WebCore::NewXMLDocumentParser::append):
3839         * xml/parser/NewXMLDocumentParser.h:
3840         * xml/parser/XMLToken.h:
3841         * xml/parser/XMLTokenizer.cpp: Added.
3842         (WebCore::XMLTokenizer::XMLTokenizer):
3843         (WebCore::::shouldSkipNullCharacters):
3844         (WebCore::XMLTokenizer::nextToken):
3845         (WebCore::XMLTokenizer::bufferCharacter):
3846         (WebCore::XMLTokenizer::parseError):
3847         * xml/parser/XMLTokenizer.h: Added.
3848         (WebCore::XMLTokenizer::create):
3849         (WebCore::XMLTokenizer::gotError):
3850         (WebCore::XMLTokenizer::shouldSkipNullCharacters):
3851
3852 2011-07-26  Robert Kroeger  <rjkroege@chromium.org>
3853
3854         [chromium] Layering violations in gesture recognizer
3855         https://bugs.webkit.org/show_bug.cgi?id=65044
3856
3857         Reviewed by Adam Barth.
3858
3859         Divided the gesture recognizer up to correct a layering
3860         violation by moving gesture implementation from it to
3861         EventHandler::handleGestureEvent so that the gesture recognizer
3862         could simply be an engine for generating gesture events from
3863         touch events.
3864
3865         * page/EventHandler.cpp:
3866         (WebCore::EventHandler::EventHandler):
3867         Removed construction of gesture recognizer.
3868         (WebCore::EventHandler::handleGestureEvent):
3869         Extended for new gesture events added in this patch.
3870         (WebCore::EventHandler::handleTouchEvent):
3871         Removed call into gesture recognizer.
3872         * page/EventHandler.h:
3873         * page/FrameView.cpp:
3874         (WebCore::FrameView::reset):
3875         Removed code to reset gesture recognizer.
3876         * platform/PlatformGestureEvent.h:
3877         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
3878         (WebCore::PlatformGestureEvent::deltaX):
3879         (WebCore::PlatformGestureEvent::deltaY):
3880         (WebCore::PlatformGestureEvent::shiftKey):
3881         (WebCore::PlatformGestureEvent::ctrlKey):
3882         (WebCore::PlatformGestureEvent::altKey):
3883         (WebCore::PlatformGestureEvent::metaKey):
3884         Added additional gesture types and parameters.
3885         * platform/PlatformGestureRecognizer.h:
3886         * platform/chromium/FramelessScrollView.h:
3887         Added support for displatching gesture and touch events.
3888         * platform/chromium/GestureRecognizerChromium.cpp:
3889         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
3890         (WebCore::InnerGestureRecognizer::reset):
3891         (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
3892         (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
3893         Removed all depedencies on EventHandler. Instead, create gesture
3894         events from touch event stream.
3895         (WebCore::InnerGestureRecognizer::constructScrollGesture):
3896         (WebCore::touchDown):
3897         (WebCore::noGesture):
3898         (WebCore::click):
3899         (WebCore::isClickOrScroll):
3900         (WebCore::inScroll):
3901         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
3902         (WebCore::GestureRecognizerChromium::reset):
3903         * platform/chromium/GestureRecognizerChromium.h:
3904         * platform/chromium/PopupMenuChromium.cpp:
3905         Added support to handle touch events and gesture events.
3906         (WebCore::PopupContainer::handleTouchEvent):
3907         (WebCore::PopupContainer::handleGestureEvent):
3908         (WebCore::PopupListBox::handleTouchEvent):
3909         (WebCore::PopupListBox::handleGestureEvent):
3910         * platform/chromium/PopupMenuChromium.h:
3911         * platform/mac/ScrollAnimatorMac.mm:
3912         (WebCore::ScrollAnimatorMac::handleGestureEvent):
3913         Ignores the newly added gesture event types.
3914
3915 2011-07-26  Joseph Pecoraro  <joepeck@webkit.org>
3916
3917         Restore Composited Layers Faster from PageCache
3918         https://bugs.webkit.org/show_bug.cgi?id=65216
3919
3920         Reviewed by Simon Fraser.
3921
3922         Restore the layer tree hierarchy a little sooner, when
3923         restoring from the page cache. This more closely matches
3924         original restore behavior.
3925
3926         Existing test showed no change.
3927
3928         * page/FrameView.cpp:
3929         (WebCore::FrameView::restoreBackingStores):
3930
3931 2011-07-26  Mike Reed  <reed@google.com>
3932
3933         [skia] never draw with GDI, so that all text can be gpu-accelerated
3934         https://bugs.webkit.org/show_bug.cgi?id=65203
3935
3936         Reviewed by Kenneth Russell.
3937
3938         No new tests. existing tests apply to the new drawing path
3939
3940         * platform/graphics/chromium/FontChromiumWin.cpp:
3941         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
3942         * platform/graphics/skia/SkiaFontWin.cpp:
3943         (WebCore::windowsCanHandleDrawTextShadow):
3944         (WebCore::windowsCanHandleTextDrawing):
3945         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
3946
3947 2011-07-26  Kenneth Russell  <kbr@google.com>
3948
3949         Float32Array(ArrayBuffer, index, length) constructor working incorrectly.
3950         https://bugs.webkit.org/show_bug.cgi?id=57042
3951
3952         Reviewed by James Robinson.
3953
3954         * bindings/js/JSArrayBufferViewHelper.h:
3955         (WebCore::constructArrayBufferViewWithArrayBufferArgument):
3956         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3957         (WebCore::constructWebGLArrayWithArrayBufferArgument):
3958
3959 2011-07-26  Chris Rogers  <crogers@google.com>
3960
3961         V8 custom bindings for AudioNode must do proper object checking and throw exception in case of error
3962         https://bugs.webkit.org/show_bug.cgi?id=65222
3963
3964         Reviewed by James Robinson.
3965
3966         No new tests - this fixes upcoming audionode.html layout test
3967
3968         * bindings/v8/custom/V8AudioNodeCustom.cpp:
3969         (WebCore::V8AudioNode::connectCallback):
3970
3971 2011-07-26  Chris Rogers  <crogers@google.com>
3972
3973         AudioContext is not correctly accounting for hardware resources
3974         https://bugs.webkit.org/show_bug.cgi?id=65217
3975
3976         Reviewed by Kenneth Russell.
3977
3978         No new tests since audio API is not yet implemented.
3979
3980         * webaudio/AudioContext.cpp:
3981         (WebCore::AudioContext::create):
3982         (WebCore::AudioContext::AudioContext):
3983         (WebCore::AudioContext::lazyInitialize):
3984
3985 2011-07-26  Luke Macpherson   <macpherson@chromium.org>
3986
3987         Handle CSS Properties that can be either auto or a primitive value in CSSStyleApplyProperty
3988         https://bugs.webkit.org/show_bug.cgi?id=65164
3989
3990         Reviewed by Dimitri Glazkov.
3991
3992         No new tests / refactoring only.
3993
3994         * css/CSSPrimitiveValueMappings.h:
3995         Add casts to/from various numeric types.
3996         (WebCore::CSSPrimitiveValue::operator short):
3997         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3998         (WebCore::CSSPrimitiveValue::operator unsigned short):
3999         (WebCore::CSSPrimitiveValue::operator int):
4000         (WebCore::CSSPrimitiveValue::operator float):
4001         * css/CSSStyleApplyProperty.cpp:
4002         Add class to handle properties that set an "auto" boolean on RenderStyle.
4003         (WebCore::ApplyPropertyAuto::ApplyPropertyAuto):
4004         (WebCore::ApplyPropertyAuto::applyInheritValue):
4005         (WebCore::ApplyPropertyAuto::applyInitialValue):
4006         (WebCore::ApplyPropertyAuto::applyValue):
4007         (WebCore::ApplyPropertyAuto::hasAuto):
4008         (WebCore::ApplyPropertyAuto::setAuto):
4009         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
4010         * css/CSSStyleSelector.cpp:
4011         Remove existing implementations.
4012         (WebCore::CSSStyleSelector::applyProperty):
4013
4014 2011-07-26  Pratik Solanki  <psolanki@apple.com>
4015
4016         Add protection space authentication callback code to CFNetwork loader on Mac
4017         https://bugs.webkit.org/show_bug.cgi?id=65190
4018         <rdar://problem/9842424>
4019
4020         Reviewed by Oliver Hunt.
4021
4022         Port over protection space authentication callback code from ResourceHandleMac.mm to
4023         ResourceHandleCFNet.cpp.
4024
4025         * platform/network/ResourceHandle.h:
4026         * platform/network/cf/ResourceHandleCFNet.cpp:
4027         (WebCore::canRespondToProtectionSpace):
4028         (WebCore::ResourceHandle::createCFURLConnection):
4029         (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
4030         (WebCore::WebCoreSynchronousLoaderClient::canAuthenticateAgainstProtectionSpace):
4031         * platform/network/mac/ResourceHandleMac.mm:
4032         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Add logging.
4033
4034 2011-07-26  Sadrul Habib Chowdhury  <sadrul@chromium.org>
4035
4036         Add support for download='filename' attribute in anchors.
4037         https://bugs.webkit.org/show_bug.cgi?id=64580
4038
4039         Reviewed by Adam Barth.
4040
4041         The download attribute allows the author of the hyperlink to cause the
4042         browser to download the linked URL.  The author can also supply a
4043         suggested file name in the attribute value.  This feature is a recent
4044         addition to HTML to better support offline applications that use blob
4045         URLs.  Traditionally, web sites use the HTTP Content-Disposition header
4046         to trigger downloads, but that option isn't available when working
4047         offline.
4048
4049         There is some question about whether we should initiate a download when
4050         we receive a DOM-created click event.  This patch does initiate the
4051         download, but we might revise that decision in the future as part of a
4052         larger change in how WebKit treats the interaction between default
4053         event handlers and DOM-created events.
4054
4055         Tests: fast/dom/HTMLAnchorElement/anchor-download.html
4056                fast/dom/HTMLAnchorElement/anchor-nodownload.html
4057                fast/dom/HTMLAnchorElement/anchor-download-unset.html
4058                fast/dom/HTMLAnchorElement/anchor-nodownload-set.html
4059
4060         * html/HTMLAnchorElement.cpp:
4061         (WebCore::HTMLAnchorElement::defaultEventHandler):
4062         (WebCore::HTMLAnchorElement::handleClick):
4063         * html/HTMLAnchorElement.h:
4064         * html/HTMLAnchorElement.idl:
4065         * html/HTMLAttributeNames.in:
4066         * loader/EmptyClients.h:
4067         (WebCore::EmptyFrameLoaderClient::startDownload):
4068         * loader/FrameLoaderClient.h:
4069
4070 2011-07-26  Mark Hahnenberg  <mhahnenberg@apple.com>
4071
4072         Refactor automatically generated JS DOM bindings to replace operator new with static create methods
4073         https://bugs.webkit.org/show_bug.cgi?id=64732
4074
4075         Reviewed by Oliver Hunt.
4076
4077         No new tests.
4078
4079         Replacing the public constructors in the automatically generated JS DOM bindings in CodeGeneratorJS.pm
4080         with static create methods.  This is part of a larger refactoring effort to use static create methods
4081         in the headers of the generated files (so as to be inline-able) in favor of public constructors throughout JSC.
4082
4083         * bindings/js/JSAudioConstructor.h:
4084         (WebCore::JSAudioConstructor::create):
4085         * bindings/js/JSDOMBinding.h:
4086         (WebCore::createWrapper):
4087         * bindings/js/JSDOMGlobalObject.h:
4088         (WebCore::getDOMConstructor):
4089         * bindings/js/JSDOMWindowCustom.cpp:
4090         (WebCore::JSDOMWindow::history):
4091         (WebCore::JSDOMWindow::location):
4092         * bindings/js/JSDOMWindowShell.cpp:
4093         (WebCore::JSDOMWindowShell::setWindow):
4094         * bindings/js/JSDocumentCustom.cpp:
4095         (WebCore::JSDocument::location):
4096         * bindings/js/JSImageConstructor.h:
4097