win64 compile error fix for BinaryPropertyList.cpp
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-22  Alex Christensen  <alex.christensen@flexsim.com>
2         win64 compile error fix for BinaryPropertyList.cpp
3         https://bugs.webkit.org/show_bug.cgi?id=94122
4
5         Reviewed by Eric Seidel.
6
7         Fixed compile errors for MSVC x64 without changing performance
8
9         * platform/cf/BinaryPropertyList.cpp:
10         (WebCore::BinaryPropertyListSerializer::appendStringObject):
11
12 2012-08-22  Kwang Yul Seo  <skyul@company100.net>
13
14         HTMLTreeBuilder::furthestBlockForFormattingElement should belong to HTMLElementStack
15         https://bugs.webkit.org/show_bug.cgi?id=93857
16
17         Reviewed by Eric Seidel.
18
19         HTMLTreeBuilder::furthestBlockForFormattingElement should belong to
20         HTMLElementStack because it traverses the element stack and finds the
21         furthest block for the given formatting element.
22
23         Currently, it belongs to HTMLTreeBuilder just because
24         isSpecialNode(const HTMLStackItem*) function used by
25         furthestBlockForFormattingElement is internal to HTMLTreeBuilder.
26
27         Moved isSpecialNode to HTMLStackItem and changed
28         furthestBlockForFormattingElement to be a method of HTMLElementStack.
29
30         No behavior change. Just a refactoring.
31
32         * html/parser/HTMLElementStack.cpp:
33         (WebCore):
34         (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
35         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
36         (WebCore::HTMLElementStack::furthestBlockForFormattingElement):
37         * html/parser/HTMLElementStack.h:
38         (HTMLElementStack):
39         * html/parser/HTMLStackItem.h:
40         (WebCore::HTMLStackItem::isInHTMLNamespace):
41         (HTMLStackItem):
42         (WebCore::HTMLStackItem::isNumberedHeaderElement):
43         (WebCore::HTMLStackItem::isTableBodyContextElement):
44         (WebCore::HTMLStackItem::isSpecialNode):
45         * html/parser/HTMLTreeBuilder.cpp:
46         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
47         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
48         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
49         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
50         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
51         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
52         (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
53         * html/parser/HTMLTreeBuilder.h:
54
55 2012-08-22  Alexandre Elias  <aelias@google.com>
56
57         [chromium] Add software bitmap resources to CCResourceProvider
58         https://bugs.webkit.org/show_bug.cgi?id=93677
59
60         Reviewed by Adrienne Walker.
61
62         Second commit after revert.
63
64         This adds the ability to CCResourceProvider to use software bitmaps.
65         They are allocated as plain-old-memory, and exposed as Skia objects.
66
67         We want the ResourceProvider to be able to handle different resource
68         types at the same time.  In practice, a default resource type is
69         desired for most uses within a single compositor instance, which is
70         specified by the default resource type.  Default resource types are
71         expected to be mostly 1-to-1 with CCRenderer types.
72
73         New tests added by parametrizing existing CCResourceProvider tests.
74
75         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
76         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
77         * platform/graphics/chromium/LayerRendererChromium.cpp:
78         (WebCore::applyFilters):
79         (WebCore::LayerRendererChromium::drawRenderPassQuad):
80         (WebCore::LayerRendererChromium::drawTileQuad):
81         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
82         (WebCore::LayerRendererChromium::drawTextureQuad):
83         (WebCore::LayerRendererChromium::getFramebufferTexture):
84         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
85         * platform/graphics/chromium/LayerRendererChromium.h:
86         (DrawingFrame):
87         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
88         (WebCore::CCResourceProvider::createResource):
89         (WebCore):
90         (WebCore::CCResourceProvider::createGLTexture):
91         (WebCore::CCResourceProvider::createBitmap):
92         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
93         (WebCore::CCResourceProvider::deleteResource):
94         (WebCore::CCResourceProvider::upload):
95         (WebCore::CCResourceProvider::flush):
96         (WebCore::CCResourceProvider::shallowFlushIfSupported):
97         (WebCore::CCResourceProvider::lockForRead):
98         (WebCore::CCResourceProvider::unlockForRead):
99         (WebCore::CCResourceProvider::lockForWrite):
100         (WebCore::CCResourceProvider::unlockForWrite):
101         (WebCore::CCResourceProvider::ScopedReadLockGL::ScopedReadLockGL):
102         (WebCore::CCResourceProvider::ScopedReadLockGL::~ScopedReadLockGL):
103         (WebCore::CCResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL):
104         (WebCore::CCResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL):
105         (WebCore::CCResourceProvider::populateSkBitmapWithResource):
106         (WebCore::CCResourceProvider::ScopedReadLockSoftware::ScopedReadLockSoftware):
107         (WebCore::CCResourceProvider::ScopedReadLockSoftware::~ScopedReadLockSoftware):
108         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware):
109         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware):
110         (WebCore::CCResourceProvider::CCResourceProvider):
111         * platform/graphics/chromium/cc/CCResourceProvider.h:
112         (WebCore):
113         (WebCore::CCResourceProvider::setCreationPolicy):
114         (WebCore::CCResourceProvider::creationPolicy):
115         (CCResourceProvider):
116         (ScopedReadLockGL):
117         (WebCore::CCResourceProvider::ScopedReadLockGL::textureId):
118         (ScopedWriteLockGL):
119         (WebCore::CCResourceProvider::ScopedWriteLockGL::textureId):
120         (ScopedReadLockSoftware):
121         (WebCore::CCResourceProvider::ScopedReadLockSoftware::skBitmap):
122         (ScopedWriteLockSoftware):
123         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::skCanvas):
124         (Resource):
125
126 2012-08-22  Anna Cavender  <annacc@chromium.org>
127
128         Update the TextTrackCue Constructor
129         https://bugs.webkit.org/show_bug.cgi?id=88583
130
131         Reviewed by Eric Carlson.
132
133         The TextTrackCue constructor has been changed to:
134         [Constructor(double startTime, double endTime, DOMString text)]
135         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue
136
137         No new tests.  Update to media/track/track-add-remove-cue.html
138
139         * html/track/TextTrackCue.cpp:
140         (WebCore::TextTrackCue::TextTrackCue):
141         * html/track/TextTrackCue.h:
142         (WebCore::TextTrackCue::create):
143         (TextTrackCue):
144         * html/track/TextTrackCue.idl:
145         * html/track/WebVTTParser.cpp:
146         (WebCore::WebVTTParser::createNewCue):
147
148 2012-08-22  Erik Arvidsson  <arv@chromium.org>
149
150         Changing class attribute is not reflected in the classList property
151         https://bugs.webkit.org/show_bug.cgi?id=93665
152
153         Reviewed by Ojan Vafai.
154
155         Before this change classAttributeChanged was only called for StyledElement. With this refactoring
156         it gets called for all Elements when the class attribute changes.
157
158         Test: fast/dom/Element/class-list-update.html
159
160         * css/StyleResolver.cpp:
161         (WebCore::StyleResolver::collectMatchingRules): To match the old behavior we only include StyledElements.
162         * dom/ClassNodeList.cpp:
163         (WebCore::ClassNodeList::nodeMatches): Ditto.
164         * dom/Element.cpp:
165         (WebCore::Element::attributeChanged): Moved the call to parseAttribute here, from StyledElement::attributeChanged.
166         (WebCore::Element::parseAttribute): Moved from StyledElement.
167         (WebCore):
168         (WebCore::Element::classAttributeChanged): Ditto.
169         * dom/Element.h:
170         (Element):
171         (WebCore::Element::classNames): Ditto.
172         (WebCore):
173         * dom/StyledElement.cpp:
174         (WebCore::StyledElement::attributeChanged): Let Element::attributeChanged call parseAttribtue instead.
175         (WebCore::StyledElement::parseAttribute): Move the class attribute handling to Element::parseAttribute.
176         * dom/StyledElement.h:
177         (StyledElement):
178
179 2012-08-22  Kentaro Hara  <haraken@chromium.org>
180
181         [V8] Replace v8::String::NewSymbol() in CodeGeneratorV8.pm with v8String()
182         https://bugs.webkit.org/show_bug.cgi?id=94588
183
184         Reviewed by Eric Seidel.
185
186         v8String() is faster than String::NewSymbol().
187         This patch implements v8String(char*, Isolate*) and
188         replaces String::NewSymbol(char*) in CodeGeneratorV8.pm
189         with v8String(char*, Isolate*).
190
191         Performance result:
192
193         // 272 nano sec
194         static v8::Handle<v8::Value> attr3AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
195         {
196             v8::Handle<v8::Value> v1 = v8String(String("foo"));
197             v8::Handle<v8::Value> v2 = v8String(String("bar"));
198             if (!v1.IsEmpty() && !v2.IsEmpty())
199                 return v8Undefined();
200             return v8::Null(); // Never reach.
201         }
202
203         // 377 nano sec
204         static v8::Handle<v8::Value> attr4AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
205         {
206             v8::Handle<v8::Value> v1 = v8::String::NewSymbol("foo");
207             v8::Handle<v8::Value> v2 = v8::String::NewSymbol("bar");
208             if (!v1.IsEmpty() && !v2.IsEmpty())
209                 return v8Undefined();
210             return v8::Null(); // Never reach.
211         }
212
213         No tests. No change in behavior.
214
215         * bindings/scripts/CodeGeneratorV8.pm:
216         (GenerateNormalAttrGetter):
217         (GenerateNormalAttrSetter):
218         (GenerateNamedConstructorCallback):
219         (GenerateNonStandardFunction):
220         (GenerateImplementation):
221         * bindings/scripts/test/V8/V8Float64Array.cpp:
222         (WebCore::ConfigureV8Float64ArrayTemplate):
223         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
224         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
225         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
226         (WebCore::ConfigureV8TestEventTargetTemplate):
227         * bindings/scripts/test/V8/V8TestInterface.cpp:
228         (WebCore::ConfigureV8TestInterfaceTemplate):
229         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
230         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
231         * bindings/scripts/test/V8/V8TestObj.cpp:
232         (WebCore::ConfigureV8TestObjTemplate):
233         (WebCore::V8TestObj::installPerContextProperties):
234         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
235         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
236         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
237         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
238         * bindings/v8/V8Binding.h:
239         (WebCore):
240         (WebCore::v8String):
241         * html/HTMLDivElement.idl:
242
243 2012-08-22  Pratik Solanki  <psolanki@apple.com>
244
245         Setting WebKitEnableHTTPPipelining doesn't work if default is true
246         https://bugs.webkit.org/show_bug.cgi?id=94537
247
248         Reviewed by David Kilzer.
249
250         * platform/network/cf/ResourceRequestCFNet.cpp:
251         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Read in the HTTP pipelining pref and
252         allow it to override the default pipelining behavior if it was actually set.
253
254 2012-08-22  W. James MacLean  <wjmaclean@chromium.org>
255
256         [chromium] Add touch link highlight animation layers.
257         https://bugs.webkit.org/show_bug.cgi?id=84487
258
259         Reviewed by James Robinson.
260
261         Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
262         implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
263         Transform support currently limited to translation.
264
265         Unit tests for LinkHighlight revised.
266
267         Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
268                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
269                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
270                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
271                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
272                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
273                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
274                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
275                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
276                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
277                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
278                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
279                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
280                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
281                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
282                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
283                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
284                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
285                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
286                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
287                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
288                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
289                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
290                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
291                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
292                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
293                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
294                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
295                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
296                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
297                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
298                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
299                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
300                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
301                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
302                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
303                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
304                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
305                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
306                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
307                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html
308
309         * WebCore.gypi:
310         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
311         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
312         (WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
313         (WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
314         (WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
315         (WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
316         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
317         (WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
318         (WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
319         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
320         * platform/graphics/chromium/GraphicsLayerChromium.h:
321         (WebCore):
322         (LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
323         (WebCore::LinkHighlightClient::~LinkHighlightClient):
324         (GraphicsLayerChromium):
325         (WebCore::GraphicsLayerChromium::linkHighlight):
326         * platform/graphics/chromium/LinkHighlight.cpp: Removed.
327
328 2012-08-22  Beth Dakin  <bdakin@apple.com>
329
330         https://bugs.webkit.org/show_bug.cgi?id=94401
331         Add support for making a web site become paginated using overflow: 
332         paged-x | paged-y
333         -and corresponding-
334         <rdar://problem/11831783> 
335
336         Reviewed by Dave Hyatt.
337
338         This patch adds two new possible values for overflow-y. They are -
339         webkit-paged-x and -webkit-paged-y. When you set these as overflow-y 
340         values on the html or body element, they make the RenderView 
341         paginated, much like the API on Page.
342
343         -webkit-paged-x and -webkit-paged-y are only valid values for 
344         overflow-y, NOT overflow-x. overflow-x defaults to a value of auto 
345         (for now) unless it has been set to something else.
346         * css/CSSParser.cpp:
347         (WebCore::isValidKeywordPropertyAndValue):
348         (WebCore::CSSParser::parseValue):
349
350         Two new CSS value keywords.
351         * css/CSSValueKeywords.in:
352
353         EOverflow has two new values for pagination. 
354         * rendering/style/RenderStyleConstants.h:
355         * css/CSSPrimitiveValueMappings.h:
356         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
357         (WebCore::CSSPrimitiveValue::operator EOverflow):
358
359         A bunch of existing code from StyleResolver::styleForDocument() is 
360         moved into a helper function so that it can be called from two 
361         places. 
362         * css/StyleResolver.cpp:
363         (WebCore::StyleResolver::collectMatchingRulesForList):
364
365         Even though this pagination is very similar to Page::pagination(), it 
366         is different in one critical way. Page::pagination() will apply to 
367         all FrameViews, even those in the page cache. For this reason, 
368         FrameView needs to keep its own Pagination value that just applies to 
369         this FrameView.
370         * page/FrameView.cpp:
371         * page/FrameView.h:
372         (WebCore):
373         (FrameView):
374
375         Map RenderStyle values to a Pagination::Mode.
376         (WebCore::paginationModeForRenderStyle):
377         (WebCore):
378
379         Account for paged-x and paged-y here.
380         (WebCore::FrameView::applyOverflowToViewport):
381
382         As is explained in the header, FrameView::pagination() will return 
383         m_pagination if it has been set. Otherwise, it will return 
384         Page::pagination() since currently there are no callers that need to 
385         distinguish between the two.
386         (WebCore::FrameView::pagination):
387         (WebCore::FrameView::setPagination):
388
389         Generally this means that everywhere in WebCore should ask FrameView 
390         for the pagination(), not Page. These call sites all look to 
391         FrameView now.
392         (WebCore::FrameView::paintContents):
393         * rendering/RenderView.cpp:
394         (WebCore::RenderView::requiresColumns):
395         (WebCore::RenderView::calcColumnWidth):
396         (WebCore::RenderView::paginationUnit):
397         (WebCore::RenderView::viewLogicalHeight):
398
399         Since we need to define Pagination in Page.h AND FrameView.h, it is 
400         now in its own header, Pagination.h. And therefore it is no longer 
401         WebCore::Page::Pagination, but rather it is just WebCore::Pagination.
402         * page/Page.h:
403         (Page):
404         * rendering/Pagination.h: Added.
405         (WebCore):
406         (WebCore::Pagination::Pagination):
407         (Pagination):
408         (WebCore::Pagination::operator==):
409         (WebCore::Pagination::operator!=):
410         * WebCore.exp.in:
411         * WebCore.xcodeproj/project.pbxproj:
412         * GNUmakefile.list.am:
413         * Target.pri:
414         * WebCore.exp.in:
415         * WebCore.gypi:
416
417         Certain ColumnInfo values are set based on the RenderStyle. So if 
418         those RenderStyle values change, the ColumnInfo needs to be updated.
419         * rendering/RenderBlock.cpp:
420         (WebCore::RenderBlock::updateColumnInfoFromStyle):
421         (WebCore):
422         * rendering/RenderBlock.h:
423         (RenderBlock):
424
425         Factor in paged-x and paged-y when determining if a RenderBlock 
426         requires columns.
427         (WebCore::RenderBlock::requiresColumns):
428
429         RenderStyle::specifiesColumns() is an odd and probably broken 
430         function. At the very least, it should be re-named, if not removed 
431         entirely. It does not accurately assess if columns have been 
432         specified. I had to add this code here because specifiesColumns() 
433         returns false for paged-x and true for paged-y. We were hitting a 
434         number of crashes with paged-y because of this, so I chose for the 
435         time being to limit this check to non-root layers.
436         * rendering/RenderLayer.cpp:
437         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
438
439         It's just Pagination now, not Page::Pagination.
440         * testing/InternalSettings.cpp:
441         (WebCore::InternalSettings::reset):
442         (WebCore::InternalSettings::setPagination):
443
444 2012-08-22  Dean Jackson  <dino@apple.com>
445
446         [WebGL] Mac/ATI/AMD systems need to translate built-in GLSL functions
447         https://bugs.webkit.org/show_bug.cgi?id=94030
448
449         Reviewed by Tim Horton.
450
451         ATI/AMD GPUs on Apple platforms do not give correct values for some of
452         the built-in GLSL functions. Add a compile flag that is passed to ANGLE
453         so that, with this configuration, it will rewrite the shader to emulate
454         the function in code.
455
456         This is exposing some design weaknesses in the way we call ANGLE. We'll
457         soon need to add more compiler flags; Future bugs will likely clean
458         this code up. But this approach is satisfactory for the moment.
459
460         This change is tested by the Khronos WebGL conformance test suite, in particular:
461         conformance/glsl/functions/glsl-function-distance.html
462         conformance/glsl/functions/glsl-function-dot.html
463         conformance/glsl/functions/glsl-function-length.html
464
465         * platform/graphics/ANGLEWebKitBridge.cpp:
466         (WebCore::ANGLEWebKitBridge::validateShaderSource): Test for ATI cards
467         on the Mac platform, and pass in an extra flag to the translation step.
468         * platform/graphics/ANGLEWebKitBridge.h:
469         (ANGLEWebKitBridge): Add a new parameter to getTranslatedShaderSourceANGLE
470         that accepts some extra options to pass to ANGLE.
471         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
472         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Pass
473         the extra options into ANGLE's compile function.
474
475 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
476
477         [chromium] MediaStream API: Add MockWebRTCPeerConnectionHandler
478         https://bugs.webkit.org/show_bug.cgi?id=93091
479
480         Reviewed by Adam Barth.
481
482         Fixing a FIXME that the patch obsoletes.
483
484         Covered by existing tests.
485
486         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
487         (WebCore::RTCPeerConnectionHandlerChromium::initialize):
488
489 2012-08-22  Eric Penner  <epenner@google.com>
490
491         [chromium] Simplify updateContentRect, removing rect parameter, refactor unit tests.
492         https://bugs.webkit.org/show_bug.cgi?id=94165
493
494         Reviewed by Adrienne Walker.
495
496         Remove visible rect parameter from TiledLayerChromium functions. Passing a
497         rect that is not the visible rect wouldn't make sense, and soon we might
498         need further visibility information.
499
500         In refactoring the unit tests, I removed texture manager from all tests
501         and put it in the test class. I also made some utility functions to 
502         simulate the commit flow and remove tons of boilerplate code. I refactored
503         about half the unit tests to use the utility functions.
504
505         Refactored tests.
506
507         * platform/graphics/chromium/ContentLayerChromium.cpp:
508         (WebCore::ContentLayerChromium::update):
509         (WebCore::ContentLayerChromium::needMoreUpdates):
510         * platform/graphics/chromium/ImageLayerChromium.cpp:
511         (WebCore::ImageLayerChromium::update):
512         * platform/graphics/chromium/TiledLayerChromium.cpp:
513         (WebCore):
514         (WebCore::TiledLayerChromium::setTexturePriorities):
515         (WebCore::TiledLayerChromium::resetUpdateState):
516         (WebCore::TiledLayerChromium::update):
517         (WebCore::TiledLayerChromium::needsIdlePaint):
518         (WebCore::TiledLayerChromium::idlePaintRect):
519         * platform/graphics/chromium/TiledLayerChromium.h:
520         (TiledLayerChromium):
521
522 2012-08-22  Otto Derek Cheung  <otcheung@rim.com>
523
524         [BlackBerry] Add a check to filter out cookies that tries to set the 
525         domain to a top level domain
526         https://bugs.webkit.org/show_bug.cgi?id=94722
527
528         Reviewed by Rob Buis.
529
530         Adding conditions to check whether a cookie domain is a top level domain.
531         If it is, throw it out when parsing.
532
533         Manual Testing by trying to insert a cookie with an invalid domain
534         using web-inspector. (ex: when on news.yahoo.com.hk, try to document.
535         cookie="test1=seeifthiscookieexist; domain=.com.hk")
536
537         PR121622
538
539         * platform/blackberry/CookieParser.cpp:
540         WebCore::CookieParser::parseOneCookie):
541
542 2012-08-22  Rob Buis  <rwlbuis@webkit.org>
543
544         Remove RenderBlock::paintEllipsisBoxes
545         https://bugs.webkit.org/show_bug.cgi?id=94709
546
547         Reviewed by Eric Seidel.
548
549         Remove unused method.
550
551         No change in functionality, no new tests.
552
553         * rendering/RenderBlock.cpp:
554         (WebCore::RenderBlock::paintFloats):
555         * rendering/RenderBlock.h:
556         (RenderBlock):
557
558 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
559
560         MediaStream API: Introduce RTCSessionDescription
561         https://bugs.webkit.org/show_bug.cgi?id=93119
562
563         Reviewed by Adam Barth.
564
565         This patch introduces RTCSessionDescription together with its
566         corresponding WebCore/platform representation.
567
568         Test: fast/mediastream/RTCSessionDescription.html
569
570         * CMakeLists.txt:
571         * GNUmakefile.list.am:
572         * Modules/mediastream/DOMWindowMediaStream.idl:
573         * Modules/mediastream/RTCSessionDescription.cpp: Added.
574         (WebCore):
575         (WebCore::RTCSessionDescription::create):
576         (WebCore::RTCSessionDescription::RTCSessionDescription):
577         (WebCore::RTCSessionDescription::~RTCSessionDescription):
578         (WebCore::RTCSessionDescription::type):
579         (WebCore::RTCSessionDescription::setType):
580         (WebCore::RTCSessionDescription::sdp):
581         (WebCore::RTCSessionDescription::setSdp):
582         (WebCore::RTCSessionDescription::descriptor):
583         * Modules/mediastream/RTCSessionDescription.h: Added.
584         (WebCore):
585         (RTCSessionDescription):
586         * Modules/mediastream/RTCSessionDescription.idl: Added.
587         * WebCore.gypi:
588         * platform/mediastream/RTCSessionDescriptionDescriptor.cpp: Added.
589         (WebCore):
590         (WebCore::RTCSessionDescriptionDescriptor::create):
591         (WebCore::RTCSessionDescriptionDescriptor::RTCSessionDescriptionDescriptor):
592         (WebCore::RTCSessionDescriptionDescriptor::~RTCSessionDescriptionDescriptor):
593         * platform/mediastream/RTCSessionDescriptionDescriptor.h: Added.
594         (WebCore):
595         (RTCSessionDescriptionDescriptor):
596         (WebCore::RTCSessionDescriptionDescriptor::type):
597         (WebCore::RTCSessionDescriptionDescriptor::setType):
598         (WebCore::RTCSessionDescriptionDescriptor::sdp):
599         (WebCore::RTCSessionDescriptionDescriptor::setSdp):
600
601 2012-08-22  Victor Carbune  <victor@rosedu.org>
602
603         DOM manipulation crashes the browser
604
605         Creating a DOM track element by script and changing the mode crashes
606         results in a browser crash.
607         https://bugs.webkit.org/show_bug.cgi?id=94628
608
609         Reviewed by Eric Carlson.
610
611         Simple fix that creates the text track cue list in case of mode change.
612
613         Test: media/track/track-element-dom-change-crash.html
614
615         * html/HTMLMediaElement.cpp:
616         (WebCore::HTMLMediaElement::textTrackModeChanged):
617
618 2012-08-22  Ryosuke Niwa  <rniwa@webkit.org>
619
620         Microdata build fix.
621
622         * html/HTMLPropertiesCollection.h:
623         (WebCore::HTMLPropertiesCollection::updatePropertyCache):
624
625 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
626
627         MediaStream API: Introduce RTCIceCandidate
628         https://bugs.webkit.org/show_bug.cgi?id=93117
629
630         Reviewed by Adam Barth.
631
632         This patch introduces RTCIceCandidate together with its corresponding
633         WebCore/platform representation.
634
635         Test: fast/mediastream/RTCIceCandidate.html
636
637         * CMakeLists.txt:
638         * GNUmakefile.list.am:
639         * Modules/mediastream/DOMWindowMediaStream.idl:
640         * Modules/mediastream/RTCIceCandidate.cpp: Added.
641         (WebCore):
642         (WebCore::RTCIceCandidate::create):
643         (WebCore::RTCIceCandidate::RTCIceCandidate):
644         (WebCore::RTCIceCandidate::~RTCIceCandidate):
645         (WebCore::RTCIceCandidate::candidate):
646         (WebCore::RTCIceCandidate::sdpMid):
647         (WebCore::RTCIceCandidate::sdpMLineIndex):
648         (WebCore::RTCIceCandidate::descriptor):
649         * Modules/mediastream/RTCIceCandidate.h: Added.
650         (WebCore):
651         (RTCIceCandidate):
652         * Modules/mediastream/RTCIceCandidate.idl: Added.
653         * WebCore.gypi:
654         * platform/mediastream/RTCIceCandidateDescriptor.cpp: Added.
655         (WebCore):
656         (WebCore::RTCIceCandidateDescriptor::create):
657         (WebCore::RTCIceCandidateDescriptor::RTCIceCandidateDescriptor):
658         (WebCore::RTCIceCandidateDescriptor::~RTCIceCandidateDescriptor):
659         * platform/mediastream/RTCIceCandidateDescriptor.h: Added.
660         (WebCore):
661         (RTCIceCandidateDescriptor):
662         (WebCore::RTCIceCandidateDescriptor::candidate):
663         (WebCore::RTCIceCandidateDescriptor::sdpMid):
664         (WebCore::RTCIceCandidateDescriptor::sdpMLineIndex):
665
666 2012-08-22  Mark Rowe  <mrowe@apple.com>
667
668         <http://webkit.org/b/94679> WebCore scrolling thread leaks objects due to them being autoreleased without any autorelease pool in place
669
670         Reviewed by Dan Bernstein.
671
672         * page/scrolling/mac/ScrollingThreadMac.mm:
673         (WebCore::ScrollingThread::threadRunLoopSourceCallback): Ensure that an autorelease pool is in place when
674         dispatching functions on the scrolling thread.
675
676 2012-08-22  Pratik Solanki  <psolanki@apple.com>
677
678         Failure to dispatch delegate callbacks if resource load fails synchronously
679         https://bugs.webkit.org/show_bug.cgi?id=94644
680
681         Reviewed by Antti Koivisto.
682
683         Resource loads can be triggered by layout after document load is
684         complete but before we have dispatched didFinishLoadForFrame callback.
685         In such cases, if the load fails synchronously due to the client
686         returning 0 from willSendRequest callback, we would fail to call
687         didFinishLoading. this was fixed for Font resources in r122446 for bug
688         91018. This fixes it in the general case by having CachedResourceLoader
689         call FrameLoader::checkLoadComplete() when it is done loading all
690         resources.
691
692         * css/CSSFontSelector.cpp:
693         (WebCore::CSSFontSelector::beginLoadTimerFired):
694         * loader/cache/CachedResourceLoader.cpp:
695         (WebCore::CachedResourceLoader::decrementRequestCount):
696
697 2012-08-22  Kenneth Russell  <kbr@google.com>
698
699         Unreviewed, rolling out r126319.
700         http://trac.webkit.org/changeset/126319
701         https://bugs.webkit.org/show_bug.cgi?id=84487
702
703         Broke Chromium Mac build
704
705         * WebCore.gypi:
706         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
707         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
708         (WebCore::GraphicsLayerChromium::willBeDestroyed):
709         (WebCore::GraphicsLayerChromium::updateNames):
710         (WebCore::GraphicsLayerChromium::setSize):
711         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
712         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
713         (WebCore::GraphicsLayerChromium::addLinkHighlight):
714         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
715         (WebCore):
716         (WebCore::GraphicsLayerChromium::updateChildList):
717         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
718         * platform/graphics/chromium/GraphicsLayerChromium.h:
719         (WebCore):
720         (GraphicsLayerChromium):
721         * platform/graphics/chromium/LinkHighlight.cpp: Added.
722         (WebCore):
723         (WebCore::LinkHighlight::create):
724         (WebCore::LinkHighlight::LinkHighlight):
725         (WebCore::LinkHighlight::~LinkHighlight):
726         (WebCore::LinkHighlight::contentLayer):
727         (WebCore::LinkHighlight::paintContents):
728         (WebCore::LinkHighlight::notifyAnimationStarted):
729         (WebCore::LinkHighlight::notifyAnimationFinished):
730         * platform/graphics/chromium/LinkHighlight.h: Renamed from Source/WebKit/chromium/src/LinkHighlight.h.
731         (WebCore):
732         (LinkHighlight):
733
734 2012-08-22  Alexei Svitkine  <asvitkine@chromium.org>
735
736         Respect system setting for rubber-banding in ScrollAnimatorMac.
737         https://bugs.webkit.org/show_bug.cgi?id=94356
738
739         Reviewed by James Robinson.
740
741         Respects user defaults setting of NSScrollViewRubberbanding,
742         which controls rubber-banding in other Mac OS X applications.
743
744         If NSScrollViewRubberbanding is not set, defaults to enabling
745         rubber banding. Otherwise, rubber banding is disabled if the
746         value is 0 and enabled otherwise.
747
748         No new tests since the behavior depends on system settings.
749
750         * platform/mac/ScrollAnimatorMac.mm:
751         (WebCore):
752         (WebCore::rubberBandingEnabledForSystem):
753         (WebCore::ScrollAnimatorMac::handleWheelEvent):
754
755 2012-08-22  James Robinson  <jamesr@chromium.org>
756
757         [chromium/mac] Remove unnecessary checks for OS version <= 10.5. We don't support those
758         https://bugs.webkit.org/show_bug.cgi?id=94658
759
760         Reviewed by Tony Chang.
761
762         The chromium mac port hasn't supported Leopard for a while now, so remove chromium-specific code that checks
763         for OS X version <= Leopard.
764
765         * platform/graphics/chromium/CrossProcessFontLoading.mm:
766         (WebCore::FontPlatformData::loadFont):
767         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
768         (WebCore::canSetCascadeListForCustomFont):
769
770 2012-08-22  W. James MacLean  <wjmaclean@chromium.org>
771
772         [chromium] Add touch link highlight animation layers.
773         https://bugs.webkit.org/show_bug.cgi?id=84487
774
775         Reviewed by James Robinson.
776
777         Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
778         implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
779         Transform support currently limited to translation.
780
781         Unit tests for LinkHighlight revised.
782
783         Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
784                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
785                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
786                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
787                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
788                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
789                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
790                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
791                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
792                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
793                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
794                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
795                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
796                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
797                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
798                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
799                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
800                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
801                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
802                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
803                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
804                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
805                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
806                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
807                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
808                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
809                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
810                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
811                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
812                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
813                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
814                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
815                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
816                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
817                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
818                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
819                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
820                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
821                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
822                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
823                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html
824
825         * WebCore.gypi:
826         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
827         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
828         (WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
829         (WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
830         (WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
831         (WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
832         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
833         (WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
834         (WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
835         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
836         * platform/graphics/chromium/GraphicsLayerChromium.h:
837         (WebCore):
838         (LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
839         (WebCore::LinkHighlightClient::~LinkHighlightClient):
840         (GraphicsLayerChromium):
841         (WebCore::GraphicsLayerChromium::linkHighlight):
842         * platform/graphics/chromium/LinkHighlight.cpp: Removed.
843
844 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
845
846         Unreviewed build fix. Missing PANGO_CFLAGS.
847
848         * GNUmakefile.am:
849
850 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
851
852         Web Inspector: make "sdk" component compile independently from the rest of the front-end.
853         https://bugs.webkit.org/show_bug.cgi?id=94705
854
855         Reviewed by Vsevolod Vlasov.
856
857         This change refactors the way we compile. Running "compile-front-end.py sdk" will compile sdk only.
858         It also introduces DOMStorageModel and DatabaseModel that are used to split model / UI layers.
859
860         * WebCore.gypi:
861         * WebCore.vcproj/WebCore.vcproj:
862         * inspector/InjectedScriptExterns.js:
863         (InjectedScriptHost.prototype.evaluate):
864         * inspector/Inspector.json:
865         * inspector/compile-front-end.py:
866         (dump_module):
867         * inspector/front-end/CompilerScriptMapping.js:
868         * inspector/front-end/ConsoleModel.js:
869         (WebInspector.ConsoleMessage):
870         (WebInspector.ConsoleMessage.prototype.clone):
871         (WebInspector.ConsoleMessage.prototype.location):
872         * inspector/front-end/DOMAgent.js:
873         * inspector/front-end/DOMStorage.js:
874         (WebInspector.DOMStorageModel):
875         (WebInspector.DOMStorageModel.prototype._addDOMStorage):
876         (WebInspector.DOMStorageModel.prototype._domStorageUpdated):
877         (WebInspector.DOMStorageModel.prototype.storageForId):
878         (WebInspector.DOMStorageModel.prototype.storages):
879         (WebInspector.DOMStorageDispatcher):
880         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
881         (WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
882         * inspector/front-end/Database.js:
883         (WebInspector.Database):
884         (WebInspector.Database.prototype.executeSql):
885         (WebInspector.DatabaseModel):
886         (WebInspector.DatabaseModel.prototype.databases):
887         (WebInspector.DatabaseModel.prototype.databaseForId):
888         (WebInspector.DatabaseModel.prototype._addDatabase):
889         (WebInspector.DatabaseModel.prototype._sqlTransactionSucceeded):
890         (WebInspector.DatabaseModel.prototype._sqlTransactionFailed):
891         (WebInspector.DatabaseDispatcher):
892         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
893         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
894         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
895         * inspector/front-end/DebuggerModel.js:
896         * inspector/front-end/FileUtils.js:
897         (WebInspector.OutputStreamDelegate.prototype.onTransferStarted):
898         (WebInspector.OutputStreamDelegate.prototype.onChunkTransferred):
899         (WebInspector.OutputStreamDelegate.prototype.onTransferFinished):
900         (WebInspector.OutputStreamDelegate.prototype.onError):
901         (WebInspector.OutputStream):
902         (WebInspector.OutputStream.prototype.startTransfer):
903         (WebInspector.OutputStream.prototype.transferChunk):
904         (WebInspector.OutputStream.prototype.finishTransfer):
905         (WebInspector.OutputStream.prototype.dispose):
906         * inspector/front-end/HandlerRegistry.js:
907         * inspector/front-end/HeapSnapshotView.js:
908         * inspector/front-end/InspectorFrontendHostStub.js:
909         * inspector/front-end/PresentationConsoleMessageHelper.js:
910         (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
911         * inspector/front-end/ResourcesPanel.js:
912         (WebInspector.ResourcesPanel):
913         (WebInspector.ResourcesPanel.prototype._reset):
914         (WebInspector.ResourcesPanel.prototype._databaseAdded):
915         (WebInspector.ResourcesPanel.prototype._addDatabase):
916         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
917         (WebInspector.ResourcesPanel.prototype._addDOMStorage):
918         (WebInspector.ResourcesPanel.prototype._showDatabase.get if):
919         (WebInspector.ResourcesPanel.prototype._showDatabase.else.get if):
920         (WebInspector.ResourcesPanel.prototype._showDatabase):
921         (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
922         (WebInspector.ResourcesPanel.prototype._showDOMStorage):
923         (WebInspector.ResourcesPanel.prototype._updateDatabaseTables.get if):
924         (WebInspector.ResourcesPanel.prototype._updateDatabaseTables.tableNamesCallback):
925         (WebInspector.DatabaseTreeElement.prototype.onselect):
926         (WebInspector.DatabaseTableTreeElement.prototype.onselect):
927         (WebInspector.DOMStorageTreeElement.prototype.onselect):
928         * inspector/front-end/ScriptsPanel.js:
929         (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
930         * inspector/front-end/SearchController.js:
931         (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
932         * inspector/front-end/Settings.js:
933         * inspector/front-end/Spectrum.js:
934         * inspector/front-end/TextEditorModel.js:
935         * inspector/front-end/UIString.js: Added.
936         (WebInspector.UIString):
937         * inspector/front-end/UIUtils.js:
938         * inspector/front-end/WebKit.qrc:
939         * inspector/front-end/externs.js:
940         (InspectorFrontendHostAPI.prototype.platform):
941         (InspectorFrontendHostAPI.prototype.port):
942         (InspectorFrontendHostAPI.prototype.bringToFront):
943         (InspectorFrontendHostAPI.prototype.closeWindow):
944         (InspectorFrontendHostAPI.prototype.requestAttachWindow):
945         (InspectorFrontendHostAPI.prototype.requestDetachWindow):
946         (InspectorFrontendHostAPI.prototype.requestSetDockSide):
947         (InspectorFrontendHostAPI.prototype.setAttachedWindowHeight):
948         (InspectorFrontendHostAPI.prototype.moveWindowBy):
949         (InspectorFrontendHostAPI.prototype.setInjectedScriptForOrigin):
950         (InspectorFrontendHostAPI.prototype.loaded):
951         (InspectorFrontendHostAPI.prototype.localizedStringsURL):
952         (InspectorFrontendHostAPI.prototype.hiddenPanels):
953         (InspectorFrontendHostAPI.prototype.inspectedURLChanged):
954         (InspectorFrontendHostAPI.prototype.documentCopy):
955         (InspectorFrontendHostAPI.prototype.copyText):
956         (InspectorFrontendHostAPI.prototype.openInNewTab):
957         (InspectorFrontendHostAPI.prototype.canSave):
958         (InspectorFrontendHostAPI.prototype.save):
959         (InspectorFrontendHostAPI.prototype.canAppend):
960         (InspectorFrontendHostAPI.prototype.append):
961         (InspectorFrontendHostAPI.prototype.sendMessageToBackend):
962         (InspectorFrontendHostAPI.prototype.recordActionTaken):
963         (InspectorFrontendHostAPI.prototype.recordPanelShown):
964         (InspectorFrontendHostAPI.prototype.recordSettingChanged):
965         (InspectorFrontendHostAPI.prototype.loadResourceSynchronously):
966         (InspectorFrontendHostAPI.prototype.setZoomFactor):
967         (InspectorFrontendHostAPI.prototype.canInspectWorkers):
968         (SourceMapV3):
969         (SourceMapV3.Section):
970         (SourceMapV3.Offset):
971         * inspector/front-end/inspector.html:
972         * inspector/front-end/inspector.js:
973         (WebInspector.inspect):
974
975 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
976
977         Unreviewed build fix. libWebCore needs include paths
978         for some bits of WebCoreGtk.
979
980         * GNUmakefile.am:
981
982 2012-08-22  Koji Ishii  <kojiishi@gmail.com>
983
984         FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph are not implemented on Chromium Windows
985         https://bugs.webkit.org/show_bug.cgi?id=83512
986
987         Reviewed by Tony Chang.
988
989         Chromium Windows does not implement following 3 functions that are required for bug 51450.
990         1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000).
991         2. FontPlatformData.orientation() always returns Horizontal.
992         3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().
993         Tony suggested in bug 51450 review to split code that is not behind
994         #if ENABLE(OPENTYPE_VERTICAL) to a separate patch.
995
996         Test: Following 3 existing but skipped tests are now enabled and pass.
997               fast/text/emphasis-overlap.html
998               fast/text/emphasis-avoid-ruby.html
999               fast/repaint/text-emphasis-v.html
1000
1001         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1002         (WebCore::FontCache::createFontPlatformData): Add orientation.
1003         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1004         (WebCore::FontPlatformData::FontPlatformData): Add orientation.
1005         (WebCore::FontPlatformData::operator=): Add orientation.
1006         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
1007         (FontPlatformData):
1008         (WebCore::FontPlatformData::orientation): Add orientation.
1009         (WebCore::FontPlatformData::setOrientation): Add orientation.
1010         (WebCore::FontPlatformData::operator==): Add orientation.
1011         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1012         (WebCore::SimpleFontData::platformInit): Set FontMetrics.unitsPerEm.
1013         (WebCore::SimpleFontData::createScaledFontData): Add orientation.
1014         (WebCore::SimpleFontData::platformBoundsForGlyph): Implemented.
1015         * platform/graphics/skia/FontCustomPlatformData.cpp:
1016         (WebCore::FontCustomPlatformData::fontPlatformData): Add orientation.
1017
1018 2012-08-22  Robert Hogan  <robert@webkit.org>
1019
1020         REGRESSION(r125578): fast/regex/unicodeCaseInsensitive.html crash on Linux Debug Chromium
1021         https://bugs.webkit.org/show_bug.cgi?id=94010
1022
1023         Reviewed by Tony Chang.
1024
1025         r125578 inspected the raw text run for word-end but the index it used to do so was for a normalized
1026         version of the run that could be longer than the raw text run. So to allow proper detection of word-end
1027         in complex text (i) do not normalize tabs to plain white-space and (ii) go back to using the normalized version
1028         of the run for detecting word-end. There is a risk that some fonts may create glyphs for the '\t' character 
1029         but this does not turn up in any of our regression tests and the more common risk appears to be the new-line.
1030
1031         Test: fast/regex/unicodeCaseInsensitive.html
1032
1033         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
1034         (WebCore::normalizeSpacesAndMirrorChars):
1035
1036 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
1037
1038         Web Inspector: [WebGL] Support the communication protocol from the injected script
1039         https://bugs.webkit.org/show_bug.cgi?id=94689
1040
1041         Reviewed by Pavel Feldman.
1042
1043         Support the WebGL communication protocol from the injected script module.
1044
1045         * inspector/InjectedScriptWebGLModuleSource.js:
1046         (.):
1047
1048 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
1049
1050         [GTK] Split WebCore/platform into a separate library
1051         https://bugs.webkit.org/show_bug.cgi?id=94435
1052
1053         Reviewed by Martin Robinson.
1054
1055         More people have been reporting problems when linking WebCore because
1056         the command line limit is being exceeded. Splitting WebCore a bit more
1057         is in order.
1058
1059         * GNUmakefile.am: add new libWebCorePlatform convenience library.
1060         * GNUmakefile.list.am: move list of platform/* files to its own variable.
1061
1062 2012-08-22  Raphael Kubo da Costa  <rakuco@webkit.org>
1063
1064         [EFL] Build failures with harfbuzz outside standard locations
1065         https://bugs.webkit.org/show_bug.cgi?id=93030
1066
1067         Reviewed by Rob Buis.
1068
1069         Add ${HARFBUZZ_INCLUDE_DIRS} to the list of included paths: so far
1070         it was being implicitly pulled from evas's pkg-config file, and
1071         used to work when WebKit-EFL's dependencies were built with
1072         jhbuild -- in this case, harfbuzz is built before evas, which is
1073         then built with harfbuzz support and adds the required paths to
1074         its .pc file.
1075
1076         We need to include things directly to account for the case of
1077         people not using jhbuild and thus not necessarily having harfbuzz
1078         as an evas dependency.
1079
1080         * PlatformEfl.cmake:
1081
1082 2012-08-22  Raul Hudea  <rhudea@adobe.com>
1083
1084         Crash in WebCore::RenderBlock::removeChild
1085         https://bugs.webkit.org/show_bug.cgi?id=93879
1086
1087         Reviewed by Abhishek Arya.
1088
1089         By adding the lifetime state to the RenderNamedFlowThread (r122556), it become possible for the a RenderRegion object to delete its sibling,
1090         the RenderNamedFlowThread. This is unexpected in the rendering world and cause problems in RenderBlock::removeChild where we retain previous
1091         and next sibling pointers.
1092         So, all the RenderNamedFlowThread are created under a RenderFlowThreadContainer object insted of the RenderView. The new object is created only
1093         when the first named flow is created.
1094
1095         Test: fast/regions/remove-flow-thread-crash.html
1096
1097         * CMakeLists.txt:
1098         * GNUmakefile.list.am:
1099         * Target.pri:
1100         * WebCore.gypi:
1101         * WebCore.vcproj/WebCore.vcproj:
1102         * WebCore.xcodeproj/project.pbxproj:
1103         * rendering/FlowThreadController.cpp:
1104         (WebCore::FlowThreadController::FlowThreadController): Added initialization for the new RenderFlowThreadContainer member
1105         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName): Added the creation of the RenderFlowThreadContainer object and use it as a parent for all RenderNamedFlowThreads
1106         (WebCore::FlowThreadController::styleDidChange): Inform all the RenderNamedFlowThreads that the style changed in regions (initially this code was in RenderView, but now all RenderNamedFlowThreads are children of RenderFlowThreadContainer)
1107         (WebCore):
1108         * rendering/FlowThreadController.h:
1109         (WebCore):
1110         (FlowThreadController):
1111         * rendering/RenderFlowThreadContainer.cpp: Added.
1112         (WebCore):
1113         (WebCore::RenderFlowThreadContainer::RenderFlowThreadContainer):
1114         (WebCore::RenderFlowThreadContainer::layout):
1115         * rendering/RenderFlowThreadContainer.h: Added.
1116         * rendering/RenderObject.cpp:
1117         (WebCore::RenderObject::markContainingBlocksForLayout): Skip to RenderView if the current object is an RenderFlowThreadContainer.
1118         * rendering/RenderObject.h:
1119         (WebCore::RenderObject::isRenderFlowThreadContainer):
1120         * rendering/RenderView.cpp:
1121         (WebCore::RenderView::styleDidChange): Moved the code associated to RenderNamedFlowThreads to FlowThreadController:styleDidChange and call it instead.
1122
1123 2012-08-22  Rob Buis  <rbuis@rim.com>
1124
1125         [BlackBerry] Add RSS content handling support
1126         https://bugs.webkit.org/show_bug.cgi?id=93496
1127
1128         Reviewed by Yong Li.
1129
1130         Cleanup some more.
1131
1132         * platform/network/blackberry/rss/RSSFilterStream.cpp:
1133         (WebCore):
1134         (WebCore::createParser):
1135         (WebCore::defaultEncodingForLanguage):
1136         (WebCore::isTranscodingNeeded):
1137
1138 2012-08-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1139
1140         Remove unused TextDrawingMode flags from GraphicsContext
1141         https://bugs.webkit.org/show_bug.cgi?id=21898
1142
1143         Reviewed by Benjamin Poulain.
1144
1145         Remove TextModeClip and TextModeInvisible. These are not used by any port, and
1146         according to https://bugs.webkit.org/show_bug.cgi?id=42110#c2 these were added
1147         just to map CG existing flags, but are not used.
1148
1149         * platform/graphics/GraphicsContext.h:
1150         * platform/graphics/cg/GraphicsContextCG.cpp:
1151         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
1152         * platform/graphics/openvg/PainterOpenVG.cpp:
1153         (WebCore::PainterOpenVG::drawText):
1154         * platform/graphics/skia/PlatformContextSkia.cpp:
1155         (WebCore::PlatformContextSkia::setTextDrawingMode):
1156
1157 2012-08-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1158
1159         Unreviewed, rolling out r126287.
1160         http://trac.webkit.org/changeset/126287
1161         https://bugs.webkit.org/show_bug.cgi?id=94708
1162
1163         It made WK1 layout testing 3.7x slower (>1hours) (Requested by
1164         ossy on #webkit).
1165
1166         * bridge/qt/qt_instance.cpp:
1167         (JSC::Bindings::unusedWeakObjectMapCallback):
1168         (Bindings):
1169         (JSC::Bindings::WeakMapImpl::WeakMapImpl):
1170         (JSC::Bindings::WeakMapImpl::~WeakMapImpl):
1171         (JSC::Bindings::WeakMap::~WeakMap):
1172         (JSC::Bindings::WeakMap::set):
1173         (JSC::Bindings::WeakMap::get):
1174         (JSC::Bindings::WeakMap::remove):
1175         * bridge/qt/qt_instance.h:
1176         (QtInstance):
1177         * bridge/qt/qt_runtime.cpp:
1178         (JSC::Bindings::prototypeForSignalsAndSlots):
1179         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
1180         (JSC::Bindings::QtRuntimeMethod::call):
1181         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
1182         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
1183         * bridge/qt/qt_runtime.h:
1184         (QtRuntimeMethod):
1185
1186 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
1187
1188         Not reviewed: follow up to r126297, fixing WebCore.gypi.
1189
1190         * WebCore.gypi:
1191
1192 2012-08-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1193
1194         [GTK] Preferred languages and spellchecker APIs are not consistent in WebKit2
1195         https://bugs.webkit.org/show_bug.cgi?id=94683
1196
1197         Reviewed by Alejandro G. Castro.
1198
1199         Use a Vector<String> instead of a comma-separated string to
1200         get/set languages.
1201
1202         * platform/text/gtk/TextCheckerEnchant.cpp:
1203         (TextCheckerEnchant::updateSpellCheckingLanguages):
1204         (TextCheckerEnchant::getSpellCheckingLanguages):
1205         * platform/text/gtk/TextCheckerEnchant.h:
1206         (TextCheckerEnchant):
1207
1208 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
1209
1210         Web Inspector: move NavigatorView and NavigatorOverlayController to ScriptsPanel module
1211         https://bugs.webkit.org/show_bug.cgi?id=94693
1212
1213         Reviewed by Vsevolod Vlasov.
1214
1215         Loading them via importScript now.
1216
1217         * inspector/compile-front-end.py:
1218         * inspector/front-end/ScriptsPanel.js:
1219         * inspector/front-end/inspector.html:
1220
1221 2012-08-22  KwangYong Choi  <ky0.choi@samsung.com>
1222
1223         [EFL] Support slider tick mark snapping
1224         https://bugs.webkit.org/show_bug.cgi?id=94560
1225
1226         Reviewed by Kenneth Rohde Christiansen.
1227
1228         Increased the threshold for the EFL port. The value is snapped
1229         when it clicked near tick mark.
1230
1231         No new tests. Covered by fast/forms/datalist/range-snap-to-datalist.html.
1232
1233         * platform/efl/RenderThemeEfl.cpp:
1234         (WebCore):
1235         (WebCore::RenderThemeEfl::sliderTickSnappingThreshold):
1236         * platform/efl/RenderThemeEfl.h:
1237         (RenderThemeEfl):
1238
1239 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1240
1241         [Qt] Optionally support smooth-scrolling on all platforms
1242         https://bugs.webkit.org/show_bug.cgi?id=74926
1243
1244         Reviewed by Simon Hausmann.
1245
1246         Make GestureAnimations depend on the GESTURE_ANIMATION feature flag,
1247         since GestureAnimations are unused on some platforms.
1248
1249         * Target.pri:
1250         * platform/ScrollAnimatorNone.cpp:
1251         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
1252         (WebCore::ScrollAnimatorNone::cancelAnimations):
1253         (WebCore::ScrollAnimatorNone::animationTimerFired):
1254         * platform/ScrollAnimatorNone.h:
1255         (ScrollAnimatorNone):
1256
1257 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
1258
1259         [Qt] Port convertQVariantToValue to use the JSC C API
1260         https://bugs.webkit.org/show_bug.cgi?id=93889
1261
1262         Reviewed by Kenneth Rohde Christiansen.
1263
1264         Based on patch by Noam Rosenthal.
1265
1266         This patch is another step towards reducing the use of internal JSC API
1267         in the Qt bridge. Most of the conversion from QVariant to JS values is
1268         straight-forward. The biggest behavioural change is that QVariant lists
1269         are converted on-the-spot instead of lazily. Bug #94691 tracks fixing
1270         that.
1271
1272         * bridge/qt/qt_instance.cpp:
1273         (Bindings):
1274         (JSC::Bindings::QtField::valueFromInstance):
1275         * bridge/qt/qt_runtime.cpp:
1276         (JSC::Bindings::convertQVariantToValue):
1277         (JSC::Bindings::QtRuntimeMethod::call):
1278         (JSC::Bindings::QtConnectionObject::execute):
1279         (JSC::Bindings::::valueAt):
1280         * bridge/qt/qt_runtime.h:
1281         (Bindings):
1282
1283 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
1284
1285         [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
1286         https://bugs.webkit.org/show_bug.cgi?id=93897
1287
1288         Reviewed by Kenneth Rohde Christiansen.
1289
1290         Before r125428 run-time methods (wrapped signals, slots or invokable
1291         functions) were subclasses of JSInternalFunction and therefore real
1292         function objects in the JavaScript sense. r125428 changed them to be
1293         just callable objects, but they did not have Function.prototype as
1294         prototype anymore for example nor was their name correct (resulting in
1295         a layout test failure).
1296
1297         This patch changes run-time methods back to being real function objects
1298         that have a correct name and have Function.prototype in their prototype
1299         change
1300
1301         The objects returned by JSObjectMakeFunctionWithCallbackInjected are
1302         light-weight internal function objects that do not support
1303         JSObject{Set/Get}Private. Therefore we inject our own prototype right
1304         before the Function.prototype prototype, which uses private data to
1305         store a pointer to our C++ QtRuntimeMethod object.  This complicates
1306         the retrieval of the pointer to that instance slightly, which is why
1307         this patch introduces the toRuntimeMethod convenience function that
1308         looks up our prototype first and does a check for type-safety.
1309
1310         At the same time the patch removes the length properties from the
1311         run-time method itself as well as connect/disconnect.  The length
1312         property on a function signifies the number of arguments, but in all
1313         three cases that number is actually variable, because of overloading.
1314         That is why we choose not to expose it in the first place.
1315
1316         In QtInstance we cache the JS wrapper objects for QtRuntimeMethod in a
1317         JSWeakObjectMap. JSWeakObjectMap requires the stored objects to be
1318         either the result of JSObjectMake or the global object of a context ref
1319         (AFAICS), which is ensured using an ASSERT. Objects created via
1320         JSObjectMakeFunctionWithCalllback do not fall into the required
1321         category, cause a failing assertion and can therefore not be stored in
1322         the weak object map.
1323
1324         Consequently this patch removes the use of JSWeakObjectMap again and
1325         goes back to the old way of using the internal Weak<> API, for the time
1326         being. In a future patch the storage will be simplified to not require
1327         the use of a weak object map cache for the run-time methods anymore.
1328
1329         * bridge/qt/qt_instance.cpp: Remove unused WeakMap code.
1330         * bridge/qt/qt_instance.h: Remove method cache.
1331         (QtInstance):
1332         * bridge/qt/qt_runtime.cpp:
1333         (JSC::Bindings::prototypeForSignalsAndSlots):
1334         (JSC::Bindings::QtRuntimeMethod::call):
1335         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
1336         (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
1337         (Bindings):
1338         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
1339         * bridge/qt/qt_runtime.h:
1340         (QtRuntimeMethod): Remove unused member variables.
1341
1342 2012-08-22  Christophe Dumez  <christophe.dumez@intel.com>
1343
1344         window.postMessage() / MessagePort.postMessage() throw wrong exception for invalid ports argument
1345         https://bugs.webkit.org/show_bug.cgi?id=94581
1346
1347         Reviewed by Kentaro Hara.
1348
1349         Update JSC and V8 implementations of window.postMessage() and
1350         MessagePort.postMessage() in order to throw an
1351         INVALID_STATE_ERR instead of a DATA_CLONE_ERR when values
1352         in the "ports" argument are invalid. Additionally, we now
1353         check for duplicate ports and throw an exception for this
1354         case as well.
1355
1356         This change was made to comply with the latest HTML5
1357         specification at:
1358         http://www.w3.org/TR/html5/comms.html
1359
1360         No new tests, already tested by:
1361         fast/events/constructors/message-event-constructor.html
1362         fast/events/message-port-clone.html
1363         fast/events/message-port-multi.html
1364         fast/workers/worker-context-multi-port.html
1365         fast/workers/worker-multi-port.html
1366
1367         * bindings/js/JSMessagePortCustom.cpp:
1368         (WebCore::fillMessagePortArray):
1369         * bindings/v8/V8Utilities.cpp:
1370         (WebCore::extractTransferables):
1371         * dom/MessagePort.cpp:
1372         (WebCore::MessagePort::postMessage):
1373
1374 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1375
1376         [TouchAdjustment] Adjust to word or selection
1377         https://bugs.webkit.org/show_bug.cgi?id=94449
1378
1379         Reviewed by Antonio Gomes.
1380
1381         Makes each separate word a separate subtarget when context menu triggers
1382         selections, and only the selected part of a partial selected node a 
1383         target when selections are not overridden.
1384
1385         Fix of reverted commit r126026, fix misplaced ASSERT.
1386
1387         Test: touchadjustment/context-menu-text-subtargets.html
1388
1389         * page/TouchAdjustment.cpp:
1390         (TouchAdjustment):
1391         (WebCore::TouchAdjustment::providesContextMenuItems):
1392         (WebCore::TouchAdjustment::appendQuadsToSubtargetList):
1393         (WebCore::TouchAdjustment::appendBasicSubtargetsForNode):
1394         (WebCore::TouchAdjustment::appendContextSubtargetsForNode):
1395         (WebCore::TouchAdjustment::compileSubtargetList):
1396         (WebCore::findBestClickableCandidate):
1397         (WebCore::findBestContextMenuCandidate):
1398
1399 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
1400
1401         Web Inspector: [WebGL] Generic framework draft for tracking WebGL resources
1402         https://bugs.webkit.org/show_bug.cgi?id=90597
1403
1404         Reviewed by Pavel Feldman.
1405
1406         Wrap WebGL rendering context methods and collect a trace log if we are in capturing mode.
1407         Stubbed code for collecting calls contributing to a WebGL resource state so that we could replay them later.
1408
1409         Typical scenario:
1410         - we wrap a GL context with InjectedScript.wrapWebGLContext() and return a proxy to the inspected page
1411         - the proxy saves all calls necessary to do a replay later - only those that modify a resource's state
1412         - when we turn on capturing mode (InjectedScript.captureFrame), we save all WebGL calls to a trace log
1413
1414         * inspector/InjectedScriptSource.js:
1415         (.):
1416         * inspector/InjectedScriptWebGLModuleSource.js:
1417         (.):
1418
1419 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
1420
1421         Web Inspector: [WebGL] Add minimum transport protocol from backend to frontend
1422         https://bugs.webkit.org/show_bug.cgi?id=88973
1423
1424         Reviewed by Pavel Feldman.
1425
1426         Added the following protocol methods to communicate with the WebGL injected
1427         module: captureFrame, getTraceLog, dropTraceLog, replayTraceLog.
1428
1429         * inspector/CodeGeneratorInspector.py:
1430         * inspector/InjectedScriptWebGLModule.cpp:
1431         (WebCore::InjectedScriptWebGLModule::captureFrame):
1432         (WebCore):
1433         (WebCore::InjectedScriptWebGLModule::dropTraceLog):
1434         (WebCore::InjectedScriptWebGLModule::getTraceLog):
1435         (WebCore::InjectedScriptWebGLModule::replayTraceLog):
1436         * inspector/InjectedScriptWebGLModule.h:
1437         (InjectedScriptWebGLModule):
1438         * inspector/Inspector.json:
1439         * inspector/InspectorController.cpp:
1440         (WebCore::InspectorController::InspectorController):
1441         * inspector/InspectorWebGLAgent.cpp:
1442         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
1443         (WebCore::InspectorWebGLAgent::dropTraceLog):
1444         (WebCore):
1445         (WebCore::InspectorWebGLAgent::captureFrame):
1446         (WebCore::InspectorWebGLAgent::getTraceLog):
1447         (WebCore::InspectorWebGLAgent::replayTraceLog):
1448         * inspector/InspectorWebGLAgent.h:
1449         (WebCore):
1450         (WebCore::InspectorWebGLAgent::create):
1451         (InspectorWebGLAgent):
1452
1453 2012-08-22  Hans Wennborg  <hans@chromium.org>
1454
1455         Remove unused field DeleteEntryRequest::m_type
1456         https://bugs.webkit.org/show_bug.cgi?id=94680
1457
1458         Unreviewed build fix.
1459
1460         Remove this unused field. Clang warns about it and it breaks the
1461         Chromium build.
1462
1463         No change in functionality, no new tests.
1464
1465         * inspector/InspectorFileSystemAgent.cpp:
1466         (WebCore):
1467
1468 2012-08-21  Andrey Kosyakov  <caseq@chromium.org>
1469
1470         Web Inspector: console.time() should use performance.now()
1471         https://bugs.webkit.org/show_bug.cgi?id=94263
1472
1473         Reviewed by Pavel Feldman.
1474
1475         - use monotonicallyIncreasingTime() instead of currentTime() for measuring time intervals
1476             with console.time()/console.timeEnd()
1477         - adjust precision to 3 digits after decimal point (i.e. microseconds) when formatting intervals;
1478
1479         * inspector/InspectorConsoleAgent.cpp:
1480         (WebCore::InspectorConsoleAgent::stopTiming):
1481
1482 2012-08-22  Takashi Sakamoto  <tasak@google.com>
1483
1484         Dynamically styling ShadowDom content on a node distributed to another shadow insertion point fails.
1485         https://bugs.webkit.org/show_bug.cgi?id=92899
1486
1487         Reviewed by Hajime Morita.
1488
1489         Since childNeedsStyleRecalc is not cleared when parent nodes are
1490         attached, setNeedsStyleRecalc flag is not reached Document. So,
1491         document() doesn't run re-layout.
1492
1493         Test: fast/dom/shadow/shadowdom-dynamic-styling.html
1494
1495         * dom/ContainerNode.h:
1496         (ContainerNode):
1497         (WebCore::ContainerNode::detachAsNode):
1498         Removed detachAsNode, because the below change made the method
1499         not-used.
1500         * dom/Element.cpp:
1501         (WebCore::Element::detach):
1502         Modify to invoke ContainerNode::detach when any shadow subtree is
1503         attached. ContainerNode::detach takes care of childNeedsStyleRecalc
1504         flag.
1505         * dom/ElementShadow.cpp:
1506         (WebCore::ElementShadow::invalidateDistribution):
1507         Use SetAttached for lazyAttach instead of DoNotSetAttached, because
1508         it is reuired to invoke ContainerNode::detach. If not, attached() is
1509         false and reattach() invokes only attach(). This causes to leave
1510         shadow host's childNeedsStyleRecalc flag true after
1511         Element::recalcStyle.
1512
1513 2012-08-22  Taiju Tsuiki  <tzik@chromium.org>
1514
1515         Web Inspector: Add deleteEntry command and deletionCompleted event to FileSystemAgent
1516         https://bugs.webkit.org/show_bug.cgi?id=91831
1517
1518         Reviewed by Vsevolod Vlasov.
1519
1520         InspectorAgent-side implementation of deleteEntry command.
1521
1522         Test will be added after JS-side implementation landed.
1523
1524         * inspector/Inspector.json:
1525         * inspector/InspectorFileSystemAgent.cpp:
1526         (WebCore):
1527         (WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
1528         (WebCore::InspectorFileSystemAgent::requestDirectoryContent):
1529         (WebCore::InspectorFileSystemAgent::requestMetadata):
1530         (WebCore::InspectorFileSystemAgent::requestFileContent):
1531         (WebCore::InspectorFileSystemAgent::deleteEntry):
1532         (WebCore::InspectorFileSystemAgent::assertFrontend):
1533         * inspector/InspectorFileSystemAgent.h:
1534         (InspectorFileSystemAgent):
1535         * inspector/front-end/FileSystemModel.js:
1536         (WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
1537         (WebInspector.FileSystemDispatcher.prototype.deletionCompleted):
1538
1539 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
1540
1541         Web Inspector: TabbedPane: measure tab widths in batches.
1542         https://bugs.webkit.org/show_bug.cgi?id=94484
1543
1544         Reviewed by Vsevolod Vlasov.
1545
1546         - Introduces global batch update schema
1547         - Migrates Toolbar and TabbedPane to the new schema
1548
1549         * inspector/front-end/ScriptsPanel.js:
1550         (WebInspector.ScriptsPanel):
1551         * inspector/front-end/TabbedPane.js:
1552         (WebInspector.TabbedPane.prototype.appendTab):
1553         (WebInspector.TabbedPane.prototype._updateTabElements):
1554         (WebInspector.TabbedPane.prototype._innerUpdateTabElements):
1555         (WebInspector.TabbedPane.prototype._updateWidths):
1556         (WebInspector.TabbedPane.prototype._measureWidths):
1557         (WebInspector.TabbedPaneTab):
1558         (WebInspector.TabbedPaneTab.prototype.width):
1559         (WebInspector.TabbedPaneTab.prototype.setWidth):
1560         * inspector/front-end/Toolbar.js:
1561         (WebInspector.Toolbar):
1562         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
1563         (WebInspector.Toolbar.prototype._innerUpdateDropdownButtonAndHideDropdown):
1564         * inspector/front-end/UIUtils.js:
1565         (WebInspector.startBatchUpdate):
1566         (WebInspector.invokeOnceAfterBatchUpdate.get if):
1567         (WebInspector.invokeOnceAfterBatchUpdate):
1568         * inspector/front-end/inspector.js:
1569         * inspector/front-end/utilities.js:
1570
1571 2012-08-21  Kentaro Hara  <haraken@chromium.org>
1572
1573         [V8] Move String related code in V8Binding to a separate file
1574         https://bugs.webkit.org/show_bug.cgi?id=94571
1575
1576         Reviewed by Adam Barth.
1577
1578         This patch moves V8Parameter, V8ParameterBase and String related code
1579         in V8Binding to a separate file.
1580
1581         No tests. No change in behavior.
1582
1583         * UseV8.cmake:
1584         * WebCore.gypi:
1585         * bindings/v8/V8Binding.cpp:
1586         * bindings/v8/V8Binding.h:
1587         * bindings/v8/V8StringResource.cpp: Added.
1588         * bindings/v8/V8StringResource.h: Added.
1589         (WebCore):
1590
1591 2012-08-21  Sukolsak Sakshuwong  <sukolsak@google.com>
1592
1593         Implement UndoManager's automatic DOM transactions
1594         https://bugs.webkit.org/show_bug.cgi?id=91812
1595
1596         Reviewed by Ryosuke Niwa.
1597
1598         This patch implements automatic DOM transactions in UndoManager
1599         by recording changes in tree structure, attributes, and character data
1600         of nodes under undo scope host.
1601
1602         Tests: editing/undomanager/automatic-transaction-attribute.html
1603                editing/undomanager/automatic-transaction-data.html
1604                editing/undomanager/automatic-transaction-node.html
1605
1606         * CMakeLists.txt:
1607         * GNUmakefile.list.am:
1608         * WebCore.gypi:
1609         * WebCore.vcproj/WebCore.vcproj:
1610         * WebCore.xcodeproj/project.pbxproj:
1611         * bindings/js/DOMTransaction.h:
1612         (WebCore::DOMTransaction::addTransactionStep):
1613         (DOMTransaction):
1614         * bindings/v8/DOMTransaction.cpp:
1615         (DOMTransactionScope):
1616         (WebCore::DOMTransactionScope::DOMTransactionScope):
1617         (WebCore::DOMTransactionScope::~DOMTransactionScope):
1618         (WebCore):
1619         (WebCore::DOMTransaction::apply):
1620         (WebCore::DOMTransaction::unapply):
1621         (WebCore::DOMTransaction::reapply):
1622         * bindings/v8/DOMTransaction.h:
1623         (WebCore::DOMTransaction::addTransactionStep):
1624         (DOMTransaction):
1625         * css/PropertySetCSSStyleDeclaration.cpp:
1626         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
1627         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
1628         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
1629         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
1630         * dom/CharacterData.cpp:
1631         (WebCore::CharacterData::setDataAndUpdate):
1632         * dom/ContainerNode.cpp:
1633         (WebCore::willRemoveChild):
1634         (WebCore::willRemoveChildren):
1635         (WebCore::updateTreeAfterInsertion):
1636         * dom/Element.cpp:
1637         (WebCore::Element::willModifyAttribute):
1638         * editing/DOMTransactionStep.cpp: Added.
1639         (WebCore):
1640         (WebCore::NodeInsertingDOMTransactionStep::NodeInsertingDOMTransactionStep):
1641         (WebCore::NodeInsertingDOMTransactionStep::create):
1642         (WebCore::NodeInsertingDOMTransactionStep::unapply):
1643         (WebCore::NodeInsertingDOMTransactionStep::reapply):
1644         (WebCore::NodeRemovingDOMTransactionStep::NodeRemovingDOMTransactionStep):
1645         (WebCore::NodeRemovingDOMTransactionStep::create):
1646         (WebCore::NodeRemovingDOMTransactionStep::unapply):
1647         (WebCore::NodeRemovingDOMTransactionStep::reapply):
1648         (WebCore::DataReplacingDOMTransactionStep::DataReplacingDOMTransactionStep):
1649         (WebCore::DataReplacingDOMTransactionStep::create):
1650         (WebCore::DataReplacingDOMTransactionStep::unapply):
1651         (WebCore::DataReplacingDOMTransactionStep::reapply):
1652         (WebCore::AttrChangingDOMTransactionStep::AttrChangingDOMTransactionStep):
1653         (WebCore::AttrChangingDOMTransactionStep::create):
1654         (WebCore::AttrChangingDOMTransactionStep::unapply):
1655         (WebCore::AttrChangingDOMTransactionStep::reapply):
1656         * editing/DOMTransactionStep.h: Added.
1657         (WebCore):
1658         (DOMTransactionStep):
1659         (WebCore::DOMTransactionStep::~DOMTransactionStep):
1660         (NodeInsertingDOMTransactionStep):
1661         (NodeRemovingDOMTransactionStep):
1662         (DataReplacingDOMTransactionStep):
1663         (AttrChangingDOMTransactionStep):
1664         * editing/UndoManager.cpp:
1665         (WebCore):
1666         (WebCore::UndoManager::isRecordingAutomaticTransaction):
1667         (WebCore::UndoManager::addTransactionStep):
1668         * editing/UndoManager.h:
1669         (WebCore):
1670         (WebCore::UndoManager::setRecordingDOMTransaction):
1671         (UndoManager):
1672
1673 2012-08-21  Shezan Baig  <sbaig1@bloomberg.net>
1674
1675         Fix cross-direction stretch for replaced elements in row flexbox
1676         https://bugs.webkit.org/show_bug.cgi?id=94237
1677
1678         Reviewed by Ojan Vafai.
1679
1680         When stretching, don't take into account the instrinsic size of child
1681         replaced elements. Only the fixed size, min size, and max size of the
1682         child should be taken into account. The logic that computed this was
1683         moved from RenderBox::computeLogicalHeight to a new helper method
1684         called logicalHeightConstrainedByMinMax.  This helper method is now
1685         used from RenderFlexibleBox::applyStretchAlignmentToChild, instead of
1686         using RenderBox::computeLogicalHeight.
1687
1688         A similar change will need to be made for column-flowing flexboxes.
1689         This will be addressed in https://webkit.org/b/94604.
1690
1691         No new tests.  The existing css3/flexbox/flexitem.html test was
1692         extended to cover this case.
1693
1694         * rendering/RenderBox.cpp:
1695         (WebCore::RenderBox::logicalHeightConstrainedByMinMax): New helper
1696         method that is used by RenderBox::computeLogicalHeight and also by
1697         RenderFlexibleBox::applyStretchAlignmentToChild.
1698         (WebCore):
1699         (WebCore::RenderBox::computeLogicalHeight): Updated to use the new
1700         logicalHeightConstrainedByMinMax helper method.
1701         * rendering/RenderBox.h:
1702         (RenderBox):
1703         * rendering/RenderFlexibleBox.cpp:
1704         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Use
1705         logicalHeightConstrainedByMinMax instead of computeLogicalHeight.
1706
1707 2012-08-21  Hayato Ito  <hayato@chromium.org>
1708
1709         Make an event object clonable to support an event propagation across seamless iframes.
1710         https://bugs.webkit.org/show_bug.cgi?id=93678
1711
1712         Reviewed by Dimitri Glazkov.
1713
1714         We should clone an event object when a event propagates across
1715         seamless iframes.  Currently Event and MouseEvent are
1716         supported. Support for other kinds of events will be addressed
1717         later.
1718
1719         This is one of the pre-requirements to support an event
1720         propagation across seamless iframes.
1721
1722         No new tests, no behavior change.
1723
1724         * dom/Event.cpp:
1725         (WebCore::Event::cloneFor):
1726         (WebCore):
1727         * dom/Event.h:
1728         (WebCore):
1729         (Event):
1730         * dom/MouseEvent.cpp:
1731         (WebCore::adjustedClinetX):
1732         (WebCore):
1733         (WebCore::adjustedClinetY):
1734         (WebCore::MouseEvent::cloneFor):
1735         * dom/MouseEvent.h:
1736         (MouseEvent):
1737
1738 2012-08-21  Joshua Bell  <jsbell@chromium.org>
1739
1740         IndexedDB: IDBRequest can be GCd during event dispatch
1741         https://bugs.webkit.org/show_bug.cgi?id=94235
1742
1743         Reviewed by Ojan Vafai.
1744
1745         Avoid a "race" where GC may attempt to reclaim IDB objects that are marked
1746         "done" prior to the completion of the event dispatch. The script runtime
1747         may decide to do a GC pass before calling the event handler, releasing the
1748         object and turning the dispatch into a no-op.
1749
1750         This is a partial reversion (with renames, etc) of r123275, r124842,
1751         and r121492. Added a new test, although it does not exercise the "race"
1752         condition directly.
1753
1754         Test: storage/indexeddb/pending-activity.html
1755               storage/indexeddb/pending-activity-workers.html
1756
1757         * Modules/indexeddb/IDBCursor.cpp:
1758         (WebCore::IDBCursor::close): Let the IDBRequest know it this cursor won't
1759         make it fire again.
1760         * Modules/indexeddb/IDBRequest.cpp:
1761         (WebCore::IDBRequest::IDBRequest): Reintroduce "am I done?" flag.
1762         (WebCore::IDBRequest::finishCursor): Cursors may fire events at the same
1763         IDBRequest repeatedly, so we need to know when they're are really done.
1764         (WebCore):
1765         (WebCore::IDBRequest::hasPendingActivity): Test the flag.
1766         (WebCore::IDBRequest::dispatchEvent): Set the flag.
1767         * Modules/indexeddb/IDBRequest.h:
1768         (IDBRequest):
1769         * Modules/indexeddb/IDBTransaction.cpp:
1770         (WebCore::IDBTransaction::IDBTransaction): Reintroduce "am I done?" flag.
1771         (WebCore::IDBTransaction::hasPendingActivity): Test the flag.
1772         (WebCore::IDBTransaction::dispatchEvent): Set the flag.
1773         * Modules/indexeddb/IDBTransaction.h:
1774
1775 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
1776
1777         Web Inspector: [regression] Settings panel fails to open.
1778         https://bugs.webkit.org/show_bug.cgi?id=94647
1779
1780         Unreviewed: one line JS front-end fix.
1781
1782         * inspector/front-end/ScriptsSearchScope.js:
1783         * inspector/front-end/Settings.js:
1784
1785 2012-08-21  Julien Chaffraix  <jchaffraix@webkit.org>
1786
1787         Crash in RenderTableSection::setCellLogicalWidths
1788         https://bugs.webkit.org/show_bug.cgi?id=94291
1789
1790         Reviewed by Abhishek Arya.
1791
1792         This issue was that splitAnonymousBoxesAroundChild would move a table section
1793         into a newly created table *without* marking it as needing cell recalc. The table
1794         would thus never build its structure to match its sections. The fix is to hop on
1795         the new willBeRemovedFromTree signal so that the section invalidates itself properly.
1796
1797         Test: fast/table/crash-split-table-section-no-cell-recalc.html
1798
1799         * rendering/RenderTableSection.cpp:
1800         (WebCore::RenderTableSection::willBeRemovedFromTree):
1801         * rendering/RenderTableSection.h:
1802         Replaced willBeDestroyed by willBeRemovedFromTree in RenderTableSection. This ensures that it is called
1803         when moving sections in the tree to mark them as needing cell recalc.
1804
1805 2012-08-21  Yoshifumi Inoue  <yosin@chromium.org>
1806
1807         [Forms] multiple fields time input UI should not have two focus ring.
1808         https://bugs.webkit.org/show_bug.cgi?id=94579
1809
1810         Reviewed by Hajime Morita.
1811
1812         This patch adds CSS selectors to override focus style for multiple
1813         fields time input UI.
1814
1815         No new tests. fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
1816         is updated for including focus state appearance.
1817
1818         * css/html.css:
1819         (input::-webkit-datetime-edit-ampm-field:focus): Override default focus appearance.
1820         (input::-webkit-datetime-edit-hour-field:focus): ditto
1821         (input::-webkit-datetime-edit-millisecond-field:focus): ditto
1822         (input::-webkit-datetime-edit-minute-field:focus): ditto
1823         (input::-webkit-datetime-edit-second-field:focus): ditto
1824
1825 2012-08-21  Adam Barth  <abarth@webkit.org>
1826
1827         V8 shouldn't have its own way of printing cross-origin error messages
1828         https://bugs.webkit.org/show_bug.cgi?id=94641
1829
1830         Reviewed by Eric Seidel.
1831
1832         V8 used to re-implement (poorly) the code for printing out an error
1833         message when a same-origin check failed. This patch deletes that code
1834         in favor of just calling the WebCore version of the code. There more to
1835         clean up here, but I had to stop before spidering over the whole
1836         codebase.
1837
1838         * bindings/generic/BindingSecurity.cpp:
1839         (WebCore::canAccessDocument):
1840         * bindings/js/BindingState.cpp:
1841         * bindings/js/BindingState.h:
1842         * bindings/v8/BindingState.cpp:
1843         (WebCore::printErrorMessageForFrame):
1844         * bindings/v8/BindingState.h:
1845         (WebCore):
1846         * bindings/v8/V8DOMWindowShell.cpp:
1847         (WebCore::reportUnsafeJavaScriptAccess):
1848         * bindings/v8/V8Proxy.cpp:
1849         * bindings/v8/V8Proxy.h:
1850         (V8Proxy):
1851
1852 2012-08-21  Shinya Kawanaka  <shinyak@chromium.org>
1853
1854         A shadow element in ShadowDOM of a button element does not work.
1855         https://bugs.webkit.org/show_bug.cgi?id=91486
1856
1857         Reviewed by Dimitri Glazkov.
1858
1859         Since a button element is extended from an HTMLFormControlElement, it creates a UserAgentShadowDOM
1860         just before adding an AuthorShadowDOM. However, actually a button element does not need any UserAgentShadowDOM.
1861         So we have to prevent it from creating UserAgentShadowDOM.
1862
1863         Test: fast/dom/shadow/shadowdom-for-button.html
1864
1865         * html/HTMLButtonElement.cpp:
1866         (WebCore::HTMLButtonElement::willAddAuthorShadowRoot):
1867         (WebCore):
1868         * html/HTMLButtonElement.h:
1869
1870 2012-08-21  Sukolsak Sakshuwong  <sukolsak@google.com>
1871
1872         Remove UndoManager's undoscope content attribute
1873         https://bugs.webkit.org/show_bug.cgi?id=94637
1874
1875         Reviewed by Ryosuke Niwa.
1876
1877         No new tests. Covered by existing tests.
1878
1879         * bindings/v8/DOMTransaction.cpp:
1880         (WebCore::DOMTransaction::callFunction):
1881         * dom/Document.cpp:
1882         (WebCore::Document::undoManager):
1883         * dom/Element.cpp:
1884         (WebCore::Element::~Element):
1885         (WebCore):
1886         * dom/Element.h:
1887         (Element):
1888         * dom/Element.idl:
1889         * dom/ElementRareData.h:
1890         (ElementRareData):
1891         * editing/UndoManager.cpp:
1892         (WebCore::UndoManager::create):
1893         (WebCore::UndoManager::UndoManager):
1894         (WebCore::UndoManager::disconnect):
1895         (WebCore::UndoManager::transact):
1896         (WebCore::UndoManager::undo):
1897         (WebCore::UndoManager::redo):
1898         (WebCore::UndoManager::clearUndo):
1899         (WebCore::UndoManager::clearRedo):
1900         (WebCore):
1901         * editing/UndoManager.h:
1902         (WebCore):
1903         (UndoManager):
1904         (WebCore::UndoManager::document):
1905         (WebCore::UndoManager::ownerNode):
1906         * html/HTMLAttributeNames.in:
1907         * html/HTMLElement.cpp:
1908         (WebCore::HTMLElement::parseAttribute):
1909         (WebCore::HTMLElement::setContentEditable):
1910
1911 2012-08-21  Joanmarie Diggs  <jdiggs@igalia.com>
1912
1913         [Gtk] No accessible caret-moved events found in certain content
1914         https://bugs.webkit.org/show_bug.cgi?id=72811
1915
1916         Reviewed by Chris Fleizach.
1917
1918         Part of the bug is due to objects which should claim to implement AtkText
1919         failed to do so as a result of containing a mixture of inline and block
1920         spans.
1921
1922         An updated unit test was provided.
1923
1924         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1925         (roleIsTextType): New method to check if a role is one expected to have
1926         implemented the AtkText interface. Currently that is defined as:
1927          - ParagraphRole
1928          - HeadingRole
1929          - DivRole
1930          - CellRole
1931         (getInterfaceMaskFromObject): If a role is one of the text type roles,
1932         automatically add WAI_TEXT to the accessible object's interface mask.
1933
1934 2012-08-21  Tony Chang  <tony@chromium.org>
1935
1936         Force XML comments to maintain whitespace
1937         https://bugs.webkit.org/show_bug.cgi?id=94620
1938
1939         Reviewed by Pavel Feldman.
1940
1941         Fix a typo in XMLViewer.css for white-space formatting. This seems
1942         like the desired behavior so you can see, e.g., code formatted in an
1943         XML comment.
1944
1945         Covered by existing xmlviewer tests in http/tests/xmlviewer/dumpAsText
1946
1947         * xml/XMLViewer.css:
1948         (.comment): Fix typo.
1949         * xml/XMLViewer.js:
1950         (createComment): Add style to comment nodes.
1951
1952 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1953
1954         Unreviewed, rolling out r126202.
1955         http://trac.webkit.org/changeset/126202
1956         https://bugs.webkit.org/show_bug.cgi?id=94657
1957
1958         Causes assertion failures on Chromium Linux dbg compositing
1959         layout tests (Requested by dominicc on #webkit).
1960
1961         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1962         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
1963         * platform/graphics/chromium/LayerRendererChromium.cpp:
1964         (WebCore::applyFilters):
1965         (WebCore::LayerRendererChromium::drawRenderPassQuad):
1966         (WebCore::LayerRendererChromium::drawTileQuad):
1967         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
1968         (WebCore::LayerRendererChromium::drawTextureQuad):
1969         (WebCore::LayerRendererChromium::getFramebufferTexture):
1970         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
1971         * platform/graphics/chromium/LayerRendererChromium.h:
1972         (LayerRendererChromium):
1973         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
1974         (WebCore::CCResourceProvider::createResource):
1975         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
1976         (WebCore::CCResourceProvider::deleteResource):
1977         (WebCore::CCResourceProvider::upload):
1978         (WebCore::CCResourceProvider::lockForWrite):
1979         (WebCore::CCResourceProvider::unlockForWrite):
1980         (WebCore::CCResourceProvider::flush):
1981         (WebCore::CCResourceProvider::shallowFlushIfSupported):
1982         (WebCore::CCResourceProvider::lockForRead):
1983         (WebCore::CCResourceProvider::unlockForRead):
1984         (WebCore::CCResourceProvider::CCResourceProvider):
1985         * platform/graphics/chromium/cc/CCResourceProvider.h:
1986         (WebCore):
1987         (CCResourceProvider):
1988         (WebCore::CCResourceProvider::Resource::Resource):
1989         (Resource):
1990         (CCScopedLockResourceForRead):
1991         (WebCore::CCScopedLockResourceForRead::CCScopedLockResourceForRead):
1992         (WebCore::CCScopedLockResourceForRead::~CCScopedLockResourceForRead):
1993         (WebCore::CCScopedLockResourceForRead::textureId):
1994         (CCScopedLockResourceForWrite):
1995         (WebCore::CCScopedLockResourceForWrite::CCScopedLockResourceForWrite):
1996         (WebCore::CCScopedLockResourceForWrite::~CCScopedLockResourceForWrite):
1997         (WebCore::CCScopedLockResourceForWrite::textureId):
1998
1999 2012-08-21  David Grogan  <dgrogan@chromium.org>
2000
2001         IndexedDB: Fire error at request when abort is called in upgradeneeded
2002         https://bugs.webkit.org/show_bug.cgi?id=94402
2003
2004         Reviewed by Tony Chang.
2005
2006         Tests - updated intversion-abort-in-initial-upgradeneeded-expected.txt
2007
2008         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2009         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
2010         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired):
2011         (WebCore):
2012         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
2013         Now that second-half open calls don't get abandoned on the queue, we
2014         can ASSERT that there's at most one of them at any time.
2015
2016         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2017         (IDBDatabaseBackendImpl):
2018         * Modules/indexeddb/IDBRequest.cpp:
2019         (WebCore::IDBRequest::dispatchEvent):
2020         Move setting m_didFireUpgradeNeededEvent before dispatching the event.
2021         If abort is called in the event handler an error event will be
2022         enqueued and ASSERT_WITH_MESSAGE(m_readyState == PENDING ||
2023         m_didFireUpgradeNeededEvent, ...) needs to pass.
2024
2025         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2026         (WebCore::IDBTransactionBackendImpl::abort):
2027         (WebCore::IDBTransactionBackendImpl::commit):
2028
2029 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2030
2031         Unreviewed, rolling out r126233.
2032         http://trac.webkit.org/changeset/126233
2033         https://bugs.webkit.org/show_bug.cgi?id=94656
2034
2035         Broke Chromium Mac build (Requested by dominicc on #webkit).
2036
2037         * CMakeLists.txt:
2038         * GNUmakefile.list.am:
2039         * Target.pri:
2040         * WebCore.gypi:
2041         * WebCore.vcproj/WebCore.vcproj:
2042         * WebCore.xcodeproj/project.pbxproj:
2043         * css/mediaControls.css:
2044         (video::-webkit-media-text-track-display):
2045         * html/shadow/MediaControlElements.cpp:
2046         (RenderTextTrackContainerElement):
2047         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
2048         * html/track/TextTrack.cpp:
2049         * html/track/TextTrack.h:
2050         (TextTrack):
2051         * html/track/TextTrackCue.cpp:
2052         (WebCore::TextTrackCue::TextTrackCue):
2053         (WebCore::TextTrackCue::calculateComputedLinePosition):
2054         (WebCore::TextTrackCue::calculateDisplayParameters):
2055         (WebCore::TextTrackCue::getDisplayTree):
2056         (WebCore::TextTrackCue::getPositionCoordinates):
2057         * html/track/TextTrackCue.h:
2058         (WebCore):
2059         (TextTrackCue):
2060         * rendering/RenderTextTrackCue.cpp: Removed.
2061         * rendering/RenderTextTrackCue.h: Removed.
2062
2063 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2064
2065         [V8] Remove getToStringName() and getToStringTemplate() from V8Binding
2066         https://bugs.webkit.org/show_bug.cgi?id=94573
2067
2068         Reviewed by Adam Barth.
2069
2070         - Remove V8Binding::getToStringName() and V8Binding::getToStringTemplate().
2071
2072         - Replace getToStringName() with String::NewSymbol("toString").
2073
2074         - Fix V8PerIsolateData::getToStringTemplate() so that it caches a persistent
2075         handle of a created FunctionTemplate. Before this patch, a FunctionTemplate
2076         had been created for each toString().
2077
2078         No tests. No change in behavior.
2079
2080         * bindings/v8/V8Binding.cpp:
2081         (WebCore::constructorToString):
2082         * bindings/v8/V8Binding.h:
2083         (WebCore):
2084         * bindings/scripts/CodeGeneratorV8.pm:
2085         (GenerateImplementation):
2086         * bindings/scripts/test/V8/V8Float64Array.cpp:
2087         (WebCore::ConfigureV8Float64ArrayTemplate):
2088         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2089         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2090         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2091         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
2092         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2093         (WebCore::ConfigureV8TestEventConstructorTemplate):
2094         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2095         (WebCore::ConfigureV8TestEventTargetTemplate):
2096         * bindings/scripts/test/V8/V8TestException.cpp:
2097         (WebCore::ConfigureV8TestExceptionTemplate):
2098         * bindings/scripts/test/V8/V8TestInterface.cpp:
2099         (WebCore::ConfigureV8TestInterfaceTemplate):
2100         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2101         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
2102         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2103         (WebCore::ConfigureV8TestNamedConstructorTemplate):
2104         * bindings/scripts/test/V8/V8TestNode.cpp:
2105         (WebCore::ConfigureV8TestNodeTemplate):
2106         * bindings/scripts/test/V8/V8TestObj.cpp:
2107         (WebCore::ConfigureV8TestObjTemplate):
2108         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2109         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
2110         * bindings/v8/V8PerIsolateData.h:
2111         (V8PerIsolateData):
2112
2113 2012-08-21  Arvid Nilsson  <anilsson@rim.com>
2114
2115         [BlackBerry] WebGL Aquarium fails to render
2116         https://bugs.webkit.org/show_bug.cgi?id=94634
2117
2118         The aquarium leaves with a glColorMask(false, false, false, true) which
2119         caused us to fail to blit the color components of the aquarium to the
2120         EGLImage.
2121
2122         Fixed by setting an appropriate color mask for a blit operation.
2123
2124         Reviewed by Yong Li.
2125
2126         No new tests, tested manually.
2127
2128         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
2129         (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
2130
2131 2012-08-21  Victor Carbune  <victor@rosedu.org>
2132
2133         Display a TextTrackCue when snap-to-lines flag is set
2134         https://bugs.webkit.org/show_bug.cgi?id=79751
2135
2136         Reviewed by Tony Chang.
2137
2138         This patch implements rendering functionality for a given text track,
2139         following closer the exact WebVTT specification. There are two new classes
2140         which have been added in order to succesfully cover rendering when of a text
2141         track cue.
2142
2143         RenderTextTrackCue handles the specific rendering algorithm required,
2144         by checking for overlaps with other boxes that are in the same
2145         container (these can be any other boxes, not necessarily other cues,
2146         the video controls, for example).
2147
2148         TextTrackCueBox extends HTMLDivElement and is an intermediate layer
2149         between the renderer class and the actual cue object. Its purpose is
2150         to instantiate the particular renderer and cover all the default CSS
2151         styling that needs to be applied to the cue.
2152
2153         The layout is done in two steps:
2154           - Step 1: Layout the TextTrackCue with default CSS properties set (this is
2155         the TextTrackCueBox decorated with the respective CSS elements)
2156           - Step 2: RenderTextTrackCue adjusts the box position depending on the
2157         parameters of the TextTrackCue object and the overlaps that may occur with
2158         previously positioned cues.
2159
2160         Tests: media/track/track-cue-rendering-horizontal.html
2161                media/track/track-cue-rendering-vertical.html
2162
2163         * CMakeLists.txt: Updated to include RenderTextTrackCue.
2164         * GNUmakefile.list.am: Updated to include RenderTextTrackCue.
2165         * Target.pri: Updated to include RenderTextTrackCue.
2166         * WebCore.gypi: Updated to include RenderTextTrackCue.
2167         * WebCore.vcproj/WebCore.vcproj: Updated to include RenderTextTrackCue.
2168         * WebCore.xcodeproj/project.pbxproj: Updated to include RenderTextTrackCue.
2169         * css/mediaControls.css: Removed unreliable CSS.
2170         (video::-webkit-media-text-track-display): Removed properties.
2171         * html/shadow/MediaControlElements.cpp: Updated to not use the new class.
2172         (RenderTextTrackContainerElement):
2173         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Simplified
2174         the function by moving the check if track is rendered in TextTrack and used
2175         the TextTrackCueBox for cues.
2176         * html/track/TextTrack.cpp: Added a new method.
2177         (WebCore::TextTrack::isRendered): Method that returns whether the track should
2178         be rendered or not.
2179         (WebCore):
2180         * html/track/TextTrack.h: Added the isRendered method.
2181         (TextTrack):
2182         * html/track/TextTrackCue.cpp: Added several helper methods and
2183         the TextTrackCueBox.
2184         (WebCore):
2185         (WebCore::TextTrackCueBox::TextTrackCueBox): The TextTrackCueBox extends
2186         the HTMLDivElement and represents a bridge class between RenderTextTrackCue
2187         and TextTrackCue. This is required as the layout is done in two steps, as
2188         explained on top of the ChangeLog entry.
2189         (WebCore::TextTrackCueBox::getCue): Returns the associated TextTrackCue object.
2190         (WebCore::TextTrackCueBox::applyCSSProperties): Applies a part of the default CSS
2191         properties, as defined by section 3.5.1 of the WebVTT specification.
2192         (WebCore::TextTrackCueBox::shadowPseudoId): Moved the shadow pseudo id.
2193         (WebCore::TextTrackCueBox::createRenderer): Creates the particular renderer.
2194         (WebCore::TextTrackCue::TextTrackCue): Corrected the internal writing mode map.
2195         (WebCore::TextTrackCue::calculateComputedLinePosition): Updated the compute line
2196         position algorithm. This requires, however, a method to consider only rendered
2197         tracks (and therefore will be addressed completely in subsequent changeset).
2198         (WebCore::TextTrackCue::calculateDisplayParameters): Updated and corrected the
2199         computed display parameters to match the current specification.
2200         (WebCore::TextTrackCue::getDisplayTree): Update to use the TextTrackCueBox class
2201         and moved CSS application to the respective class.
2202         (WebCore::TextTrackCue::getPositionCoordinates): Added comment to specify in which
2203         situation this method is used and change visibility to private.
2204         (WebCore::TextTrackCue::getCSSWritingMode): Returns the CSS writing mode corresponding
2205         to the cue writing mode.
2206         (WebCore::TextTrackCue::getCSSSize): Returns the cue width / height (depending on the
2207         writing direction.
2208         (WebCore::TextTrackCue::getCSSPosition): Returns the default display position, that is
2209         used in the first layout step.
2210         * html/track/TextTrackCue.h:
2211         (WebCore):
2212         (TextTrackCueBox):
2213         (WebCore::TextTrackCueBox::create): Initialization method.
2214         (TextTrackCue):
2215         (WebCore::TextTrackCue::getWritingDirection): Helper method to return the internal
2216         values used to represent the writing direction.
2217         * rendering/RenderTextTrackCue.cpp: Added.
2218         (WebCore):
2219         (WebCore::RenderTextTrackCue::RenderTextTrackCue):
2220         (WebCore::RenderTextTrackCue::layout): The rendering steps, as mentioned in
2221         the WebVTT rendering rules. Currently, this treats only the snap-to-lines set
2222         case. It is implemented following closely the spec, and might be subject to
2223         change as discussions on various bugs evolve.
2224         (WebCore::RenderTextTrackCue::initializeLayoutParameters): Steps 1 - 7.
2225         (WebCore::RenderTextTrackCue::placeBoxInDefaultPosition): Steps 8 - 10.
2226         (WebCore::RenderTextTrackCue::isOutside): Inline method to check if the cue is outside.
2227         (WebCore::RenderTextTrackCue::isOverlapping): Inline method to check if the cue overlaps other boxes.
2228         (WebCore::RenderTextTrackCue::shouldSwitchDirection): Step 12.
2229         (WebCore::RenderTextTrackCue::moveBoxesByStep): Step 13.
2230         (WebCore::RenderTextTrackCue::switchDirection): Steps 15 - 18.
2231         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Cue repositioning
2232         for text track cue when the snap to lines flag is set.
2233         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesNotSet): Cue repositioning
2234         for text track cue when the snap to lines flag is not set. Not implemented yet.
2235         * rendering/RenderTextTrackCue.h: Added.
2236         (WebCore):
2237         (RenderTextTrackCue): Rendering class, handling the display of cues.
2238
2239 2012-08-21  Lianghui Chen  <liachen@rim.com>
2240
2241         [BlackBerry] Add RSS content handling support
2242         https://bugs.webkit.org/show_bug.cgi?id=93496
2243
2244         Reviewed by Rob Buis.
2245
2246         Add code to filter RSS content, and properly convert them to HTML
2247         content so they can display nicely, instead of as plain text.
2248
2249         Following modules are included:
2250
2251         RSSFilterStream: the code for detecting RSS content, and controlling
2252         the handling of these content.
2253
2254         RSSParserBase: the base class for the following 3 RSS parser.
2255         RSS10Parser: the code for decoding RSS 1.0 content.
2256         RSS20Parser: the code for decoding RSS 2.0 content.
2257         RSSAtomParser: the code for decoding Atom format RSS content.
2258         RSSGenerator: the code for generating HTML content based on RSS feed.
2259
2260         No new tests as it's not changing how HTML content is handled.
2261
2262         * PlatformBlackBerry.cmake:
2263         * platform/network/blackberry/NetworkJob.cpp:
2264         (WebCore::NetworkJob::initialize):
2265         * platform/network/blackberry/rss/RSS10Parser.cpp: Added.
2266         (WebCore):
2267         (WebCore::RSS10Parser::RSS10Parser):
2268         (WebCore::RSS10Parser::parseBuffer):
2269         (WebCore::RSS10Parser::parseXmlDoc):
2270         (WebCore::RSS10Parser::parseItemBaseAttribute):
2271         (WebCore::RSS10Parser::parseItem):
2272         (WebCore::RSS10Parser::parseFeed):
2273         * platform/network/blackberry/rss/RSS10Parser.h: Added.
2274         (WebCore):
2275         (RSS10Parser):
2276         * platform/network/blackberry/rss/RSS20Parser.cpp: Added.
2277         (WebCore):
2278         (WebCore::RSS20Parser::RSS20Parser):
2279         (WebCore::RSS20Parser::parseBuffer):
2280         (WebCore::RSS20Parser::parseXmlDoc):
2281         (WebCore::RSS20Parser::parseItemBaseAttribute):
2282         (WebCore::RSS20Parser::parseItem):
2283         (WebCore::RSS20Parser::parseFeed):
2284         (WebCore::RSS20Parser::parseEnclosure):
2285         * platform/network/blackberry/rss/RSS20Parser.h: Added.
2286         (WebCore):
2287         (RSS20Parser):
2288         * platform/network/blackberry/rss/RSSAtomParser.cpp: Added.
2289         (WebCore):
2290         (WebCore::isRelativePath):
2291         (WebCore::RSSAtomLink::relType):
2292         (WebCore::RSSAtomParser::RSSAtomParser):
2293         (WebCore::RSSAtomParser::parseBuffer):
2294         (WebCore::RSSAtomParser::parseXmlDoc):
2295         (WebCore::RSSAtomParser::parseItemBaseAttribute):
2296         (WebCore::RSSAtomParser::parseItem):
2297         (WebCore::RSSAtomParser::parseFeed):
2298         (WebCore::RSSAtomParser::parseLink):
2299         (WebCore::RSSAtomParser::enclosureFromLink):
2300         (WebCore::RSSAtomParser::parseContent):
2301         (WebCore::RSSAtomParser::parseAuthor):
2302         (WebCore::RSSAtomParser::parseCategory):
2303         * platform/network/blackberry/rss/RSSAtomParser.h: Added.
2304         (WebCore):
2305         (RSSAtomLink):
2306         (WebCore::RSSAtomLink::RSSAtomLink):
2307         (RSSAtomParser):
2308         * platform/network/blackberry/rss/RSSFilterStream.cpp: Added.
2309         (WebCore):
2310         (WebCore::isASCIISpaceLowerByte):
2311         (WebCore::stripWhiteSpace):
2312         (WebCore::equalIgnoringCase):
2313         (WebCore::isAtomMIMEType):
2314         (WebCore::isRSSMIMEType):
2315         (WebCore::isPotentialRSSMIMEType):
2316         (WebCore::isRSSContent):
2317         (WebCore::RSSTypeFromContentType):
2318         (WebCore::RSSTypeFromContent):
2319         (WebCore::createParser):
2320         (WebCore::findXMLEncodingPosition):
2321         (WebCore::findXMLLanguagePosition):
2322         (WebCore::defaultEncodingForLanguage):
2323         (WebCore::isTranscodingNeeded):
2324         (WebCore::transcode):
2325         (WebCore::transcodeContent):
2326         (WebCore::RSSFilterStream::RSSFilterStream):
2327         (WebCore::RSSFilterStream::notifyStatusReceived):
2328         (WebCore::RSSFilterStream::notifyHeadersReceived):
2329         (WebCore::RSSFilterStream::notifyDataReceived):
2330         (WebCore::RSSFilterStream::notifyClose):
2331         (WebCore::RSSFilterStream::convertContentToHtml):
2332         (WebCore::RSSFilterStream::handleRSSContent):
2333         (WebCore::RSSFilterStream::charset):
2334         (WebCore::RSSFilterStream::encoding):
2335         (WebCore::RSSFilterStream::saveHeaders):
2336         (WebCore::RSSFilterStream::removeHeader):
2337         (WebCore::RSSFilterStream::updateHeader):
2338         (WebCore::RSSFilterStream::updateRSSHeaders):
2339         (WebCore::RSSFilterStream::sendSavedHeaders):
2340         (WebCore::RSSFilterStream::appendData):
2341         * platform/network/blackberry/rss/RSSFilterStream.h: Added.
2342         (WebCore):
2343         (RSSFilterStream):
2344         * platform/network/blackberry/rss/RSSGenerator.cpp: Added.
2345         (WebCore):
2346         (WebCore::RSSGenerator::RSSGenerator):
2347         (WebCore::RSSGenerator::~RSSGenerator):
2348         (WebCore::RSSGenerator::generateHtml):
2349         * platform/network/blackberry/rss/RSSGenerator.h: Added.
2350         (WebCore):
2351         (RSSGenerator):
2352         * platform/network/blackberry/rss/RSSParserBase.cpp: Added.
2353         (WebCore):
2354         (WebCore::RSSEnclosure::RSSEnclosure):
2355         (WebCore::RSSEnclosure::typeInEnum):
2356         (WebCore::RSSEnclosure::suggestedName):
2357         (WebCore::RSSFeed::RSSFeed):
2358         (WebCore::RSSFeed::~RSSFeed):
2359         (WebCore::RSSFeed::clear):
2360         (WebCore::RSSItem::RSSItem):
2361         (WebCore::RSSItem::~RSSItem):
2362         (WebCore::RSSItem::clear):
2363         (WebCore::RSSParserBase::RSSParserBase):
2364         (WebCore::RSSParserBase::~RSSParserBase):
2365         (WebCore::textFromXMLAttr):
2366         (WebCore::textFromXMLNode):
2367         * platform/network/blackberry/rss/RSSParserBase.h: Added.
2368         (WebCore):
2369         (RSSEnclosure):
2370         (RSSItemBase):
2371         (RSSParserBase):
2372
2373 2012-08-21  Andrew Lo  <anlo@rim.com>
2374
2375         [BlackBerry] requestAnimationFrame: Unscheduled display link frames need to be sent to main thread
2376         https://bugs.webkit.org/show_bug.cgi?id=94600
2377
2378         Reviewed by Rob Buis.
2379
2380         http://trac.webkit.org/changeset/116792 implements destroying
2381         DisplayRefreshMonitor after the number of unscheduled frames exceeds 10.
2382
2383         Part of that change involves dispatching to the main thread whether
2384         the frame was scheduled or not.
2385
2386         Make the corresponding change for the BlackBerry port that was made for
2387         DisplayRefreshMonitorMac.cpp.
2388
2389         Tests covered by http://trac.webkit.org/changeset/116792
2390
2391         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
2392         (WebCore::DisplayRefreshMonitor::displayLinkFired):
2393
2394 2012-08-21  Brian Salomon  <bsalomon@google.com>
2395
2396         [Chromium/Skia] Filters should flush the SkCanvas
2397         https://bugs.webkit.org/show_bug.cgi?id=94602
2398
2399         Reviewed by Stephen White.
2400
2401         Adds a SkCanvas::flush call to FilterBufferState::swap() to ensure the textures are updated before they are consumed by the compositor.
2402
2403         Covered by existing css3/filters layout tests.
2404
2405         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
2406
2407 2012-08-21  Lianghui Chen  <liachen@rim.com>
2408
2409         [BlackBerry] Use new method to create socket handle
2410         https://bugs.webkit.org/show_bug.cgi?id=89991
2411
2412         Reviewed by Rob Buis.
2413
2414         Update the way to create SocketStream as the platform API has changed.
2415
2416         No new tests as no change of behaviour, just API change adaptation.
2417
2418         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
2419         (WebCore::SocketStreamHandle::SocketStreamHandle):
2420
2421 2012-08-21  Kentaro Hara  <haraken@chromium.org>
2422
2423         [V8] Move compileScript() from V8Proxy to ScriptSourceCode
2424         https://bugs.webkit.org/show_bug.cgi?id=94561
2425
2426         Reviewed by Adam Barth.
2427
2428         To kill V8Proxy, this patch moves compileScript() from V8Proxy
2429         to ScriptSourceCode. This patch also removes fromWebCoreString().
2430
2431         No tests. No change in behavior.
2432
2433         * UseV8.cmake:
2434         * WebCore.gypi:
2435         * bindings/v8/ScriptController.h:
2436         (ScriptController):
2437         * bindings/v8/ScriptSourceCode.cpp: Added.
2438         (WebCore):
2439         (WebCore::ScriptSourceCode::compileScript):
2440         * bindings/v8/ScriptSourceCode.h:
2441         (ScriptSourceCode):
2442         * bindings/v8/V8Binding.h:
2443         * bindings/v8/V8LazyEventListener.cpp:
2444         (WebCore::V8LazyEventListener::prepareListenerObject):
2445         * bindings/v8/V8Proxy.cpp:
2446         (WebCore::V8Proxy::evaluate):
2447         * bindings/v8/V8Proxy.h:
2448         (V8Proxy):
2449         * bindings/v8/WorkerContextExecutionProxy.cpp:
2450         (WebCore::WorkerContextExecutionProxy::evaluate):
2451         (WebCore::WorkerContextExecutionProxy::runScript):
2452         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2453         (WebCore::V8InjectedScriptHost::getEventListenersCallback):
2454         * bindings/v8/custom/V8MessageEventCustom.cpp:
2455         (WebCore::V8MessageEvent::dataAccessorGetter):
2456         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2457         (WebCore::toV8Object):
2458         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
2459
2460 2012-08-21  Kentaro Hara  <haraken@chromium.org>
2461
2462         [V8] Move toV8Context() from V8Proxy to V8Binding
2463         https://bugs.webkit.org/show_bug.cgi?id=94597
2464
2465         Reviewed by Adam Barth.
2466
2467         To kill V8Proxy, we can move toV8Context() from V8Proxy to V8Binding.
2468
2469         No tests. No change in behavior.
2470
2471         * bindings/v8/V8Binding.cpp:
2472         (WebCore::toV8Context):
2473         (WebCore):
2474         * bindings/v8/V8Binding.h:
2475         (WebCore):
2476         * bindings/v8/V8Proxy.cpp:
2477         * bindings/v8/V8Proxy.h:
2478
2479 2012-08-21  Gabriel Peal  <gpeal@google.com>
2480
2481         Web Inspector: Embeddable Web Inspector
2482         https://bugs.webkit.org/show_bug.cgi?id=91528
2483
2484         Reviewed by Pavel Feldman.
2485
2486         Adds functionality to the inspector such that it is better suited to run embedded in another webpage. It adds the ability to prepopulate the timeline panel with an existing recording among other controls.
2487
2488         * English.lproj/localizedStrings.js:
2489         * inspector/front-end/InspectorFrontendAPI.js:
2490         (InspectorFrontendAPI.dispatchQueryParameters):
2491         (InspectorFrontendAPI.loadTimelineFromURL):
2492         * inspector/front-end/InspectorFrontendHostStub.js:
2493         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
2494         (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
2495         * inspector/front-end/InspectorView.js:
2496         * inspector/front-end/TimelineModel.js:
2497         (WebInspector.TimelineModel.prototype.loadFromURL.onDataReceived):
2498         (WebInspector.TimelineModel.prototype.loadFromURL.parseAndImportData):
2499         (WebInspector.TimelineModel.prototype.loadFromURL.onLoad):
2500         (WebInspector.TimelineModel.prototype.loadFromURL):
2501         * inspector/front-end/TimelinePanel.js:
2502         (WebInspector.TimelinePanel.prototype.loadFromURL):
2503         * inspector/front-end/inspector.js:
2504         (WebInspector._createPanels):
2505         (WebInspector.loaded):
2506         * inspector/front-end/utilities.js:
2507
2508 2012-08-21  Robin Cao  <robin.cao@torchmobile.com.cn>
2509
2510         [BlackBerry] Add support for getUserMedia
2511         https://bugs.webkit.org/show_bug.cgi?id=94591
2512
2513         Reviewed by George Staikos.
2514
2515         Implement getUserMedia feature using the platform API.
2516
2517         Tests in fast/mediastream cover this.
2518
2519         PR #153571
2520
2521         Reviewed internally by George Staikos.
2522
2523         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2524         (WebCore::toWebMediaStreamSource):
2525         (WebCore):
2526         (WebCore::toWebMediaStreamDescriptor):
2527         (WebCore::MediaPlayerPrivate::lookupMediaStream):
2528         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
2529         (MediaPlayerPrivate):
2530
2531 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
2532
2533         Web Inspector: remove DOMNodeRemoved listener from the DefaultTextEditor
2534         https://bugs.webkit.org/show_bug.cgi?id=94592
2535
2536         Reviewed by Yury Semikhatsky.
2537
2538         It seems to be not necessary.
2539
2540         * inspector/front-end/DefaultTextEditor.js:
2541         (WebInspector.TextEditorMainPanel):
2542         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
2543         (WebInspector.TextEditorMainChunk):
2544         (WebInspector.TextEditorMainChunk.prototype.set expanded):
2545
2546 2012-08-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2547
2548         CodeGeneratorInspector.py: Generate guards for type validators
2549         https://bugs.webkit.org/show_bug.cgi?id=94511
2550
2551         Reviewed by Yury Semikhatsky.
2552
2553         Fix regression when building debug and one of the generated types is
2554         disabled by a compile flag. We should generate guards for these type
2555         validators the same way as we are doing on the include headers.
2556
2557         * inspector/CodeGeneratorInspector.py:
2558         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
2559
2560 2012-08-21  Florin Malita  <fmalita@chromium.org>
2561
2562         ASSERT triggered in SVGTRefTargetEventListener::handleEvent()
2563         https://bugs.webkit.org/show_bug.cgi?id=94487
2564
2565         Reviewed by Nikolas Zimmermann.
2566
2567         The current way of tracking tref target elements by id can leave stale event listeners
2568         under certain circumstances. This patch switches to storing a target RefPtr instead
2569         to avoid an id lookup which may not return the original/attached element.
2570
2571         Test: svg/custom/tref-stale-listener-crash.html
2572
2573         * svg/SVGTRefElement.cpp:
2574         (SVGTRefTargetEventListener):
2575         (WebCore::SVGTRefTargetEventListener::isAttached): use m_target instead of an explicit bool.
2576         (WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
2577         (WebCore::SVGTRefTargetEventListener::attach): save a target RefPtr instead of an id.
2578         (WebCore::SVGTRefTargetEventListener::detach): detach the target element directly without
2579         going through a lookup.
2580         (WebCore::SVGTRefTargetEventListener::handleEvent):
2581         (WebCore::SVGTRefElement::updateReferencedText): use an explicit target pointer instead of
2582         the id-based lookup.
2583         (WebCore::SVGTRefElement::buildPendingResource):
2584         * svg/SVGTRefElement.h:
2585         (SVGTRefElement):
2586
2587 2012-08-21  Alexandre Elias  <aelias@google.com>
2588
2589         [chromium] Add software bitmap resources to CCResourceProvider
2590         https://bugs.webkit.org/show_bug.cgi?id=93677
2591
2592         Reviewed by Adrienne Walker.
2593
2594         This adds the ability to CCResourceProvider to use software bitmaps.
2595         They are allocated as plain-old-memory, and exposed as Skia objects.
2596
2597         We want the ResourceProvider to be able to handle different resource
2598         types at the same time.  In practice, a default resource type is
2599         desired for most uses within a single compositor instance, which is
2600         specified by the default resource type.  Default resource types are
2601         expected to be mostly 1-to-1 with CCRenderer types.
2602
2603         New tests added by parametrizing existing CCResourceProvider tests.
2604
2605         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
2606         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
2607         * platform/graphics/chromium/LayerRendererChromium.cpp:
2608         (WebCore::applyFilters):
2609         (WebCore::LayerRendererChromium::drawRenderPassQuad):
2610         (WebCore::LayerRendererChromium::drawTileQuad):
2611         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
2612         (WebCore::LayerRendererChromium::drawTextureQuad):
2613         (WebCore::LayerRendererChromium::getFramebufferTexture):
2614         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
2615         * platform/graphics/chromium/LayerRendererChromium.h:
2616         (DrawingFrame):
2617         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
2618         (WebCore::CCResourceProvider::createResource):
2619         (WebCore):
2620         (WebCore::CCResourceProvider::createGLTexture):
2621         (WebCore::CCResourceProvider::createBitmap):
2622         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
2623         (WebCore::CCResourceProvider::deleteResource):
2624         (WebCore::CCResourceProvider::upload):
2625         (WebCore::CCResourceProvider::flush):
2626         (WebCore::CCResourceProvider::shallowFlushIfSupported):
2627         (WebCore::CCResourceProvider::lockForRead):
2628         (WebCore::CCResourceProvider::unlockForRead):
2629         (WebCore::CCResourceProvider::lockForWrite):
2630         (WebCore::CCResourceProvider::unlockForWrite):
2631         (WebCore::CCResourceProvider::ScopedReadLockGL::ScopedReadLockGL):
2632         (WebCore::CCResourceProvider::ScopedReadLockGL::~ScopedReadLockGL):
2633         (WebCore::CCResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL):
2634         (WebCore::CCResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL):
2635         (WebCore::CCResourceProvider::populateSkBitmapWithResource):
2636         (WebCore::CCResourceProvider::ScopedReadLockSoftware::ScopedReadLockSoftware):
2637         (WebCore::CCResourceProvider::ScopedReadLockSoftware::~ScopedReadLockSoftware):
2638         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware):
2639         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware):
2640         (WebCore::CCResourceProvider::CCResourceProvider):
2641         * platform/graphics/chromium/cc/CCResourceProvider.h:
2642         (WebCore):
2643         (WebCore::CCResourceProvider::setCreationPolicy):
2644         (WebCore::CCResourceProvider::creationPolicy):
2645         (CCResourceProvider):
2646         (ScopedReadLockGL):
2647         (WebCore::CCResourceProvider::ScopedReadLockGL::textureId):
2648         (ScopedWriteLockGL):
2649         (WebCore::CCResourceProvider::ScopedWriteLockGL::textureId):
2650         (ScopedReadLockSoftware):
2651         (WebCore::CCResourceProvider::ScopedReadLockSoftware::skBitmap):
2652         (ScopedWriteLockSoftware):
2653         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::skCanvas):
2654         (Resource):
2655
2656 2012-08-21  Tab Atkins  <tabatkins@google.com>
2657
2658         Track -webkit property usage.
2659         https://bugs.webkit.org/show_bug.cgi?id=93420
2660
2661         Reviewed by Ojan Vafai.
2662
2663         First draft of an attempt to track all usage of -webkit prefixed properties across the web.
2664         This attempt is dumb, but should provide useful data as a first-pass.
2665         I plan to optimize this for better data collection in the future.
2666
2667         No tests added, as this is untestable currently.
2668         It should have zero effect besides histogramming.
2669
2670         * css/CSSParser.cpp:
2671         (WebCore::cssPropertyID):
2672
2673 2012-08-21  Alec Flett  <alecflett@chromium.org>
2674
2675         IndexedDB: remove old update/openCursor glue
2676         https://bugs.webkit.org/show_bug.cgi?id=94378
2677
2678         Reviewed by Tony Chang.
2679
2680         Remove old openCursor and update methods after landing
2681         https://bugs.webkit.org/show_bug.cgi?id=91125 and removing
2682         Chromium-side glue.
2683
2684         No new tests: this code is dead.
2685
2686         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2687         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
2688         (IDBObjectStoreBackendImpl):
2689         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
2690         * inspector/InspectorIndexedDBAgent.cpp:
2691         (WebCore):
2692
2693 2012-08-21  James Robinson  <jamesr@chromium.org>
2694
2695         [chromium] Should be able to destroy a CCLayerTreeHost without manually setting the root layer
2696         https://bugs.webkit.org/show_bug.cgi?id=94631
2697
2698         Reviewed by Adrienne Walker.
2699
2700         In the depths of time when dinosaurs roamed the earth, LayerChromium and CCLayerTreeHost were both reference
2701         counted and there was a cycle between the root LayerChromium and CCLayerTreeHost. This required all users of
2702         CCLayerTreeHost to manually break the cycle by calling setRootLayer(0) before dropping their reference to the
2703         host. Nowadays, CCLayerTreeHost has a single owner and LayerChromiums only have a weak pointer to their host
2704         so we should just do this cleanup ourselves instead of imposing it on callers.
2705
2706         Unit test added to LayerChromiumTest.cpp
2707
2708         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2709         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2710
2711 2012-08-21  Ulan Degenbaev  <ulan@chromium.org>
2712
2713         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer constructed and destructed
2714         https://bugs.webkit.org/show_bug.cgi?id=92993
2715
2716         Reviewed by Kenneth Russell.
2717
2718         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer
2719         is constructed and destructed so that V8's garbage collection
2720         heuristics can account for the memory held by these objects.
2721
2722         * WebCore.gypi:
2723         * bindings/v8/SerializedScriptValue.cpp:
2724         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2725         (WebCore::V8ArrayBufferDeallocationObserver::instance):
2726         (WebCore):
2727         (WebCore::V8ArrayBuffer::constructorCallback):
2728         * bindings/v8/custom/V8ArrayBufferCustom.h: Added.
2729         (WebCore):
2730         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
2731         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2732         (WebCore::constructWebGLArray):
2733         * dom/MessageEvent.cpp:
2734         (WebCore::MessageEvent::MessageEvent):
2735         (WebCore::MessageEvent::initMessageEvent):
2736
2737 2012-08-21  Taiju Tsuiki  <tzik@chromium.org>
2738
2739         Web Inspector: Completion events of InspectorFileSystemAgent should be fired asynchronously.
2740         https://bugs.webkit.org/show_bug.cgi?id=93933
2741
2742         Reviewed by Yury Semikhatsky.
2743
2744         InspectorFileSystemAgent fires completion event too early in error case. It should wait
2745         until JS code is ready.
2746
2747         Test: http/tests/inspector/filesystem/request-directory-content.html
2748               http/tests/inspector/filesystem/request-file-content.html
2749               http/tests/inspector/filesystem/request-metadata.html
2750
2751         * inspector/InspectorFileSystemAgent.cpp:
2752         (WebCore): Add ReportErrorTask class
2753
2754 2012-08-21  Mike West  <mkwst@chromium.org>
2755
2756         Blocking a resource via Content Security Policy should trigger an Error event.
2757         https://bugs.webkit.org/show_bug.cgi?id=89440
2758
2759         Reviewed by Jochen Eisinger.
2760
2761         If a CSP directive is violated, CachedResourceLoader will trigger a
2762         console error, and return a null image. In that case, we now dispatch
2763         an error on the relevant element.
2764
2765         Adjusted http/tests/security/contentSecurityPolicy/image-blocked.html
2766         and http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html
2767         to test the new behavior.
2768
2769         This has the side-effect of also generating errors for images blocked by
2770         Chromium's content settings. Adjusted
2771         platform/chromium/permissionclient/image-permissions.html to agree with
2772         the new behavior.
2773
2774         * loader/ImageLoader.cpp:
2775         (WebCore::ImageLoader::updateFromElement):
2776
2777 2012-08-21  Taiju Tsuiki  <tzik@chromium.org>
2778
2779         Web Inspector: Split out crumb list part of styles from elementsPanel.css
2780         https://bugs.webkit.org/show_bug.cgi?id=94301
2781
2782         Reviewed by Pavel Feldman.
2783
2784         As a preparation to use BreadcrumbList on FileSystem, introduce breadcrumbList.css and
2785         move crumb-related style entries into it from elementsPanel.css.
2786
2787         No new tests. This change does not make functional change.
2788
2789         * WebCore.gypi:
2790         * WebCore.vcproj/WebCore.vcproj:
2791         * inspector/front-end/ElementsPanel.js:
2792         * inspector/front-end/WebKit.qrc:
2793         * inspector/front-end/breadcrumbList.css: Added.
2794         (.crumbs):
2795         (.crumbs .crumb):
2796         (.crumbs .crumb.collapsed > *):
2797         (.crumbs .crumb.collapsed::before):
2798         (.crumbs .crumb.compact .extra):
2799         (.crumbs .crumb.dimmed):
2800         (.crumbs .crumb.start):
2801         (.crumbs .crumb.end):
2802         (.crumbs .crumb.selected):
2803         (.crumbs .crumb.selected:hover):
2804         (.crumbs .crumb.selected.end, .crumbs .crumb.selected.end:hover):
2805         (.crumbs .crumb:hover):
2806         (.crumbs .crumb.dimmed:hover):
2807         (.crumbs .crumb.end:hover):
2808         * inspector/front-end/elementsPanel.css:
2809
2810 2012-08-21  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2811
2812         canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html fails
2813         https://bugs.webkit.org/show_bug.cgi?id=50797
2814
2815         Reviewed by Andreas Kling.
2816
2817         Add a check in fast-path parseAlphaValue() to return early
2818         if the CSS <alphavalue> ended with an invalid digit.
2819
2820         Test: canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html
2821
2822         * css/CSSParser.cpp:
2823         (WebCore::parseAlphaValue):
2824
2825 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
2826
2827         Store CString data in the CStringBuffer to avoid the double indirection
2828         https://bugs.webkit.org/show_bug.cgi?id=94562
2829
2830         Reviewed by Darin Adler.
2831
2832         * bindings/cpp/WebDOMCString.cpp:
2833         (WebDOMCString::length): With the patch, CStringBuffer hold the real string length instead of the
2834         size of the buffer including the terminating zero. WebDOMCString is updated accordingly.
2835
2836 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
2837
2838         Create CSS color output string on 8 bits
2839         https://bugs.webkit.org/show_bug.cgi?id=94625
2840
2841         Reviewed by Andreas Kling.
2842
2843         * css/CSSPrimitiveValue.cpp:
2844         (WebCore::CSSPrimitiveValue::customCssText):
2845         Previously, the output string for a CSS color was computed on 16 bits.
2846         This was mainly forced by the use of String::number().
2847
2848         Since the double to string conversion is done on 8bits anyway, I changed
2849         the code to use dtoa's numberToFixedPrecisionString directly instead of
2850         String::number().
2851         All the other parts were already on 8bits.
2852
2853 2012-08-21  Martin Robinson  <mrobinson@igalia.com>
2854
2855         [GTK] Using a native window for the WebView breaks GtkOverlay
2856         https://bugs.webkit.org/show_bug.cgi?id=90085
2857
2858         Reviewed by Alejandro G. Castro.
2859
2860         No new tests. This will be covered by pixel test for accelerated
2861         compositing when they are activated.
2862
2863         * GNUmakefile.am: Add XComposite libraries to the linker list.
2864         * GNUmakefile.list.am: Add RedirectedXCompositeWindow files to the source list.
2865         Make a new section for GLX specific files.
2866         * platform/graphics/glx/GLContextGLX.cpp:
2867         (WebCore::GLContextGLX::sharedDisplay): Expose sharedDisplay as a static method
2868         so that it can be called by other X11 specific code.
2869         * platform/graphics/glx/GLContextGLX.h: Ditto.
2870         * platform/gtk/RedirectedXCompositeWindow.cpp: Added. An implementation of a GL surface
2871         that renders to an X-window which redirects to a pixmap.
2872         * platform/gtk/RedirectedXCompositeWindow.h: Added.
2873
2874 2012-08-21  David Hyatt  <hyatt@apple.com>
2875
2876         [New Multicolumn] Make column rules paint properly.
2877         https://bugs.webkit.org/show_bug.cgi?id=94616
2878
2879         Reviewed by Simon Fraser.
2880
2881         Make the new multi-column code paint column rules and also prepare it for painting
2882         the actual column contents.
2883
2884         * rendering/RenderMultiColumnBlock.cpp:
2885         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
2886         Remove the addRegionToThread call, since this is now done automatically in RenderRegion::insertedIntoTree.
2887         
2888         * rendering/RenderMultiColumnBlock.h:
2889         (WebCore::RenderMultiColumnBlock::flowThread):
2890         Make public so that RenderMultiColumnSet can access it.
2891         
2892         (RenderMultiColumnBlock):
2893         * rendering/RenderMultiColumnSet.cpp:
2894         (WebCore::RenderMultiColumnSet::columnGap):
2895         Add a column gap fetch method. It's identical to the one on RenderBlock (which will eventually go away
2896         when we kill the old multi-column code).
2897         
2898         (WebCore::RenderMultiColumnSet::columnRectAt):
2899         Also identical to the RenderBlock version of this method. Gets the rect for the nth column.
2900         
2901         (WebCore::RenderMultiColumnSet::paintReplaced):
2902         Subclass paintReplaced in order to do column rules and contents painting.
2903         
2904         (WebCore::RenderMultiColumnSet::paintColumnRules):
2905         (WebCore::RenderMultiColumnSet::paintColumnContents):
2906         Similar to the methods on RenderBlock. The former paints the rules and the latter paints the contents of
2907         the flow thread into the columns.
2908         
2909         * rendering/RenderMultiColumnSet.h:
2910         (RenderMultiColumnSet):
2911         Add the declarations of all the new methods.
2912         
2913         * rendering/RenderRegion.cpp:
2914         (WebCore::RenderRegion::installFlowThread):
2915         Added a new virtual function for installing flow threads when they didn't exist at construction time.
2916         This only applies to actual CSS Regions, so the subclass of the method in RenderRegionSet just does
2917         nothing.
2918         
2919         (WebCore::RenderRegion::attachRegion):
2920         Get the named flow thread code out of attachRegion, since it broke multi-column. Moved it into a
2921         virtual function, installFlowThread, that is only used by actual CSS regions. Eventually we may
2922         want a RenderRegion subclass that represents a region for a named flow thread only, but for now
2923         let the code sit in installFlowThread in the base class.
2924         
2925         * rendering/RenderRegion.h:
2926         (RenderRegion):
2927         Add installFlowThread declaration.
2928         
2929         * rendering/RenderRegionSet.cpp:
2930         (WebCore::RenderRegionSet::installFlowThread):
2931         installFlowThread for region sets just does nothing, since we don't use named flow threads.
2932         
2933         * rendering/RenderRegionSet.h:
2934         (RenderRegionSet):
2935         Add the override of installFlowThread.
2936
2937 2012-08-21  Patrick Gansterer  <paroga@webkit.org>
2938
2939         [WIN] Build fix for !ENABLE(DRAG_SUPPORT).
2940
2941         * page/win/EventHandlerWin.cpp:
2942         (WebCore):
2943         (WebCore::EventHandler::passMouseMoveEventToSubframe):
2944
2945 2012-08-21  James Robinson  <jamesr@chromium.org>
2946
2947         Unreviewed, rolling out r126170.
2948         http://trac.webkit.org/changeset/126170
2949         https://bugs.webkit.org/show_bug.cgi?id=94614
2950
2951         I spoke too soon
2952
2953         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2954         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
2955         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
2956         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
2957         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
2958         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
2959         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
2960         (ScrollingCoordinatorPrivate):
2961         (WebCore::createScrollbarLayer):
2962         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
2963         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
2964         (WebCore::ScrollingCoordinator::setScrollLayer):
2965         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
2966         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
2967         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
2968         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
2969         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
2970         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
2971         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
2972         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
2973         (WebCore::Canvas2DLayerBridge::prepareForDraw):
2974         (WebCore::Canvas2DLayerBridge::layer):
2975         (WebCore::Canvas2DLayerBridge::contextAcquired):
2976         * platform/graphics/chromium/Canvas2DLayerBridge.h:
2977         (Canvas2DLayerBridge):
2978         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2979         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
2980         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
2981         (WebCore::DrawingBufferPrivate::layer):
2982         (DrawingBufferPrivate):
2983         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2984         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2985         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
2986         (WebCore::GraphicsLayerChromium::willBeDestroyed):
2987         (WebCore):
2988         (WebCore::GraphicsLayerChromium::updateNames):
2989         (WebCore::GraphicsLayerChromium::removeFromParent):
2990         (WebCore::GraphicsLayerChromium::setSize):
2991         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
2992         (WebCore::GraphicsLayerChromium::setContentsOpaque):
2993         (WebCore::GraphicsLayerChromium::setFilters):
2994         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
2995         (WebCore::GraphicsLayerChromium::setMaskLayer):
2996         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
2997         (WebCore::GraphicsLayerChromium::setOpacity):
2998         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
2999         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
3000         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
3001         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
3002         (WebCore::GraphicsLayerChromium::setContentsToImage):
3003         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
3004         (WebCore::GraphicsLayerChromium::addAnimation):
3005         (WebCore::GraphicsLayerChromium::pauseAnimation):
3006         (WebCore::GraphicsLayerChromium::removeAnimation):
3007         (WebCore::GraphicsLayerChromium::suspendAnimations):
3008         (WebCore::GraphicsLayerChromium::resumeAnimations):
3009         (WebCore::GraphicsLayerChromium::addLinkHighlight):
3010         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
3011         (WebCore::GraphicsLayerChromium::setContentsToMedia):
3012         (WebCore::GraphicsLayerChromium::primaryLayer):
3013         (WebCore::GraphicsLayerChromium::platformLayer):
3014         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
3015         (WebCore::GraphicsLayerChromium::setDebugBorder):
3016         (WebCore::GraphicsLayerChromium::updateChildList):
3017         (WebCore::GraphicsLayerChromium::updateLayerPosition):
3018         (WebCore::GraphicsLayerChromium::updateLayerSize):
3019         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
3020         (WebCore::GraphicsLayerChromium::updateTransform):
3021         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
3022         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
3023         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
3024         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
3025         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
3026         (WebCore::GraphicsLayerChromium::updateContentsRect):
3027         (WebCore::GraphicsLayerChromium::updateContentsScale):
3028         (WebCore::GraphicsLayerChromium::setupContentsLayer):
3029         * platform/graphics/chromium/GraphicsLayerChromium.h:
3030         (WebCore::GraphicsLayerChromium::hasContentsLayer):
3031         (GraphicsLayerChromium):
3032         (WebCore::GraphicsLayerChromium::contentsLayer):
3033         * platform/graphics/chromium/LayerChromium.cpp:
3034         (WebCore::LayerChromium::rootLayer):
3035         * platform/graphics/chromium/LayerChromium.h:
3036
3037 2012-08-21  Adam Barth  <abarth@webkit.org>
3038
3039         Update run-bindings-tests results after http://trac.webkit.org/changeset/126165
3040
3041         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3042         (WebCore::jsTestActiveDOMObjectExcitingAttr):
3043         (WebCore::jsTestActiveDOMObjectConstructor):
3044         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
3045
3046 2012-08-21  Vincent Scheib  <scheib@chromium.org>
3047
3048         Add parsing logic for allow-pointer-lock to iframe sandbox attribute.
3049         https://bugs.webkit.org/show_bug.cgi?id=94513
3050
3051         Reviewed by Adam Barth.
3052
3053         Pointer lock was previously blocked from all sandboxed iframes.
3054         Parsing the sandbox="allow-pointer-lock" attribute allows pages
3055         to control the feature and enable it in sandboxed iframes.
3056
3057         Tests: http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock.html
3058                http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock.html
3059                http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock.html
3060
3061         * dom/SecurityContext.cpp:
3062         (WebCore::SecurityContext::parseSandboxPolicy):
3063
3064 2012-08-21  James Robinson  <jamesr@chromium.org>
3065
3066         Unreviewed, rolling out r126169.
3067         http://trac.webkit.org/changeset/126169
3068         https://bugs.webkit.org/show_bug.cgi?id=94614
3069
3070         Crashes already fixed downstream
3071
3072         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
3073         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
3074         (ScrollingCoordinatorPrivate):
3075         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
3076         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
3077         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
3078         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
3079         (WebCore::scrollableLayerForGraphicsLayer):
3080         (WebCore):
3081         (WebCore::createScrollbarLayer):
3082         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
3083         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
3084         (WebCore::ScrollingCoordinator::setScrollLayer):
3085         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
3086         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
3087         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
3088         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
3089         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
3090         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
3091         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
3092         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
3093         (WebCore::Canvas2DLayerBridge::prepareForDraw):
3094         (WebCore::Canvas2DLayerBridge::layer):
3095         (WebCore::Canvas2DLayerBridge::contextAcquired):
3096         * platform/graphics/chromium/Canvas2DLayerBridge.h:
3097         (Canvas2DLayerBridge):
3098         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3099         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
3100         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
3101         (WebCore::DrawingBufferPrivate::layer):
3102         (DrawingBufferPrivate):
3103         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3104         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
3105         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
3106         (WebCore::GraphicsLayerChromium::updateNames):
3107         (WebCore::GraphicsLayerChromium::removeFromParent):
3108         (WebCore::GraphicsLayerChromium::setSize):
3109         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
3110         (WebCore::GraphicsLayerChromium::setContentsOpaque):
3111         (WebCore::GraphicsLayerChromium::setFilters):
3112         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
3113         (WebCore::GraphicsLayerChromium::setMaskLayer):
3114         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
3115         (WebCore::GraphicsLayerChromium::setOpacity):
3116         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
3117         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
3118         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
3119         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
3120         (WebCore::GraphicsLayerChromium::setContentsToImage):
3121         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
3122         (WebCore):
3123         (WebCore::GraphicsLayerChromium::setContentsToMedia):
3124         (WebCore::GraphicsLayerChromium::setContentsTo):
3125         (WebCore::GraphicsLayerChromium::addAnimation):
3126         (WebCore::GraphicsLayerChromium::pauseAnimation):
3127         (WebCore::GraphicsLayerChromium::removeAnimation):
3128         (WebCore::GraphicsLayerChromium::suspendAnimations):
3129         (WebCore::GraphicsLayerChromium::resumeAnimations):
3130         (WebCore::GraphicsLayerChromium::addLinkHighlight):
3131         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
3132         (WebCore::GraphicsLayerChromium::platformLayer):
3133         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
3134         (WebCore::GraphicsLayerChromium::setDebugBorder):
3135         (WebCore::GraphicsLayerChromium::updateChildList):
3136         (WebCore::GraphicsLayerChromium::updateLayerPosition):
3137         (WebCore::GraphicsLayerChromium::updateLayerSize):
3138         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
3139         (WebCore::GraphicsLayerChromium::updateTransform):
3140         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
3141         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
3142         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
3143         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
3144         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
3145         (WebCore::GraphicsLayerChromium::updateContentsRect):
3146         (WebCore::GraphicsLayerChromium::updateContentsScale):
3147         (WebCore::GraphicsLayerChromium::setupContentsLayer):
3148         * platform/graphics/chromium/GraphicsLayerChromium.h:
3149         (WebCore::GraphicsLayerChromium::hasContentsLayer):
3150         (WebCore::GraphicsLayerChromium::contentLayer):
3151         (GraphicsLayerChromium):
3152         (WebCore::GraphicsLayerChromium::contentsLayer):
3153         * platform/graphics/chromium/LayerChromium.cpp:
3154         (WebCore::LayerChromium::rootLayer):
3155         * platform/graphics/chromium/LayerChromium.h:
3156
3157 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
3158
3159         Unreviewed, rolling out r126076, r126099, and r126106.
3160         http://trac.webkit.org/changeset/126076
3161         http://trac.webkit.org/changeset/126099
3162         http://trac.webkit.org/changeset/126106
3163         https://bugs.webkit.org/show_bug.cgi?id=94614
3164
3165         Caused crashes during compositor shutdown in Aura builds of
3166         Chromium (Requested by kbr_google on #webkit).
3167
3168         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
3169         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
3170         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
3171         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
3172         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
3173         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
3174         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
3175         (ScrollingCoordinatorPrivate):
3176         (WebCore::createScrollbarLayer):
3177         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
3178         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
3179         (WebCore::ScrollingCoordinator::setScrollLayer):
3180         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
3181         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
3182         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
3183         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
3184         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
3185         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
3186         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
3187         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
3188         (WebCore::Canvas2DLayerBridge::prepareForDraw):
3189         (WebCore::Canvas2DLayerBridge::layer):
3190         (WebCore::Canvas2DLayerBridge::contextAcquired):
3191         * platform/graphics/chromium/Canvas2DLayerBridge.h:
3192         (Canvas2DLayerBridge):
3193         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3194         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
3195         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
3196         (WebCore::DrawingBufferPrivate::layer):
3197         (DrawingBufferPrivate):
3198         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3199         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
3200         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
3201         (WebCore::GraphicsLayerChromium::willBeDestroyed):
3202         (WebCore):
3203         (WebCore::GraphicsLayerChromium::updateNames):
3204         (WebCore::GraphicsLayerChromium::removeFromParent):
3205         (WebCore::GraphicsLayerChromium::setSize):
3206         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
3207         (WebCore::GraphicsLayerChromium::setContentsOpaque):
3208         (WebCore::GraphicsLayerChromium::setFilters):
3209         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
3210         (WebCore::GraphicsLayerChromium::setMaskLayer):
3211         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
3212         (WebCore::GraphicsLayerChromium::setOpacity):
3213         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
3214         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
3215         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
3216         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
3217         (WebCore::GraphicsLayerChromium::setContentsToImage):
3218         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
3219         (WebCore::GraphicsLayerChromium::addAnimation):
3220         (WebCore::GraphicsLayerChromium::pauseAnimation):
3221         (WebCore::GraphicsLayerChromium::removeAnimation):
3222         (WebCore::GraphicsLayerChromium::suspendAnimations):
3223         (WebCore::GraphicsLayerChromium::resumeAnimations):
3224         (WebCore::GraphicsLayerChromium::addLinkHighlight):
3225         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
3226         (WebCore::GraphicsLayerChromium::setContentsToMedia):
3227         (WebCore::GraphicsLayerChromium::primaryLayer):
3228         (WebCore::GraphicsLayerChromium::platformLayer):
3229         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
3230         (WebCore::GraphicsLayerChromium::setDebugBorder):
3231         (WebCore::GraphicsLayerChromium::updateChildList):
3232         (WebCore::GraphicsLayerChromium::updateLayerPosition):
3233         (WebCore::GraphicsLayerChromium::updateLayerSize):
3234         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
3235         (WebCore::GraphicsLayerChromium::updateTransform):
3236         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
3237         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
3238         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
3239         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
3240         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
3241         (WebCore::GraphicsLayerChromium::updateContentsRect):
3242         (WebCore::GraphicsLayerChromium::updateContentsScale):
3243         (WebCore::GraphicsLayerChromium::setupContentsLayer):
3244         * platform/graphics/chromium/GraphicsLayerChromium.h:
3245         (WebCore::GraphicsLayerChromium::hasContentsLayer):
3246         (GraphicsLayerChromium):
3247         (WebCore::GraphicsLayerChromium::contentsLayer):
3248         * platform/graphics/chromium/LayerChromium.cpp:
3249         (WebCore::LayerChromium::rootLayer):
3250         * platform/graphics/chromium/LayerChromium.h:
3251
3252 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
3253
3254         Web Inspector: do not use window's eval in InjectedScript
3255         https://bugs.webkit.org/show_bug.cgi?id=94610
3256
3257         Reviewed by Yury Semikhatsky.
3258
3259         Otherwise, inspector does not work when eval is overriden.
3260
3261         Test: inspector/console/console-eval-fake.html
3262
3263         * bindings/js/JSInjectedScriptHostCustom.cpp:
3264         (WebCore::JSInjectedScriptHost::evaluate):
3265         (WebCore):
3266         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3267         (WebCore::V8InjectedScriptHost::evaluateCallback):
3268         (WebCore):
3269         * inspector/InjectedScriptHost.idl:
3270         * inspector/InjectedScriptSource.js:
3271         (.):
3272
3273 2012-08-21  Adam Barth  <abarth@webkit.org>
3274
3275         Implement JSDOMWindow*::allowsAccessFrom* in terms of BindingSecurity
3276         https://bugs.webkit.org/show_bug.cgi?id=93407
3277
3278         Reviewed by Eric Seidel.
3279
3280         This patch removes allowsAccessFrom and implements the security checks
3281         in terms of shouldAllowAccessToDOMWindow directly.
3282
3283         * bindings/generic/BindingSecurity.cpp:
3284         (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
3285         (WebCore):
3286         * bindings/generic/BindingSecurity.h:
3287         (BindingSecurity):
3288         * bindings/js/JSDOMBinding.cpp:
3289         (WebCore::shouldAllowAccessToFrame):
3290         (WebCore):
3291         (WebCore::shouldAllowAccessToDOMWindow):
3292         * bindings/js/JSDOMBinding.h:
3293         (WebCore):
3294         * bindings/js/JSDOMWindowBase.cpp:
3295         (WebCore::shouldAllowAccessFrom):
3296         (WebCore):
3297         * bindings/js/JSDOMWindowBase.h:
3298         (JSDOMWindowBase):
3299         * bindings/js/JSDOMWindowCustom.cpp:
3300         (WebCore::namedItemGetter):
3301         (WebCore::JSDOMWindow::getOwnPropertySlot):
3302         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
3303         (WebCore::JSDOMWindow::put):
3304         (WebCore::JSDOMWindow::deleteProperty):
3305         (WebCore::JSDOMWindow::getPropertyNames):
3306         (WebCore::JSDOMWindow::getOwnPropertyNames):
3307         (WebCore::JSDOMWindow::defineOwnProperty):
3308         (WebCore::JSDOMWindow::setLocation):
3309         * bindings/js/JSDOMWindowCustom.h:
3310         * bindings/js/JSInjectedScriptManager.cpp:
3311         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
3312         * bindings/objc/WebScriptObject.mm:
3313         (-[WebScriptObject _isSafeScript]):
3314         * bindings/scripts/CodeGeneratorJS.pm:
3315         (GenerateGetOwnPropertyDescriptorBody):
3316         (GenerateImplementation):
3317
3318 2012-08-21  Dan Bernstein  <mitz@apple.com>
3319
3320         <rdar://problem/12104508> TextIterator takes O(n^2) to iterate over n empty blocks
3321         https://bugs.webkit.org/show_bug.cgi?id=94429
3322
3323         Reviewed by Sam Weinig.
3324
3325         No new tests, because behavior is unchanged.
3326
3327         * editing/TextIterator.cpp:
3328         (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Enhanced the check for nodes that
3329         cannot contain VisiblePosition to also check for zero-height blocks.
3330
3331 2012-08-21  'Pavel Feldman'  <pfeldman@chromium.org>
3332
3333         Web Inspector: break on exceptions decoration was lost, restoring.
3334
3335         Not reviewed - a follow up to 126012.
3336
3337         * inspector/front-end/ScriptsPanel.js:
3338         (WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged.get switch):
3339         (WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged):
3340
3341 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
3342
3343         Unreviewed, rolling out r126146.
3344         http://trac.webkit.org/changeset/126146
3345         https://bugs.webkit.org/show_bug.cgi?id=94606
3346
3347         It made all tests assert (Requested by Ossy on #webkit).
3348
3349         * bridge/qt/qt_runtime.cpp:
3350         (JSC::Bindings::prototypeForSignalsAndSlots):
3351         (JSC::Bindings::QtRuntimeMethod::call):
3352         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
3353         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
3354         * bridge/qt/qt_runtime.h:
3355         (QtRuntimeMethod):
3356
3357 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
3358
3359         Unreviewed, rolling out r126150.
3360         http://trac.webkit.org/changeset/126150
3361         https://bugs.webkit.org/show_bug.cgi?id=94605
3362
3363         Breaks 73 layout tests on chromium.webkit builder (Requested
3364         by pfeldman on #webkit).
3365
3366         * UseV8.cmake:
3367         * WebCore.gypi:
3368         * bindings/v8/V8Binding.cpp:
3369         (StringTraits):
3370         (WebCore):
3371         (WebCore::v8StringToWebCoreString):
3372         (WebCore::int32ToWebCoreStringFast):
3373         (WebCore::int32ToWebCoreString):
3374         * bindings/v8/V8Binding.h:
3375         (WebCore):
3376         (V8ParameterBase):
3377         (WebCore::V8ParameterBase::operator String):
3378         (WebCore::V8ParameterBase::operator AtomicString):
3379         (WebCore::V8ParameterBase::V8ParameterBase):
3380         (WebCore::V8ParameterBase::prepareBase):
3381         (WebCore::V8ParameterBase::object):
3382         (WebCore::V8ParameterBase::setString):
3383         (WebCore::V8ParameterBase::toString):
3384         (WebCore::::prepare):
3385         * bindings/v8/V8StringResource.cpp: Removed.
3386         * bindings/v8/V8StringResource.h: Removed.
3387
3388 2012-08-21  Philippe Normand  <pnormand@igalia.com>
3389
3390         Early returns in MediaPlayer setters
3391         https://bugs.webkit.org/show_bug.cgi?id=87304
3392
3393         Calls to the MediaPlayerPrivate implementation can be avoided if
3394         the value to set and the current value are equal.
3395
3396         Reviewed by Eric Carlson.
3397
3398         * platform/graphics/MediaPlayer.cpp:
3399         (WebCore::MediaPlayer::loadWithNextMediaEngine): Once a new
3400         MediaPlayerPrivate has been created propagate the playback rate
3401         value to it, as it is done for some other attributes like preload
3402         or preservePitch.
3403         (WebCore::MediaPlayer::setVolume): Perform action only if current
3404         and new values differ.
3405         (WebCore::MediaPlayer::setMuted): Ditto.
3406         (WebCore::MediaPlayer::setPreservesPitch): Ditto.
3407         (WebCore::MediaPlayer::setSize): Ditto.
3408         (WebCore::MediaPlayer::setVisible): Ditto.
3409         (WebCore::MediaPlayer::setPreload): Ditto.
3410
3411 2012-08-21  Ilya Tikhonovsky  <loislo@chromium.org>
3412
3413         Web Inspector: NMI: OwnPtr<T> was counted as RefPtr<T>
3414         https://bugs.webkit.org/show_bug.cgi?id=94599
3415
3416         Reviewed by Yury Semikhatsky.
3417
3418         * dom/MemoryInstrumentation.h:
3419         (WebCore::MemoryObjectInfo::MemoryObjectInfo):
3420         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
3421         (WebCore::MemoryInstrumentation::addObjectImpl):
3422
3423 2012-08-21  Ilya Tikhonovsky  <loislo@chromium.org>
3424
3425         Web Inspector: NMI: rename addMember&n